$result=$db->query("SELECT `d`.`id`, `d`.`customerid`, `d`.`domain`, `d`.`documentroot`, `d`.`isemaildomain`, `d`.`caneditdomain`, `d`.`iswildcarddomain`, `d`.`parentdomainid`, `ad`.`id` AS `aliasdomainid`, `ad`.`domain` AS `aliasdomain`, `da`.`id` AS `domainaliasid`, `da`.`domain` AS `domainalias` FROM `".TABLE_PANEL_DOMAINS."` `d` LEFT JOIN `".TABLE_PANEL_DOMAINS."` `ad` ON `d`.`aliasdomain`=`ad`.`id` LEFT JOIN `".TABLE_PANEL_DOMAINS."` `da` ON `da`.`aliasdomain`=`d`.`id` WHERE `d`.`customerid`='".(int)$userinfo['customerid']."' AND `d`.`email_only`='0' AND `d`.`id` <> ".(int)$userinfo['standardsubdomain']."".$paging->getSqlWhere(true)."".$paging->getSqlOrderBy()."".$paging->getSqlLimit());
$result=$db->query_first("SELECT `id`, `customerid`, `domain`, `documentroot`, `isemaildomain`, `parentdomainid` FROM `".TABLE_PANEL_DOMAINS."` WHERE `customerid`='".(int)$userinfo['customerid']."' AND `id`='".(int)$id."'");
$alias_check=$db->query_first('SELECT COUNT(`id`) AS `count` FROM `'.TABLE_PANEL_DOMAINS.'` WHERE `aliasdomain`=\''.(int)$id.'\'');
if(isset($result['parentdomainid'])
&&$result['parentdomainid']!='0'
&&$alias_check['count']==0)
{
if(isset($_POST['send'])
&&$_POST['send']=='send')
{
if($result['isemaildomain']=='1')
{
$emails=$db->query_first('SELECT COUNT(`id`) AS `count` FROM `'.TABLE_MAIL_VIRTUAL.'` WHERE `customerid`=\''.(int)$userinfo['customerid'].'\' AND `domainid`=\''.(int)$id.'\'');
$result=$db->query("DELETE FROM `".TABLE_PANEL_DOMAINS."` WHERE `customerid`='".(int)$userinfo['customerid']."' AND `id`='".(int)$id."'");
$result=$db->query("UPDATE `".TABLE_PANEL_CUSTOMERS."` SET `subdomains_used`=`subdomains_used`-1 WHERE `customerid`='".(int)$userinfo['customerid']."'");
$domain_check=$db->query_first("SELECT * FROM `".TABLE_PANEL_DOMAINS."` WHERE `domain`='".$db->escape($domain)."' AND `customerid`='".(int)$userinfo['customerid']."' AND `parentdomainid`='0' AND `email_only`='0' AND `iswildcarddomain`='0' AND `caneditdomain`='1' ");
$completedomain=$subdomain.'.'.$domain;
$completedomain_check=$db->query_first("SELECT * FROM `".TABLE_PANEL_DOMAINS."` WHERE `domain`='".$db->escape($completedomain)."' AND `customerid`='".(int)$userinfo['customerid']."' AND `email_only`='0' AND `caneditdomain` = '1'");
$aliasdomain=intval($_POST['alias']);
$aliasdomain_check=array(
'id'=>0
);
if($aliasdomain!=0)
{
$aliasdomain_check=$db->query_first('SELECT `id` FROM `'.TABLE_PANEL_DOMAINS.'` `d`,`'.TABLE_PANEL_CUSTOMERS.'` `c` WHERE `d`.`customerid`=\''.(int)$userinfo['customerid'].'\' AND `d`.`aliasdomain` IS NULL AND `d`.`id`<>`c`.`standardsubdomain` AND `c`.`customerid`=\''.(int)$userinfo['customerid'].'\' AND `d`.`id`=\''.(int)$aliasdomain.'\'');
$result=$db->query("UPDATE `".TABLE_PANEL_CUSTOMERS."` SET `subdomains_used`=`subdomains_used`+1 WHERE `customerid`='".(int)$userinfo['customerid']."'");
$result=$db->query("SELECT `id`, `domain`, `documentroot`, `ssl_redirect`,`isemaildomain` FROM `".TABLE_PANEL_DOMAINS."` WHERE `customerid`='".(int)$userinfo['customerid']."' AND `parentdomainid`='0' AND `email_only`='0' AND `iswildcarddomain`='0' AND `caneditdomain`='1' ORDER BY `domain` ASC");
$result_domains=$db->query("SELECT `d`.`id`, `d`.`domain` FROM `".TABLE_PANEL_DOMAINS."` `d`, `".TABLE_PANEL_CUSTOMERS."` `c` WHERE `d`.`aliasdomain` IS NULL AND `d`.`id` <> `c`.`standardsubdomain` AND `d`.`customerid`=`c`.`customerid` AND `d`.`email_only`='0' AND `d`.`customerid`=".(int)$userinfo['customerid']." ORDER BY `d`.`domain` ASC");
$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_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'].'\'');
$aliasdomain_check=$db->query_first('SELECT `id` FROM `'.TABLE_PANEL_DOMAINS.'` `d`,`'.TABLE_PANEL_CUSTOMERS.'` `c` WHERE `d`.`customerid`=\''.(int)$result['customerid'].'\' AND `d`.`aliasdomain` IS NULL AND `d`.`id`<>`c`.`standardsubdomain` AND `c`.`customerid`=\''.(int)$result['customerid'].'\' AND `d`.`id`=\''.(int)$aliasdomain.'\'');
}
if($aliasdomain_check['id']!=$aliasdomain)
{
standard_error('domainisaliasorothercustomer');
}
if(isset($_POST['openbasedir_path'])
&&$_POST['openbasedir_path']=='1')
{
$openbasedir_path='1';
}
else
{
$openbasedir_path='0';
}
if(isset($_POST['ssl_redirect'])
&&$_POST['ssl_redirect']=='1')
{
$ssl_redirect='1';
}
else
{
$ssl_redirect='0';
}
if($path=='')
{
standard_error('patherror');
}
else
{
if(($result['isemaildomain']=='1')
&&($isemaildomain=='0'))
{
$db->query("DELETE FROM `".TABLE_MAIL_USERS."` WHERE `customerid`='".(int)$userinfo['customerid']."' AND `domainid`='".(int)$id."'");
$db->query("DELETE FROM `".TABLE_MAIL_VIRTUAL."` WHERE `customerid`='".(int)$userinfo['customerid']."' AND `domainid`='".(int)$id."'");
$log->logAction(USR_ACTION,LOG_NOTICE,"automatically deleted mail-table entries for '".$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_domains=$db->query("SELECT `d`.`id`, `d`.`domain` FROM `".TABLE_PANEL_DOMAINS."` `d`, `".TABLE_PANEL_CUSTOMERS."` `c` WHERE `d`.`aliasdomain` IS NULL AND `d`.`id`<>'".(int)$result['id']."' AND `c`.`standardsubdomain`<>`d`.`id` AND `d`.`customerid`='".(int)$userinfo['customerid']."' AND `c`.`customerid`=`d`.`customerid` ORDER BY `d`.`domain` ASC");