diff --git a/install/tpl/server.ini.master b/install/tpl/server.ini.master index 567eb32d9247c839a8e7f1f4d923ef1070fd22a1..49b9e3ce2677aa7a927f2a07cd5df6138f95fd00 100644 --- a/install/tpl/server.ini.master +++ b/install/tpl/server.ini.master @@ -65,6 +65,7 @@ php_ini_path_apache=/etc/php5/apache2/php.ini php_ini_path_cgi=/etc/php5/cgi/php.ini check_apache_config=y enable_sni=y +enable_ip_wildcard=y nginx_cgi_socket=/var/run/fcgiwrap.socket php_fpm_init_script=php5-fpm php_fpm_ini_path=/etc/php5/fpm/php.ini diff --git a/interface/web/admin/form/server_config.tform.php b/interface/web/admin/form/server_config.tform.php index 1ac88b95a1a8da67227739d8f8b19bd092b05e27..09334c74949d286e7f9ad3bf8c6db9fa46da4a6d 100644 --- a/interface/web/admin/form/server_config.tform.php +++ b/interface/web/admin/form/server_config.tform.php @@ -480,6 +480,12 @@ $form["tabs"]['web'] = array( 'default' => 'y', 'value' => array(0 => 'n', 1 => 'y') ), + 'enable_ip_wildcard' => array( + 'datatype' => 'VARCHAR', + 'formtype' => 'CHECKBOX', + 'default' => 'y', + 'value' => array(0 => 'n', 1 => 'y') + ), 'user' => array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', diff --git a/interface/web/admin/lib/lang/en_server_config.lng b/interface/web/admin/lib/lang/en_server_config.lng index cca491ee1a29bfb84e1f5e76ca4fdb6cd68b0930..b14f34dd96ee824c708e4ef812fb0a2d2c842bb1 100644 --- a/interface/web/admin/lib/lang/en_server_config.lng +++ b/interface/web/admin/lib/lang/en_server_config.lng @@ -163,5 +163,6 @@ $wb["php_settings_txt"] = 'PHP Settings'; $wb["apps_vhost_settings_txt"] = 'Apps Vhost Settings'; $wb["awstats_settings_txt"] = 'AWStats Settings'; $wb["firewall_txt"] = 'Firewall'; -$wb["mailbox_quota_stats_txt"] = 'Mailbox quota statistic'; +$wb["mailbox_quota_stats_txt"] = 'Mailbox quota statistics'; +$wb["enable_ip_wildcard_txt"] = 'Enable IP wildcard (*)'; ?> \ No newline at end of file diff --git a/interface/web/admin/templates/server_config_web_edit.htm b/interface/web/admin/templates/server_config_web_edit.htm index f5710faf32c98cd5433416236b69985feef030a0..40750038ba6c7f28588b3b0f6f5187c06062ba5d 100644 --- a/interface/web/admin/templates/server_config_web_edit.htm +++ b/interface/web/admin/templates/server_config_web_edit.htm @@ -85,6 +85,12 @@ +
+

{tmpl_var name='enable_ip_wildcard_txt'}

