From f4038a2160d55a7f519a3b42be1aa96e29e9a908 Mon Sep 17 00:00:00 2001 From: ftimme <ft@falkotimme.com> Date: Wed, 27 Feb 2013 09:01:40 -0500 Subject: [PATCH] - Fixed "FUNCTION databasename.CONCAT does not exist" error for older MySQL versions. --- interface/lib/classes/tools_sites.inc.php | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 51 insertions(+), 2 deletions(-) diff --git a/interface/lib/classes/tools_sites.inc.php b/interface/lib/classes/tools_sites.inc.php index 0619f2f..deb57f5 100644 --- a/interface/lib/classes/tools_sites.inc.php +++ b/interface/lib/classes/tools_sites.inc.php @@ -54,7 +54,29 @@ } return $name; } - + + function removePrefix($name, $currentPrefix, $globalPrefix) { + if($name == "") return ""; + + if($currentPrefix === '') return $name; // empty prefix, do not change name + if($currentPrefix === '#') $currentPrefix = $globalPrefix; // entry has no prefix set, maybe it was created before this function was introduced + + if($currentPrefix === '') return $name; // no current prefix and global prefix is empty -> nothing to remove here. + + return preg_replace('/^' . preg_quote($currentPrefix, '/') . '/', '', $name); // return name without prefix + } + + function getPrefix($currentPrefix, $userPrefix, $adminPrefix = false) { + global $app; + + if($currentPrefix !== '#') return $currentPrefix; // return the currently set prefix for this entry (# = no prefix set yet) + + if($adminPrefix === false) $adminPrefix = $userPrefix; + + if($_SESSION["s"]["user"]["typ"] == 'admin' || $app->auth->has_clients($_SESSION['s']['user']['userid'])) return $adminPrefix; + else return $userPrefix; + } + function getClientName($dataRecord) { global $app, $conf; if($_SESSION["s"]["user"]["typ"] != 'admin' && !$app->auth->has_clients($_SESSION['s']['user']['userid'])) { @@ -91,7 +113,7 @@ // Get the group-id from the data itself if(isset($dataRecord['client_group_id'])) { $client_group_id = $dataRecord['client_group_id']; - } elseif (isset($dataRecord['parent_domain_id'])) { + } elseif (isset($dataRecord['parent_domain_id']) && $dataRecord['parent_domain_id'] != 0) { $tmp = $app->db->queryOneRecord("SELECT sys_groupid FROM web_domain WHERE domain_id = " . $dataRecord['parent_domain_id']); $client_group_id = $tmp['sys_groupid']; } elseif(isset($dataRecord['sys_groupid'])) { @@ -121,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']; + } } ?> -- Gitblit v1.9.1