From f0ed72bf69ac76b872d8040d85efaf5b0c51040a Mon Sep 17 00:00:00 2001 From: ftimme <ft@falkotimme.com> Date: Wed, 07 Mar 2012 09:57:53 -0500 Subject: [PATCH] - JavaScript: Removed reloadFastcgiPHPVersions() function from #php change event. --- interface/web/sites/web_domain_edit.php | 107 ++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 93 insertions(+), 14 deletions(-) diff --git a/interface/web/sites/web_domain_edit.php b/interface/web/sites/web_domain_edit.php index 13af0a1..4d70e89 100644 --- a/interface/web/sites/web_domain_edit.php +++ b/interface/web/sites/web_domain_edit.php @@ -50,7 +50,7 @@ class page_action extends tform_actions { - // Returna a "3/2/1" path hash from a numeric id '123' + //* Returna a "3/2/1" path hash from a numeric id '123' function id_hash($id,$levels) { $hash = "" . $id % 10 ; $id /= 10 ; @@ -74,6 +74,11 @@ if(!$app->tform->checkResellerLimit('limit_web_domain',"type = 'vhost'")) { $app->error('Reseller: '.$app->tform->wordbook["limit_web_domain_txt"]); } + + // Get the limits of the client + $client_group_id = $_SESSION["s"]["user"]["default_group"]; + $client = $app->db->queryOneRecord("SELECT client.default_webserver FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id"); + $app->tpl->setVar("server_id_value", $client['default_webserver']); } parent::onShowNew(); @@ -123,6 +128,20 @@ $app->tpl->setVar("ipv6_address",$ip_select); unset($tmp); unset($ips); + + //PHP Version Selection (FastCGI) + $sql = "SELECT * FROM server_php WHERE php_fastcgi_binary != '' AND php_fastcgi_ini_dir != '' AND server_id = ".$client['default_webserver']." AND (client_id = 0 OR client_id=".$_SESSION['s']['user']['client_id'].")"; + $php_records = $app->db->queryAllRecords($sql); + $php_select = "<option value=''>Default</option>"; + if(is_array($php_records) && !empty($php_records)) { + foreach( $php_records as $php_record) { + $php_version = $php_record['name'].':'.$php_record['php_fastcgi_binary'].':'.$php_record['php_fastcgi_ini_dir']; + $selected = ($php_version == $this->dataRecord["fastcgi_php_version"])?'SELECTED':''; + $php_select .= "<option value='$php_version' $selected>".$php_record['name']."</option>\r\n"; + } + } + $app->tpl->setVar("fastcgi_php_version",$php_select); + unset($php_records); //* Reseller: If the logged in user is not admin and has sub clients (is a reseller) } elseif ($_SESSION["s"]["user"]["typ"] != 'admin' && $app->auth->has_clients($_SESSION['s']['user']['userid'])) { @@ -141,10 +160,10 @@ $records = $app->db->queryAllRecords($sql); $tmp = $app->db->queryOneRecord("SELECT groupid FROM sys_group WHERE client_id = ".$client['client_id']); $client_select = '<option value="'.$tmp['groupid'].'">'.$client['contact_name'].'</option>'; - $tmp_data_record = $app->tform->getDataRecord($this->id); + //$tmp_data_record = $app->tform->getDataRecord($this->id); if(is_array($records)) { foreach( $records as $rec) { - $selected = @($rec["groupid"] == $tmp_data_record["sys_groupid"])?'SELECTED':''; + $selected = @(is_array($this->dataRecord) && ($rec["groupid"] == $this->dataRecord['client_group_id'] || $rec["groupid"] == $this->dataRecord['sys_groupid']))?'SELECTED':''; $client_select .= "<option value='$rec[groupid]' $selected>$rec[name]</option>\r\n"; } } @@ -179,6 +198,20 @@ $app->tpl->setVar("ipv6_address",$ip_select); unset($tmp); unset($ips); + + //PHP Version Selection (FastCGI) + $sql = "SELECT * FROM server_php WHERE php_fastcgi_binary != '' AND php_fastcgi_ini_dir != '' AND server_id = ".$client['default_webserver']." AND (client_id = 0 OR client_id=".$_SESSION['s']['user']['client_id'].")"; + $php_records = $app->db->queryAllRecords($sql); + $php_select = "<option value=''>Default</option>"; + if(is_array($php_records) && !empty($php_records)) { + foreach( $php_records as $php_record) { + $php_version = $php_record['name'].':'.$php_record['php_fastcgi_binary'].':'.$php_record['php_fastcgi_ini_dir']; + $selected = ($php_version == $this->dataRecord["fastcgi_php_version"])?'SELECTED':''; + $php_select .= "<option value='$php_version' $selected>".$php_record['name']."</option>\r\n"; + } + } + $app->tpl->setVar("fastcgi_php_version",$php_select); + unset($php_records); //* Admin: If the logged in user is admin } else { @@ -221,15 +254,30 @@ $app->tpl->setVar("ipv6_address",$ip_select); unset($tmp); unset($ips); + + //PHP Version Selection (FastCGI) + $sql = "SELECT * FROM server_php WHERE php_fastcgi_binary != '' AND php_fastcgi_ini_dir != '' AND server_id = $server_id"; + $php_records = $app->db->queryAllRecords($sql); + $php_select = "<option value=''>Default</option>"; + if(is_array($php_records) && !empty($php_records)) { + foreach( $php_records as $php_record) { + $php_version = $php_record['name'].':'.$php_record['php_fastcgi_binary'].':'.$php_record['php_fastcgi_ini_dir']; + $selected = ($php_version == $this->dataRecord["fastcgi_php_version"])?'SELECTED':''; + $php_select .= "<option value='$php_version' $selected>".$php_record['name']."</option>\r\n"; + } + } + $app->tpl->setVar("fastcgi_php_version",$php_select); + unset($php_records); // Fill the client select field $sql = "SELECT groupid, name FROM sys_group WHERE client_id > 0 ORDER BY name"; $clients = $app->db->queryAllRecords($sql); $client_select = "<option value='0'></option>"; - $tmp_data_record = $app->tform->getDataRecord($this->id); + //$tmp_data_record = $app->tform->getDataRecord($this->id); if(is_array($clients)) { foreach( $clients as $client) { - $selected = @($client["groupid"] == $tmp_data_record["sys_groupid"])?'SELECTED':''; + //$selected = @($client["groupid"] == $tmp_data_record["sys_groupid"])?'SELECTED':''; + $selected = @(is_array($this->dataRecord) && ($client["groupid"] == $this->dataRecord['client_group_id'] || $client["groupid"] == $this->dataRecord['sys_groupid']))?'SELECTED':''; $client_select .= "<option value='$client[groupid]' $selected>$client[name]</option>\r\n"; } } @@ -418,15 +466,23 @@ if(isset($this->dataRecord["domain"])) $this->dataRecord["domain"] = strtolower($this->dataRecord["domain"]); //* get the server config for this server - $app->uses("getconf"); - $web_config = $app->getconf->get_server_config(intval($this->dataRecord["server_id"]),'web'); - //* Check for duplicate ssl certs per IP if SNI is disabled - if(isset($this->dataRecord['ssl']) && $this->dataRecord['ssl'] == 'y' && $web_config['enable_sni'] != 'y') { - $sql = "SELECT count(domain_id) as number FROM web_domain WHERE `ssl` = 'y' AND ip_address = '".$app->db->quote($this->dataRecord['ip_address'])."' and domain_id != ".$this->id; - $tmp = $app->db->queryOneRecord($sql); - if($tmp['number'] > 0) $app->tform->errorMessage .= $app->tform->lng("error_no_sni_txt"); - } + $app->uses("getconf"); + $web_config = $app->getconf->get_server_config(intval($this->dataRecord["server_id"]),'web'); + //* Check for duplicate ssl certs per IP if SNI is disabled + if(isset($this->dataRecord['ssl']) && $this->dataRecord['ssl'] == 'y' && $web_config['enable_sni'] != 'y') { + $sql = "SELECT count(domain_id) as number FROM web_domain WHERE `ssl` = 'y' AND ip_address = '".$app->db->quote($this->dataRecord['ip_address'])."' and domain_id != ".$this->id; + $tmp = $app->db->queryOneRecord($sql); + if($tmp['number'] > 0) $app->tform->errorMessage .= $app->tform->lng("error_no_sni_txt"); + } + // Check if pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0 + if(isset($this->dataRecord['pm_max_children'])) { + if(intval($this->dataRecord['pm_max_children']) >= intval($this->dataRecord['pm_max_spare_servers']) && intval($this->dataRecord['pm_max_spare_servers']) >= intval($this->dataRecord['pm_start_servers']) && intval($this->dataRecord['pm_start_servers']) >= intval($this->dataRecord['pm_min_spare_servers']) && intval($this->dataRecord['pm_min_spare_servers']) > 0){ + + } else { + $app->tform->errorMessage .= $app->tform->lng("error_php_fpm_pm_settings_txt").'<br>'; + } + } parent::onSubmit(); } @@ -528,7 +584,7 @@ function onAfterUpdate() { global $app, $conf; - // make sure that the record belongs to the clinet group and not the admin group when a admin inserts it + // make sure that the record belongs to the client group and not the admin group when a admin inserts it // also make sure that the user can not delete domain created by a admin if($_SESSION["s"]["user"]["typ"] == 'admin' && isset($this->dataRecord["client_group_id"])) { $client_group_id = intval($this->dataRecord["client_group_id"]); @@ -598,6 +654,14 @@ } unset($records); unset($rec); + + //* Update all databases + $records = $app->db->queryAllRecords("SELECT database_id FROM web_database WHERE parent_domain_id = ".$this->id); + foreach($records as $rec) { + $app->db->datalogUpdate('web_database', "sys_userid = '".$web_rec['sys_userid']."', sys_groupid = '".$web_rec['sys_groupid']."'", 'database_id', $rec['database_id']); + } + unset($records); + unset($rec); } @@ -629,6 +693,21 @@ $sql = "UPDATE web_domain SET php_open_basedir = '$php_open_basedir' WHERE domain_id = ".$this->id; $app->db->query($sql); } + + //* Change database backup options when web backup options have been changed + if(isset($this->dataRecord['backup_interval']) && ($this->dataRecord['backup_interval'] != $this->oldDataRecord['backup_interval'] || $this->dataRecord['backup_copies'] != $this->oldDataRecord['backup_copies'])) { + //* Update all databases + $backup_interval = $this->dataRecord['backup_interval']; + $backup_copies = $this->dataRecord['backup_copies']; + $records = $app->db->queryAllRecords("SELECT database_id FROM web_database WHERE parent_domain_id = ".$this->id); + foreach($records as $rec) { + $app->db->datalogUpdate('web_database', "backup_interval = '$backup_interval', backup_copies = '$backup_copies'", 'database_id', $rec['database_id']); + } + unset($records); + unset($rec); + unset($backup_copies); + unset($backup_interval); + } } -- Gitblit v1.9.1