From 10b4c85a7686da07bddb5779f8ceea48acdf412e Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Thu, 03 Jan 2013 06:51:45 -0500
Subject: [PATCH] Merged revisons 3687-3748 from 3.0.5 stable branch.

---
 interface/lib/classes/tools_sites.inc.php |   51 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 50 insertions(+), 1 deletions(-)

diff --git a/interface/lib/classes/tools_sites.inc.php b/interface/lib/classes/tools_sites.inc.php
index b440754..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'])) {
@@ -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