From 0d3e95814c9b0dc5d1339d38c23cd7ab33a2e7a9 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Thu, 16 Jun 2016 08:43:08 -0400
Subject: [PATCH] Fixed Issue #3966 Error when Web-IP is '*'
---
interface/web/sites/web_vhost_domain_edit.php | 22 +++++++++++-----------
install/sql/incremental/upd_dev_collection.sql | 10 ++++++++++
interface/web/sites/ajax_get_ip.php | 10 ++++++----
3 files changed, 27 insertions(+), 15 deletions(-)
diff --git a/install/sql/incremental/upd_dev_collection.sql b/install/sql/incremental/upd_dev_collection.sql
index e69de29..13c895c 100644
--- a/install/sql/incremental/upd_dev_collection.sql
+++ b/install/sql/incremental/upd_dev_collection.sql
@@ -0,0 +1,10 @@
+ALTER TABLE `client` CHANGE `web_servers` `web_servers` TEXT NULL DEFAULT NULL;
+ALTER TABLE `client` CHANGE `mail_servers` `mail_servers` TEXT NULL DEFAULT NULL;
+ALTER TABLE `client` CHANGE `xmpp_servers` `xmpp_servers` TEXT NULL DEFAULT NULL;
+ALTER TABLE `client` CHANGE `db_servers` `db_servers` TEXT NULL DEFAULT NULL;
+ALTER TABLE `client` CHANGE `dns_servers` `dns_servers` TEXT NULL DEFAULT NULL;
+UPDATE client SET web_servers = default_webserver WHERE (web_servers = '' OR web_servers IS NULL);
+UPDATE client SET mail_servers = default_mailserver WHERE (mail_servers = '' OR mail_servers IS NULL);
+UPDATE client SET xmpp_servers = default_xmppserver WHERE (xmpp_servers = '' OR xmpp_servers IS NULL);
+UPDATE client SET db_servers = default_dbserver WHERE (db_servers = '' OR db_servers IS NULL);
+UPDATE client SET dns_servers = default_dnsserver WHERE (dns_servers = '' OR dns_servers IS NULL);
\ No newline at end of file
diff --git a/interface/web/sites/ajax_get_ip.php b/interface/web/sites/ajax_get_ip.php
index 205be48..8c83191 100644
--- a/interface/web/sites/ajax_get_ip.php
+++ b/interface/web/sites/ajax_get_ip.php
@@ -39,13 +39,15 @@
$client_group_id = $app->functions->intval($_GET["client_group_id"]);
$ip_type = $_GET['ip_type'];
-if($_SESSION["s"]["user"]["typ"] == 'admin' or $app->auth->has_clients($_SESSION['s']['user']['userid'])) {
+//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');
+
+ $tmp = $app->db->queryOneRecord("SELECT client_id FROM sys_group WHERE groupid = ?", $client_group_id);
+ $sql = "SELECT ip_address FROM server_ip WHERE ip_type = ? AND server_id = ? AND (client_id = 0 OR client_id=?)";
- $sql = "SELECT ip_address FROM server_ip WHERE ip_type = ? AND server_id = ?";
- $ips = $app->db->queryAllRecords($sql, $ip_type, $server_id);
+ $ips = $app->db->queryAllRecords($sql, $ip_type, $server_id, $tmp['groupid']);
// $ip_select = "<option value=''></option>";
if($ip_type == 'IPv4'){
$ip_select = ($web_config['enable_ip_wildcard'] == 'y')?"*#":"";
@@ -60,7 +62,7 @@
}
unset($tmp);
unset($ips);
-}
+//}
echo substr($ip_select, 0, -1);
?>
diff --git a/interface/web/sites/web_vhost_domain_edit.php b/interface/web/sites/web_vhost_domain_edit.php
index ec91daf..6f84357 100644
--- a/interface/web/sites/web_vhost_domain_edit.php
+++ b/interface/web/sites/web_vhost_domain_edit.php
@@ -188,7 +188,7 @@
}
$server_id = intval(@$this->dataRecord["server_id"]);
} else {
- $server_id = (isset($web_servers[0])) ? intval($web_servers[0]['server_id']) : 1;
+ $server_id = (isset($web_servers[0])) ? intval($web_servers[0]['server_id']) : 0;
}
if($app->functions->intval($this->dataRecord["server_id"]) > 0) {
@@ -200,9 +200,9 @@
}
}
- //* 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 IN ? AND ip_type = 'IPv4' AND (client_id = 0 OR client_id=".$_SESSION['s']['user']['client_id'].")";
- $ips = $app->db->queryAllRecords($sql, explode(',', $client['web_servers']));
+ //* Fill the IPv4 select field with the IP addresses that are allowed for this client on the current server
+ $sql = "SELECT ip_address FROM server_ip WHERE server_id = ? AND ip_type = 'IPv4' AND (client_id = 0 OR client_id=".$_SESSION['s']['user']['client_id'].")";
+ $ips = $app->db->queryAllRecords($sql, $server_id);
$ip_select = ($web_config[$server_id]['enable_ip_wildcard'] == 'y')?"<option value='*'>*</option>":"";
//if(!in_array($this->dataRecord["ip_address"], $ips)) $ip_select .= "<option value='".$this->dataRecord["ip_address"]."' SELECTED>".$this->dataRecord["ip_address"]."</option>\r\n";
//$ip_select = "";
@@ -217,8 +217,8 @@
unset($ips);
//* Fill the IPv6 select field with the IP addresses that are allowed for this client
- $sql = "SELECT ip_address FROM server_ip WHERE server_id IN ? AND ip_type = 'IPv6' AND (client_id = 0 OR client_id=?)";
- $ips = $app->db->queryAllRecords($sql, explode(',', $client['web_servers']), $_SESSION['s']['user']['client_id']);
+ $sql = "SELECT ip_address FROM server_ip WHERE server_id = ? AND ip_type = 'IPv6' AND (client_id = 0 OR client_id=?)";
+ $ips = $app->db->queryAllRecords($sql, $server_id, $_SESSION['s']['user']['client_id']);
//$ip_select = ($web_config[$server_id]['enable_ip_wildcard'] == 'y')?"<option value='*'>*</option>":"";
//$ip_select = "";
$ip_select = "<option value=''></option>";
@@ -314,7 +314,7 @@
}
$server_id = intval(@$this->dataRecord["server_id"]);
} else {
- $server_id = (isset($web_servers[0])) ? intval($web_servers[0]['server_id']) : 1;
+ $server_id = (isset($web_servers[0])) ? intval($web_servers[0]['server_id']) : 0;
}
if ($settings['use_domain_module'] != 'y') {
@@ -346,8 +346,8 @@
}
//* 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 IN ? AND ip_type = 'IPv4' AND (client_id = 0 OR client_id=?)";
- $ips = $app->db->queryAllRecords($sql, explode(',', $client['web_servers']), $_SESSION['s']['user']['client_id']);
+ $sql = "SELECT ip_address FROM server_ip WHERE server_id = ? AND ip_type = 'IPv4' AND (client_id = 0 OR client_id=?)";
+ $ips = $app->db->queryAllRecords($sql, $server_id, $_SESSION['s']['user']['client_id']);
$ip_select = ($web_config[$server_id]['enable_ip_wildcard'] == 'y')?"<option value='*'>*</option>":"";
//if(!in_array($this->dataRecord["ip_address"], $ips)) $ip_select .= "<option value='".$this->dataRecord["ip_address"]."' SELECTED>".$this->dataRecord["ip_address"]."</option>\r\n";
//$ip_select = "";
@@ -362,8 +362,8 @@
unset($ips);
//* Fill the IPv6 select field with the IP addresses that are allowed for this client
- $sql = "SELECT ip_address FROM server_ip WHERE server_id IN ? AND ip_type = 'IPv6' AND (client_id = 0 OR client_id=?)";
- $ips = $app->db->queryAllRecords($sql, $client['web_servers'], $_SESSION['s']['user']['client_id']);
+ $sql = "SELECT ip_address FROM server_ip WHERE server_id = ? AND ip_type = 'IPv6' AND (client_id = 0 OR client_id=?)";
+ $ips = $app->db->queryAllRecords($sql, $server_id, $_SESSION['s']['user']['client_id']);
$ip_select = "<option value=''></option>";
//$ip_select = "";
if(is_array($ips)) {
--
Gitblit v1.9.1