From a7bdf8d0bfd77eb99f1972dd41f04a068212361a Mon Sep 17 00:00:00 2001 From: tbrehm <t.brehm@ispconfig.org> Date: Thu, 22 Sep 2011 07:32:33 -0400 Subject: [PATCH] Implemented: FS#334 - IPv6 support Implemented: FS#1113 - Force client to use only allowed IPs --- interface/web/sites/web_domain_edit.php | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 52 insertions(+), 6 deletions(-) diff --git a/interface/web/sites/web_domain_edit.php b/interface/web/sites/web_domain_edit.php index b552a64..ee865c5 100644 --- a/interface/web/sites/web_domain_edit.php +++ b/interface/web/sites/web_domain_edit.php @@ -94,8 +94,8 @@ $app->tpl->setVar("server_id","<option value='$client[default_webserver]'>$tmp[server_name]</option>"); unset($tmp); - // Fill the IP 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 client_id=0 OR client_id=".$_SESSION['s']['user']['client_id']; + //* 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 = "<option value='*'>*</option>"; //$ip_select = ""; @@ -106,6 +106,21 @@ } } $app->tpl->setVar("ip_address",$ip_select); + unset($tmp); + 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 = ".$client['default_webserver']." AND ip_type = 'IPv6' AND (client_id = 0 OR client_id=".$_SESSION['s']['user']['client_id'].")"; + $ips = $app->db->queryAllRecords($sql); + $ip_select = "<option value=''></option>"; + //$ip_select = ""; + if(is_array($ips)) { + foreach( $ips as $ip) { + $selected = ($ip["ip_address"] == $this->dataRecord["ipv6_address"])?'SELECTED':''; + $ip_select .= "<option value='$ip[ip_address]' $selected>$ip[ip_address]</option>\r\n"; + } + } + $app->tpl->setVar("ipv6_address",$ip_select); unset($tmp); unset($ips); @@ -135,8 +150,8 @@ } $app->tpl->setVar("client_group_id",$client_select); - // Fill the IP 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 client_id=0 OR client_id=".$_SESSION['s']['user']['client_id']; + //* 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 = "<option value='*'>*</option>"; //$ip_select = ""; @@ -147,6 +162,21 @@ } } $app->tpl->setVar("ip_address",$ip_select); + unset($tmp); + 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 = ".$client['default_webserver']." AND ip_type = 'IPv6' AND (client_id = 0 OR client_id=".$_SESSION['s']['user']['client_id'].")"; + $ips = $app->db->queryAllRecords($sql); + $ip_select = "<option value=''></option>"; + //$ip_select = ""; + if(is_array($ips)) { + foreach( $ips as $ip) { + $selected = ($ip["ip_address"] == $this->dataRecord["ipv6_address"])?'SELECTED':''; + $ip_select .= "<option value='$ip[ip_address]' $selected>$ip[ip_address]</option>\r\n"; + } + } + $app->tpl->setVar("ipv6_address",$ip_select); unset($tmp); unset($ips); @@ -161,8 +191,9 @@ $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']; } - - $sql = "SELECT ip_address FROM server_ip WHERE server_id = $server_id"; + + //* 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 = "<option value='*'>*</option>"; //$ip_select = ""; @@ -175,6 +206,21 @@ $app->tpl->setVar("ip_address",$ip_select); unset($tmp); unset($ips); + + //* Fill the IPv6 select field + $sql = "SELECT ip_address FROM server_ip WHERE ip_type = 'IPv6' AND server_id = $server_id"; + $ips = $app->db->queryAllRecords($sql); + $ip_select = "<option value=''></option>"; + //$ip_select = ""; + if(is_array($ips)) { + foreach( $ips as $ip) { + $selected = ($ip["ip_address"] == $this->dataRecord["ipv6_address"])?'SELECTED':''; + $ip_select .= "<option value='$ip[ip_address]' $selected>$ip[ip_address]</option>\r\n"; + } + } + $app->tpl->setVar("ipv6_address",$ip_select); + unset($tmp); + unset($ips); // Fill the client select field $sql = "SELECT groupid, name FROM sys_group WHERE client_id > 0 ORDER BY name"; -- Gitblit v1.9.1