diff --git a/admin_domains.php b/admin_domains.php index b79ad7ef..04f8944b 100644 --- a/admin_domains.php +++ b/admin_domains.php @@ -1482,15 +1482,15 @@ if($page == 'domains' // create serveralias options $serveraliasoptions = ""; - $values = array('0' => '0', '1' => '0', '2' => '1'); + $_value = '2'; if ($result['iswildcarddomain'] == '1') { - $values = array('0' => '1', '1' => '0', '2' => '0'); + $_value = '0'; } elseif ($result['wwwserveralias'] == '1') { - $values = array('0' => '0', '1' => '1', '2' => '0'); + $_value = '1'; } - $serveraliasoptions .= makeoption($lng['domains']['serveraliasoption_wildcard'], '0', $values['0'], true, true); - $serveraliasoptions .= makeoption($lng['domains']['serveraliasoption_www'], '1', $values['1'], true, true); - $serveraliasoptions .= makeoption($lng['domains']['serveraliasoption_none'], '2', $values['2'], true, true); + $serveraliasoptions .= makeoption($lng['domains']['serveraliasoption_wildcard'], '0', $_value, true, true); + $serveraliasoptions .= makeoption($lng['domains']['serveraliasoption_www'], '1', $_value, true, true); + $serveraliasoptions .= makeoption($lng['domains']['serveraliasoption_none'], '2', $_value, true, true); $subcanemaildomain = makeoption($lng['admin']['subcanemaildomain']['never'], '0', $result['subcanemaildomain'], true, true); $subcanemaildomain.= makeoption($lng['admin']['subcanemaildomain']['choosableno'], '1', $result['subcanemaildomain'], true, true); diff --git a/customer_domains.php b/customer_domains.php index 352a9a6b..6c9b7fc8 100644 --- a/customer_domains.php +++ b/customer_domains.php @@ -438,7 +438,7 @@ elseif($page == 'domains') elseif($action == 'edit' && $id != 0) { - $result = $db->query_first("SELECT `d`.`id`, `d`.`customerid`, `d`.`domain`, `d`.`documentroot`, `d`.`isemaildomain`, `d`.`iswildcarddomain`, `d`.`parentdomainid`, `d`.`ssl_redirect`, `d`.`aliasdomain`, `d`.`openbasedir`, `d`.`openbasedir_path`, `pd`.`subcanemaildomain` FROM `" . TABLE_PANEL_DOMAINS . "` `d`, `" . TABLE_PANEL_DOMAINS . "` `pd` WHERE `d`.`customerid`='" . (int)$userinfo['customerid'] . "' AND `d`.`id`='" . (int)$id . "' AND ((`d`.`parentdomainid`!='0' AND `pd`.`id`=`d`.`parentdomainid`) OR (`d`.`parentdomainid`='0' AND `pd`.`id`=`d`.`id`)) AND `d`.`caneditdomain`='1'"); + $result = $db->query_first("SELECT `d`.`id`, `d`.`customerid`, `d`.`domain`, `d`.`documentroot`, `d`.`isemaildomain`, `d`.`wwwserveralias`, `d`.`iswildcarddomain`, `d`.`parentdomainid`, `d`.`ssl_redirect`, `d`.`aliasdomain`, `d`.`openbasedir`, `d`.`openbasedir_path`, `pd`.`subcanemaildomain` FROM `" . TABLE_PANEL_DOMAINS . "` `d`, `" . TABLE_PANEL_DOMAINS . "` `pd` WHERE `d`.`customerid`='" . (int)$userinfo['customerid'] . "' AND `d`.`id`='" . (int)$id . "' AND ((`d`.`parentdomainid`!='0' AND `pd`.`id`=`d`.`parentdomainid`) OR (`d`.`parentdomainid`='0' AND `pd`.`id`=`d`.`id`)) AND `d`.`caneditdomain`='1'"); $alias_check = $db->query_first('SELECT COUNT(`id`) AS count FROM `' . TABLE_PANEL_DOMAINS . '` WHERE `aliasdomain`=\'' . (int)$result['id'] . '\''); $alias_check = $alias_check['count']; $_doredirect = false; @@ -487,15 +487,14 @@ elseif($page == 'domains') $aliasdomain = intval($_POST['alias']); - if(isset($_POST['iswildcarddomain']) - && $_POST['iswildcarddomain'] == '1' + if(isset($_POST['selectserveralias']) && $result['parentdomainid'] == '0' - ){ - $iswildcarddomain = '1'; - } - else - { + ) { + $iswildcarddomain = ($_POST['selectserveralias'] == '0') ? '1' : '0'; + $wwwserveralias = ($_POST['selectserveralias'] == '1') ? '1' : '0'; + } else { $iswildcarddomain = '0'; + $wwwserveralias = '0'; } if($result['parentdomainid'] != '0' @@ -565,13 +564,23 @@ elseif($page == 'domains') if($path != $result['documentroot'] || $isemaildomain != $result['isemaildomain'] + || $wwwserveralias != $result['wwwserveralias'] || $iswildcarddomain != $result['iswildcarddomain'] || $aliasdomain != $result['aliasdomain'] || $openbasedir_path != $result['openbasedir_path'] || $ssl_redirect != $result['ssl_redirect']) { $log->logAction(USR_ACTION, LOG_INFO, "edited domain '" . $idna_convert->decode($result['domain']) . "'"); - $result = $db->query("UPDATE `" . TABLE_PANEL_DOMAINS . "` SET `documentroot`='" . $db->escape($path) . "', `isemaildomain`='" . (int)$isemaildomain . "', `iswildcarddomain`='" . (int)$iswildcarddomain . "', `aliasdomain`=" . (($aliasdomain != 0 && $alias_check == 0) ? '\'' . $db->escape($aliasdomain) . '\'' : 'NULL') . ",`openbasedir_path`='" . $db->escape($openbasedir_path) . "', `ssl_redirect`='" . $ssl_redirect . "' WHERE `customerid`='" . (int)$userinfo['customerid'] . "' AND `id`='" . (int)$id . "'"); + $result = $db->query("UPDATE `" . TABLE_PANEL_DOMAINS . "` SET + `documentroot`='" . $db->escape($path) . "', + `isemaildomain`='" . (int)$isemaildomain . "', + `wwwserveralias`='" . (int)$wwwserveralias . "', + `iswildcarddomain`='" . (int)$iswildcarddomain . "', + `aliasdomain`=" . (($aliasdomain != 0 && $alias_check == 0) ? '\'' . $db->escape($aliasdomain) . '\'' : 'NULL') . ", + `openbasedir_path`='" . $db->escape($openbasedir_path) . "', + `ssl_redirect`='" . $ssl_redirect . "' + WHERE `customerid`='" . (int)$userinfo['customerid'] . "' AND `id`='" . (int)$id . "'" + ); inserttask('1'); // Using nameserver, insert a task which rebuilds the server config @@ -635,6 +644,18 @@ elseif($page == 'domains') $openbasedir = makeoption($lng['domain']['docroot'], 0, $result['openbasedir_path'], true) . makeoption($lng['domain']['homedir'], 1, $result['openbasedir_path'], true); + // create serveralias options + $serveraliasoptions = ""; + $_value = '2'; + if ($result['iswildcarddomain'] == '1') { + $_value = '0'; + } elseif ($result['wwwserveralias'] == '1') { + $_value = '1'; + } + $serveraliasoptions .= makeoption($lng['domains']['serveraliasoption_wildcard'], '0', $_value, true, true); + $serveraliasoptions .= makeoption($lng['domains']['serveraliasoption_www'], '1', $_value, true, true); + $serveraliasoptions .= makeoption($lng['domains']['serveraliasoption_none'], '2', $_value, true, true); + $resultips = $db->query("SELECT `p`.`ip` AS `ip` FROM `".TABLE_PANEL_IPSANDPORTS."` `p` LEFT JOIN `".TABLE_DOMAINTOIP."` `dip` ON ( `dip`.`id_ipandports` = `p`.`id` ) WHERE `dip`.`id_domain` = '".(int)$result['id']."' GROUP BY `p`.`ip`"); $result_ipandport['ip'] = ''; while ($rowip = $db->fetch_array($resultips)) { @@ -782,4 +803,3 @@ elseif ($page == 'domainssleditor') { eval("echo \"" . getTemplate("domains/domain_ssleditor") . "\";"); } } - diff --git a/lib/formfields/customer/domains/formfield.domains_edit.php b/lib/formfields/customer/domains/formfield.domains_edit.php index 6ca1aec5..d3bf3de5 100644 --- a/lib/formfields/customer/domains/formfield.domains_edit.php +++ b/lib/formfields/customer/domains/formfield.domains_edit.php @@ -60,14 +60,12 @@ return array( 'type' => 'select', 'select_var' => $redirectcode ), - 'iswildcarddomain' => array( + 'selectserveralias' => array( 'visible' => (($result['parentdomainid'] == '0' && $userinfo['subdomains'] != '0') ? true : false), - 'label' => $lng['domains']['wildcarddomain'], - 'type' => 'checkbox', - 'values' => array( - array ('label' => $lng['panel']['yes'], 'value' => '1') - ), - 'value' => array($result['iswildcarddomain']) + 'label' => $lng['admin']['selectserveralias'], + 'desc' => $lng['admin']['selectserveralias_desc'], + 'type' => 'select', + 'select_var' => $serveraliasoptions ), 'isemaildomain' => array( 'visible' => ((( $result['subcanemaildomain'] == '1' || $result['subcanemaildomain'] == '2' ) && $result['parentdomainid'] != '0') ? true : false),