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