From 9a82cd444571c81346b2b84636f196ea16a19f23 Mon Sep 17 00:00:00 2001 From: mcramer <m.cramer@pixcept.de> Date: Tue, 18 Dec 2012 10:59:26 -0500 Subject: [PATCH] Fixed: FS#2586 - Domain list is empty in reseller login when domain module is active --- interface/lib/classes/tools_sites.inc.php | 27 +++++++++ interface/web/sites/web_aliasdomain_edit.php | 23 +------ interface/web/sites/web_vhost_subdomain_edit.php | 23 +------ interface/web/mail/mail_domain_edit.php | 23 +------ interface/web/sites/web_subdomain_edit.php | 17 +---- interface/web/sites/web_domain_edit.php | 23 +------ 6 files changed, 47 insertions(+), 89 deletions(-) diff --git a/interface/lib/classes/tools_sites.inc.php b/interface/lib/classes/tools_sites.inc.php index c501173..deb57f5 100644 --- a/interface/lib/classes/tools_sites.inc.php +++ b/interface/lib/classes/tools_sites.inc.php @@ -143,6 +143,33 @@ } return $res; } + + function getDomainModuleDomains() { + global $app; + + $sql = "SELECT domain_id, domain FROM domain WHERE"; + if ($_SESSION["s"]["user"]["typ"] == 'admin') { + $sql .= " 1"; + } else { + $groups = ( $_SESSION["s"]["user"]["groups"] ) ? $_SESSION["s"]["user"]["groups"] : 0; + $sql .= " sys_groupid IN (".$groups.")"; + } + $sql .= " ORDER BY domain"; + return $app->db->queryAllRecords($sql); + } + + function checkDomainModuleDomain($domain_id) { + global $app; + + $sql = "SELECT domain_id, domain FROM domain WHERE domain_id = " . $app->functions->intval($domain_id); + if ($_SESSION["s"]["user"]["typ"] != 'admin') { + $groups = ( $_SESSION["s"]["user"]["groups"] ) ? $_SESSION["s"]["user"]["groups"] : 0; + $sql .= " AND sys_groupid IN (".$groups.")"; + } + $domain = $app->db->queryOneRecord($sql); + if(!$domain || !$domain['domain_id']) return false; + return $domain['domain']; + } } ?> diff --git a/interface/web/mail/mail_domain_edit.php b/interface/web/mail/mail_domain_edit.php index e3cad68..d806f03 100644 --- a/interface/web/mail/mail_domain_edit.php +++ b/interface/web/mail/mail_domain_edit.php @@ -45,7 +45,7 @@ $app->auth->check_module_permissions('mail'); // Loading classes -$app->uses('tpl,tform,tform_actions'); +$app->uses('tpl,tform,tform_actions,tools_sites'); $app->load('tform_actions'); class page_action extends tform_actions { @@ -122,16 +122,7 @@ /* * The domain-module is in use. */ - $client_group_id = $_SESSION["s"]["user"]["default_group"]; - /* - * The admin can select ALL domains, the user only the domains assigned to him - */ - $sql = "SELECT domain_id, domain FROM domain "; - if ($_SESSION["s"]["user"]["typ"] != 'admin') { - $sql .= "WHERE sys_groupid =" . $client_group_id; - } - $sql .= " ORDER BY domain"; - $domains = $app->db->queryAllRecords($sql); + $domains = $app->tools_sites->getDomainModuleDomains(); $domain_select = ''; if(is_array($domains) && sizeof($domains) > 0) { /* We have domains in the list, so create the drop-down-list */ @@ -189,18 +180,12 @@ $app->uses('ini_parser,getconf'); $settings = $app->getconf->get_global_config('domains'); if ($settings['use_domain_module'] == 'y') { - $client_group_id = $app->functions->intval($_SESSION["s"]["user"]["default_group"]); - - $sql = "SELECT domain_id, domain FROM domain WHERE domain_id = " . $app->functions->intval($this->dataRecord['domain']); - if ($_SESSION["s"]["user"]["typ"] != 'admin') { - $sql .= " AND sys_groupid =" . $client_group_id; - } - $domain_check = $app->db->queryOneRecord($sql); + $domain_check = $app->tools_sites->checkDomainModuleDomain($this->dataRecord['domain']); if(!$domain_check) { // invalid domain selected $app->tform->errorMessage .= $app->tform->lng("domain_error_empty")."<br />"; } else { - $this->dataRecord['domain'] = $domain_check['domain']; + $this->dataRecord['domain'] = $domain_check; } } diff --git a/interface/web/sites/web_aliasdomain_edit.php b/interface/web/sites/web_aliasdomain_edit.php index d3315eb..901cb35 100644 --- a/interface/web/sites/web_aliasdomain_edit.php +++ b/interface/web/sites/web_aliasdomain_edit.php @@ -45,7 +45,7 @@ $app->auth->check_module_permissions('sites'); // Loading classes -$app->uses('tpl,tform,tform_actions'); +$app->uses('tpl,tform,tform_actions,tools_sites'); $app->load('tform_actions'); class page_action extends tform_actions { @@ -81,16 +81,7 @@ /* * The domain-module is in use. */ - $client_group_id = $_SESSION["s"]["user"]["default_group"]; - /* - * The admin can select ALL domains, the user only the domains assigned to him - */ - $sql = "SELECT domain_id, domain FROM domain "; - if ($_SESSION["s"]["user"]["typ"] != 'admin') { - $sql .= "WHERE sys_groupid =" . $client_group_id; - } - $sql .= " ORDER BY domain"; - $domains = $app->db->queryAllRecords($sql); + $domains = $app->tools_sites->getDomainModuleDomains(); $domain_select = ''; if(is_array($domains) && sizeof($domains) > 0) { /* We have domains in the list, so create the drop-down-list */ @@ -137,18 +128,12 @@ $app->uses('ini_parser,getconf'); $settings = $app->getconf->get_global_config('domains'); if ($settings['use_domain_module'] == 'y') { - $client_group_id = $app->functions->intval($_SESSION["s"]["user"]["default_group"]); - - $sql = "SELECT domain_id, domain FROM domain WHERE domain_id = " . $app->functions->intval($this->dataRecord['domain']); - if ($_SESSION["s"]["user"]["typ"] != 'admin') { - $sql .= " AND sys_groupid =" . $client_group_id; - } - $domain_check = $app->db->queryOneRecord($sql); + $domain_check = $app->tools_sites->checkDomainModuleDomain($this->dataRecord['domain']); if(!$domain_check) { // invalid domain selected $app->tform->errorMessage .= $app->tform->lng("domain_error_empty")."<br />"; } else { - $this->dataRecord['domain'] = $domain_check['domain']; + $this->dataRecord['domain'] = $domain_check; } } diff --git a/interface/web/sites/web_domain_edit.php b/interface/web/sites/web_domain_edit.php index 5cc7f5e..cf0df7f 100644 --- a/interface/web/sites/web_domain_edit.php +++ b/interface/web/sites/web_domain_edit.php @@ -45,7 +45,7 @@ $app->auth->check_module_permissions('sites'); // Loading classes -$app->uses('tpl,tform,tform_actions'); +$app->uses('tpl,tform,tform_actions,tools_sites'); $app->load('tform_actions'); class page_action extends tform_actions { @@ -425,16 +425,7 @@ /* * The domain-module is in use. */ - $client_group_id = $_SESSION["s"]["user"]["default_group"]; - /* - * The admin can select ALL domains, the user only the domains assigned to him - */ - $sql = "SELECT domain_id, domain FROM domain "; - if ($_SESSION["s"]["user"]["typ"] != 'admin') { - $sql .= "WHERE sys_groupid =" . $client_group_id; - } - $sql .= " ORDER BY domain"; - $domains = $app->db->queryAllRecords($sql); + $domains = $app->tools_sites->getDomainModuleDomains(); $domain_select = ''; if(is_array($domains) && sizeof($domains) > 0) { /* We have domains in the list, so create the drop-down-list */ @@ -474,18 +465,12 @@ $app->uses('ini_parser,getconf'); $settings = $app->getconf->get_global_config('domains'); if ($settings['use_domain_module'] == 'y') { - $client_group_id = $app->functions->intval($_SESSION["s"]["user"]["default_group"]); - - $sql = "SELECT domain_id, domain FROM domain WHERE domain_id = " . $app->functions->intval($this->dataRecord['domain']); - if ($_SESSION["s"]["user"]["typ"] != 'admin') { - $sql .= " AND sys_groupid =" . $client_group_id; - } - $domain_check = $app->db->queryOneRecord($sql); + $domain_check = $app->tools_sites->checkDomainModuleDomain($this->dataRecord['domain']); if(!$domain_check) { // invalid domain selected $app->tform->errorMessage .= $app->tform->lng("domain_error_empty")."<br />"; } else { - $this->dataRecord['domain'] = $domain_check['domain']; + $this->dataRecord['domain'] = $domain_check; } } } diff --git a/interface/web/sites/web_subdomain_edit.php b/interface/web/sites/web_subdomain_edit.php index 5fb990b..a424680 100644 --- a/interface/web/sites/web_subdomain_edit.php +++ b/interface/web/sites/web_subdomain_edit.php @@ -45,7 +45,7 @@ $app->auth->check_module_permissions('sites'); // Loading classes -$app->uses('tpl,tform,tform_actions'); +$app->uses('tpl,tform,tform_actions,tools_sites'); $app->load('tform_actions'); class page_action extends tform_actions { @@ -77,16 +77,7 @@ /* * The domain-module is in use. */ - $client_group_id = $_SESSION["s"]["user"]["default_group"]; - /* - * The admin can select ALL domains, the user only the domains assigned to him - */ - $sql = "SELECT domain_id, domain FROM domain "; - if ($_SESSION["s"]["user"]["typ"] != 'admin') { - $sql .= "WHERE sys_groupid =" . $client_group_id; - } - $sql .= " ORDER BY domain"; - $domains = $app->db->queryAllRecords($sql); + $domains = $app->tools_sites->getDomainModuleDomains(); $domain_select = ''; $selected_domain = ''; if(is_array($domains) && sizeof($domains) > 0) { @@ -147,11 +138,11 @@ $settings = $app->getconf->get_global_config('domains'); if ($settings['use_domain_module'] == 'y') { // get the record of the domain module domain - $domain = $app->db->queryOneRecord("SELECT * FROM domain WHERE domain_id = ".$app->functions->intval($this->dataRecord["sel_domain"])); + $domain = $app->tools_sites->checkDomainModuleDomain($this->dataRecord['sel_domain']); if(!$domain) { $app->tform->errorMessage .= $app->tform->lng("domain_error_empty")."<br />"; } else { - $this->dataRecord['domain'] = $this->dataRecord['domain'] . '.' . $domain['domain']; + $this->dataRecord['domain'] = $this->dataRecord['domain'] . '.' . $domain; } } else { $this->dataRecord["domain"] = $this->dataRecord["domain"].'.'.$parent_domain["domain"]; diff --git a/interface/web/sites/web_vhost_subdomain_edit.php b/interface/web/sites/web_vhost_subdomain_edit.php index 6094baa..6ea122d 100644 --- a/interface/web/sites/web_vhost_subdomain_edit.php +++ b/interface/web/sites/web_vhost_subdomain_edit.php @@ -45,7 +45,7 @@ $app->auth->check_module_permissions('sites'); // Loading classes -$app->uses('tpl,tform,tform_actions'); +$app->uses('tpl,tform,tform_actions,tools_sites'); $app->load('tform_actions'); class page_action extends tform_actions { @@ -277,16 +277,7 @@ /* * The domain-module is in use. */ - $client_group_id = $_SESSION["s"]["user"]["default_group"]; - /* - * The admin can select ALL domains, the user only the domains assigned to him - */ - $sql = "SELECT domain_id, domain FROM domain "; - if ($_SESSION["s"]["user"]["typ"] != 'admin') { - $sql .= "WHERE sys_groupid =" . $client_group_id; - } - $sql .= " ORDER BY domain"; - $domains = $app->db->queryAllRecords($sql); + $domains = $app->tools_sites->getDomainModuleDomains(); $domain_select = ''; $selected_domain = ''; if(is_array($domains) && sizeof($domains) > 0) { @@ -350,18 +341,12 @@ $app->uses('ini_parser,getconf'); $settings = $app->getconf->get_global_config('domains'); if ($settings['use_domain_module'] == 'y') { - $client_group_id = $app->functions->intval($_SESSION["s"]["user"]["default_group"]); - - $sql = "SELECT domain_id, domain FROM domain WHERE domain_id = " . $app->functions->intval($this->dataRecord['sel_domain']); - if ($_SESSION["s"]["user"]["typ"] != 'admin') { - $sql .= " AND sys_groupid =" . $client_group_id; - } - $domain_check = $app->db->queryOneRecord($sql); + $domain_check = $app->tools_sites->checkDomainModuleDomain($this->dataRecord['sel_domain']); if(!$domain_check) { // invalid domain selected $app->tform->errorMessage .= $app->tform->lng("domain_error_empty")."<br />"; } else { - $this->dataRecord['domain'] = $this->dataRecord['domain'] . '.' . $domain_check['domain']; + $this->dataRecord['domain'] = $this->dataRecord['domain'] . '.' . $domain_check; } } else { $this->dataRecord["domain"] = $this->dataRecord["domain"].'.'.$parent_domain["domain"]; -- Gitblit v1.9.1