mcramer
2012-12-18 9a82cd444571c81346b2b84636f196ea16a19f23
Fixed:  FS#2586 - Domain list is empty in reseller login when domain module is active 

6 files modified
136 ■■■■■ changed files
interface/lib/classes/tools_sites.inc.php 27 ●●●●● patch | view | raw | blame | history
interface/web/mail/mail_domain_edit.php 23 ●●●● patch | view | raw | blame | history
interface/web/sites/web_aliasdomain_edit.php 23 ●●●● patch | view | raw | blame | history
interface/web/sites/web_domain_edit.php 23 ●●●● patch | view | raw | blame | history
interface/web/sites/web_subdomain_edit.php 17 ●●●● patch | view | raw | blame | history
interface/web/sites/web_vhost_subdomain_edit.php 23 ●●●● patch | view | raw | blame | history
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'];
    }
}
?>
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;
            }
        }
        
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;
            }
        }
        
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;
                }
            }
        }
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"];
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"];