From c8cf71f8d56acc757d7a9c7540215c88318f41dd Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Fri, 22 Jan 2010 09:52:22 -0500
Subject: [PATCH] made php open_basdir configurable per website. Added a global default for the .htaccess allow_override setting.
---
interface/web/sites/web_domain_edit.php | 27 ++++++++++++++++++++-------
1 files changed, 20 insertions(+), 7 deletions(-)
diff --git a/interface/web/sites/web_domain_edit.php b/interface/web/sites/web_domain_edit.php
index 5887be6..e874387 100644
--- a/interface/web/sites/web_domain_edit.php
+++ b/interface/web/sites/web_domain_edit.php
@@ -293,11 +293,13 @@
}
// Set the values for document_root, system_user and system_group
- $system_user = 'web'.$this->id;
- $system_group = 'client'.$client_id;
- $document_root = str_replace("[client_id]",$client_id,$document_root);
+ $system_user = $app->db->quote('web'.$this->id);
+ $system_group = $app->db->quote('client'.$client_id);
+ $document_root = $app->db->quote(str_replace("[client_id]",$client_id,$document_root));
+ $php_open_basedir = $app->db->quote(str_replace("[website_path]",$document_root,$web_config["php_open_basedir"]));
+ $htaccess_allow_override = $app->db->quote($web_config["htaccess_allow_override"]);
- $sql = "UPDATE web_domain SET system_user = '$system_user', system_group = '$system_group', document_root = '$document_root' WHERE domain_id = ".$this->id;
+ $sql = "UPDATE web_domain SET system_user = '$system_user', system_group = '$system_group', document_root = '$document_root', allow_override = '$htaccess_allow_override', php_open_basedir = '$php_open_basedir' WHERE domain_id = ".$this->id;
$app->db->query($sql);
}
@@ -372,9 +374,9 @@
if(($_SESSION["s"]["user"]["typ"] == 'admin' || $app->auth->has_clients($_SESSION['s']['user']['userid'])) && isset($this->dataRecord["client_group_id"]) && $this->dataRecord["client_group_id"] != $this->oldDataRecord["client_group_id"]) {
// Set the values for document_root, system_user and system_group
- $system_user = 'web'.$this->id;
- $system_group = 'client'.$client_id;
- $document_root = str_replace("[client_id]",$client_id,$document_root);
+ $system_user = $app->db->quote('web'.$this->id);
+ $system_group = $app->db->quote('client'.$client_id);
+ $document_root = $app->db->quote(str_replace("[client_id]",$client_id,$document_root));
$sql = "UPDATE web_domain SET system_user = '$system_user', system_group = '$system_group', document_root = '$document_root' WHERE domain_id = ".$this->id;
//$sql = "UPDATE web_domain SET system_user = '$system_user', system_group = '$system_group' WHERE domain_id = ".$this->id;
@@ -393,6 +395,17 @@
unset($subdomain);
}
+ //* Set allow_override and php_open_basedir if empty
+ if($web_rec['allow_override'] == '') {
+ $sql = "UPDATE web_domain SET allow_override = '".$app->db->quote($web_config["htaccess_allow_override"])."' WHERE domain_id = ".$this->id;
+ $app->db->query($sql);
+ }
+ if($web_rec['php_open_basedir'] == '') {
+ $php_open_basedir = $app->db->quote(str_replace("[website_path]",$document_root,$web_config["php_open_basedir"]));
+ $sql = "UPDATE web_domain SET php_open_basedir = '$php_open_basedir' WHERE domain_id = ".$this->id;
+ $app->db->query($sql);
+ }
+
}
function onAfterDelete() {
--
Gitblit v1.9.1