+
+ {tmpl_var name='enable_ip_wildcard'} +
+
{tmpl_var name='ssl_settings_txt'}
diff --git a/interface/web/sites/ajax_get_ip.php b/interface/web/sites/ajax_get_ip.php index faf775302c75745156235c83bd5567cb958c905b..bca24cc65e5709f2d74346212c753f0cd0b878d2 100644 --- a/interface/web/sites/ajax_get_ip.php +++ b/interface/web/sites/ajax_get_ip.php @@ -33,6 +33,7 @@ require_once('../../lib/app.inc.php'); //* Check permissions for module $app->auth->check_module_permissions('sites'); +$app->uses('getconf'); $server_id = intval($_GET["server_id"]); $client_group_id = intval($_GET["client_group_id"]); @@ -40,23 +41,26 @@ $ip_type = $app->db->quote($_GET['ip_type']); if($_SESSION["s"]["user"]["typ"] == 'admin' or $app->auth->has_clients($_SESSION['s']['user']['userid'])) { + //* Get global web config + $web_config = $app->getconf->get_server_config($server_id, 'web'); + $sql = "SELECT ip_address FROM server_ip WHERE ip_type = '$ip_type' AND server_id = $server_id"; $ips = $app->db->queryAllRecords($sql); // $ip_select = ""; if($ip_type == 'IPv4'){ - $ip_select = "*"; + $ip_select = ($web_config['enable_ip_wildcard'] == 'y')?"*#":""; } else { - $ip_select = ""; + $ip_select = "#"; } if(is_array($ips)) { foreach( $ips as $ip) { //$selected = ($ip["ip_address"] == $this->dataRecord["ip_address"])?'SELECTED':''; - $ip_select .= "#$ip[ip_address]"; + $ip_select .= "$ip[ip_address]#"; } } unset($tmp); unset($ips); } -echo $ip_select; +echo substr($ip_select,0,-1); ?> \ No newline at end of file diff --git a/interface/web/sites/web_domain_edit.php b/interface/web/sites/web_domain_edit.php index 95c3b8b11a9fe23b030db958dbc39452794a79f8..caa2127e9aff49c909c2bba13507c2ebdf7f11d4 100644 --- a/interface/web/sites/web_domain_edit.php +++ b/interface/web/sites/web_domain_edit.php @@ -89,13 +89,17 @@ class page_action extends tform_actions { $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 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"); - + + //* Get global web config + $web_config = $app->getconf->get_server_config($client['default_webserver'], 'web'); + // 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]"); $app->tpl->setVar("server_id",""); @@ -104,7 +108,7 @@ class page_action extends tform_actions { //* Fill the IPv4 select field with the IP addresses that are allowed for this client $sql = "SELECT ip_address FROM server_ip WHERE server_id = ".$client['default_webserver']." AND ip_type = 'IPv4' AND (client_id = 0 OR client_id=".$_SESSION['s']['user']['client_id'].")"; $ips = $app->db->queryAllRecords($sql); - $ip_select = ""; + $ip_select = ($web_config['enable_ip_wildcard'] == 'y')?"":""; //$ip_select = ""; if(is_array($ips)) { foreach( $ips as $ip) { @@ -133,7 +137,6 @@ class page_action extends tform_actions { //PHP Version Selection (FastCGI) $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'){ @@ -163,7 +166,10 @@ class page_action extends tform_actions { // Get the limits of the client $client_group_id = $_SESSION["s"]["user"]["default_group"]; $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"); - + + //* Get global web config + $web_config = $app->getconf->get_server_config($client['default_webserver'], 'web'); + // 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]"); $app->tpl->setVar("server_id",""); @@ -186,7 +192,7 @@ class page_action extends tform_actions { //* Fill the IPv4 select field with the IP addresses that are allowed for this client $sql = "SELECT ip_address FROM server_ip WHERE server_id = ".$client['default_webserver']." AND ip_type = 'IPv4' AND (client_id = 0 OR client_id=".$_SESSION['s']['user']['client_id'].")"; $ips = $app->db->queryAllRecords($sql); - $ip_select = ""; + $ip_select = ($web_config['enable_ip_wildcard'] == 'y')?"":""; //$ip_select = ""; if(is_array($ips)) { foreach( $ips as $ip) { @@ -215,7 +221,6 @@ class page_action extends tform_actions { //PHP Version Selection (FastCGI) $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'){ @@ -255,11 +260,14 @@ class page_action extends tform_actions { $tmp = $app->db->queryOneRecord("SELECT server_id FROM server WHERE web_server = 1 ORDER BY server_name LIMIT 0,1"); $server_id = $tmp['server_id']; } + + //* get global web config + $web_config = $app->getconf->get_server_config($server_id, 'web'); //* Fill the IPv4 select field $sql = "SELECT ip_address FROM server_ip WHERE ip_type = 'IPv4' AND server_id = $server_id"; $ips = $app->db->queryAllRecords($sql); - $ip_select = ""; + $ip_select = ($web_config['enable_ip_wildcard'] == 'y')?"":""; //$ip_select = ""; if(is_array($ips)) { foreach( $ips as $ip) { @@ -288,7 +296,6 @@ class page_action extends tform_actions { //PHP Version Selection (FastCGI) $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'){