From 2cb1563f63386b35a69e460051aa9b4a2851d104 Mon Sep 17 00:00:00 2001 From: ftimme <ft@falkotimme.com> Date: Wed, 30 May 2012 07:30:44 -0400 Subject: [PATCH] - Added (clickable) placeholders to client messaging function. - Added check so that the client password isn't inserted into the message (for security reasons). --- interface/web/sites/web_domain_edit.php | 86 +++++++++++++++++++++++++++++++++---------- 1 files changed, 66 insertions(+), 20 deletions(-) diff --git a/interface/web/sites/web_domain_edit.php b/interface/web/sites/web_domain_edit.php index a372a5b..95c3b8b 100644 --- a/interface/web/sites/web_domain_edit.php +++ b/interface/web/sites/web_domain_edit.php @@ -86,13 +86,15 @@ function onShowEnd() { global $app, $conf; + + $app->uses('ini_parser,getconf'); //* Client: If the logged in user is not admin and has no sub clients (no reseller) if($_SESSION["s"]["user"]["typ"] != 'admin' && !$app->auth->has_clients($_SESSION['s']['user']['userid'])) { // Get the limits of the client $client_group_id = $_SESSION["s"]["user"]["default_group"]; - $client = $app->db->queryOneRecord("SELECT limit_web_domain, default_webserver FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id"); + $client = $app->db->queryOneRecord("SELECT client.limit_web_domain, client.default_webserver FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id"); // Set the webserver to the default server of the client $tmp = $app->db->queryOneRecord("SELECT server_name FROM server WHERE server_id = $client[default_webserver]"); @@ -130,12 +132,24 @@ 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); + $server_type = 'apache'; + $web_config = $app->getconf->get_server_config($client['default_webserver'], 'web'); + if(!empty($web_config['server_type'])) $server_type = $web_config['server_type']; + if($server_type == 'nginx' && $this->dataRecord['php'] == 'fast-cgi') $this->dataRecord['php'] = 'php-fpm'; + if($this->dataRecord['php'] == 'php-fpm'){ + $php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fpm_init_script != '' AND php_fpm_ini_dir != '' AND php_fpm_pool_dir != '' AND server_id = ".$client['default_webserver']." AND (client_id = 0 OR client_id=".$_SESSION['s']['user']['client_id'].")"); + } + if($this->dataRecord['php'] == 'fast-cgi'){ + $php_records = $app->db->queryAllRecords("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_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']; + if($this->dataRecord['php'] == 'php-fpm'){ + $php_version = $php_record['name'].':'.$php_record['php_fpm_init_script'].':'.$php_record['php_fpm_ini_dir'].':'.$php_record['php_fpm_pool_dir']; + } else { + $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"; } @@ -148,7 +162,7 @@ // Get the limits of the client $client_group_id = $_SESSION["s"]["user"]["default_group"]; - $client = $app->db->queryOneRecord("SELECT client.client_id, limit_web_domain, default_webserver, client.contact_name FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id"); + $client = $app->db->queryOneRecord("SELECT client.client_id, client.limit_web_domain, client.default_webserver, client.contact_name, CONCAT(client.company_name,' :: ',client.contact_name) as contactname, sys_group.name FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id"); // Set the webserver to the default server of the client $tmp = $app->db->queryOneRecord("SELECT server_name FROM server WHERE server_id = $client[default_webserver]"); @@ -156,15 +170,15 @@ unset($tmp); // Fill the client select field - $sql = "SELECT groupid, name FROM sys_group, client WHERE sys_group.client_id = client.client_id AND client.parent_client_id = ".$client['client_id']." ORDER BY name"; + $sql = "SELECT sys_group.groupid, sys_group.name, CONCAT(client.company_name,' :: ',client.contact_name) as contactname FROM sys_group, client WHERE sys_group.client_id = client.client_id AND client.parent_client_id = ".$client['client_id']." ORDER BY sys_group.name"; $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>'; + $client_select = '<option value="'.$tmp['groupid'].'">'.$client['name'].' :: '.$client['contactname'].'</option>'; //$tmp_data_record = $app->tform->getDataRecord($this->id); if(is_array($records)) { foreach( $records as $rec) { $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"; + $client_select .= "<option value='$rec[groupid]' $selected>$rec[name] :: $rec[contactname]</option>\r\n"; } } $app->tpl->setVar("client_group_id",$client_select); @@ -200,12 +214,24 @@ 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); + $server_type = 'apache'; + $web_config = $app->getconf->get_server_config($client['default_webserver'], 'web'); + if(!empty($web_config['server_type'])) $server_type = $web_config['server_type']; + if($server_type == 'nginx' && $this->dataRecord['php'] == 'fast-cgi') $this->dataRecord['php'] = 'php-fpm'; + if($this->dataRecord['php'] == 'php-fpm'){ + $php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fpm_init_script != '' AND php_fpm_ini_dir != '' AND php_fpm_pool_dir != '' AND server_id = ".$client['default_webserver']." AND (client_id = 0 OR client_id=".$_SESSION['s']['user']['client_id'].")"); + } + if($this->dataRecord['php'] == 'fast-cgi') { + $php_records = $app->db->queryAllRecords("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_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']; + if($this->dataRecord['php'] == 'php-fpm'){ + $php_version = $php_record['name'].':'.$php_record['php_fpm_init_script'].':'.$php_record['php_fpm_ini_dir'].':'.$php_record['php_fpm_pool_dir']; + } else { + $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"; } @@ -218,6 +244,11 @@ // The user is admin, so we fill in all IP addresses of the server if($this->id > 0) { + if(!isset($this->dataRecord["server_id"])){ + $tmp = $app->db->queryOneRecord("SELECT server_id FROM web_domain WHERE domain_id = ".intval($this->id)); + $this->dataRecord["server_id"] = $tmp["server_id"]; + unset($tmp); + } $server_id = @$this->dataRecord["server_id"]; } else { // Get the first server ID @@ -256,12 +287,24 @@ 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); + $server_type = 'apache'; + $web_config = $app->getconf->get_server_config($server_id, 'web'); + if(!empty($web_config['server_type'])) $server_type = $web_config['server_type']; + if($server_type == 'nginx' && $this->dataRecord['php'] == 'fast-cgi') $this->dataRecord['php'] = 'php-fpm'; + if($this->dataRecord['php'] == 'php-fpm'){ + $php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fpm_init_script != '' AND php_fpm_ini_dir != '' AND php_fpm_pool_dir != '' AND server_id = $server_id"); + } + if($this->dataRecord['php'] == 'fast-cgi') { + $php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fastcgi_binary != '' AND php_fastcgi_ini_dir != '' AND server_id = $server_id"); + } $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']; + if($this->dataRecord['php'] == 'php-fpm'){ + $php_version = $php_record['name'].':'.$php_record['php_fpm_init_script'].':'.$php_record['php_fpm_ini_dir'].':'.$php_record['php_fpm_pool_dir']; + } else { + $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"; } @@ -270,7 +313,7 @@ unset($php_records); // Fill the client select field - $sql = "SELECT groupid, name FROM sys_group WHERE client_id > 0 ORDER BY name"; + $sql = "SELECT sys_group.groupid, sys_group.name, CONCAT(client.company_name,' :: ',client.contact_name) as contactname FROM sys_group, client WHERE sys_group.client_id = client.client_id AND sys_group.client_id > 0 ORDER BY sys_group.name"; $clients = $app->db->queryAllRecords($sql); $client_select = "<option value='0'></option>"; //$tmp_data_record = $app->tform->getDataRecord($this->id); @@ -278,7 +321,7 @@ foreach( $clients as $client) { //$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"; + $client_select .= "<option value='$client[groupid]' $selected>$client[name] :: $client[contactname]</option>\r\n"; } } $app->tpl->setVar("client_group_id",$client_select); @@ -314,7 +357,6 @@ * Now we have to check, if we should use the domain-module to select the domain * or not */ - $app->uses('ini_parser,getconf'); $settings = $app->getconf->get_global_config('domains'); if ($settings['use_domain_module'] == 'y') { /* @@ -476,7 +518,7 @@ } // 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(isset($this->dataRecord['pm_max_children']) && $this->dataRecord['pm'] == 'dynamic') { 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 { @@ -611,10 +653,14 @@ $client_group_id = $_SESSION["s"]["user"]["default_group"]; $client = $app->db->queryOneRecord("SELECT client_id FROM sys_group WHERE sys_group.groupid = $client_group_id"); $client_id = intval($client["client_id"]); - } else { - //$client_id = intval(@$web_rec["client_group_id"]); + } elseif (isset($this->dataRecord["client_group_id"])) { + $client_group_id = $this->dataRecord["client_group_id"]; $client = $app->db->queryOneRecord("SELECT client_id FROM sys_group WHERE sys_group.groupid = ".intval(@$this->dataRecord["client_group_id"])); $client_id = intval($client["client_id"]); + } else { + $client_group_id = $web_rec['sys_groupid']; + $client = $app->db->queryOneRecord("SELECT client_id FROM sys_group WHERE sys_group.groupid = ".intval($client_group_id)); + $client_id = intval($client["client_id"]); } 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["sys_groupid"]) { -- Gitblit v1.9.1