From 0ae667e6cfdd1bcc85bacf85cd93a84f99fa88f8 Mon Sep 17 00:00:00 2001
From: cfoe <cfoe@ispconfig3>
Date: Tue, 22 May 2012 04:08:05 -0400
Subject: [PATCH] added missing language string already present in default theme

---
 interface/web/sites/tools.inc.php |   71 +++++++++++++++++++++--------------
 1 files changed, 42 insertions(+), 29 deletions(-)

diff --git a/interface/web/sites/tools.inc.php b/interface/web/sites/tools.inc.php
index d2a6217..a4314f0 100644
--- a/interface/web/sites/tools.inc.php
+++ b/interface/web/sites/tools.inc.php
@@ -27,45 +27,53 @@
 EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
 
-function replacePrefix($name, $dataRecord){
-    $keywordlist=array('CLIENTNAME','CLIENTID');
+function replacePrefix($name, $dataRecord) {
+	// No input -> no possible output -> go out!
+	if ($name=="") return "";
 
-    if ($name != '') {
-        foreach ($keywordlist as $keyword) {
-            if (substr_count($name, '['.$keyword.']') > 0) {
-                switch ($keyword) {
-                    case 'CLIENTNAME':
-                        $res=str_replace('['.$keyword.']', getClientName($dataRecord), $name);        
-                        break;
-                    case 'CLIENTID':
-                        $res=str_replace('['.$keyword.']', getClientID($dataRecord), $name);        
-                        break;
-                }
-            }
-        }
-    } else {
-        $res='';
-    }
-    
-    return $res;
+	// Array containing keys to search
+	$keywordlist=array('CLIENTNAME','CLIENTID','DOMAINID');
+
+	// Try to match the key within the string
+	foreach ($keywordlist as $keyword) {
+		if (substr_count($name, '['.$keyword.']') > 0) {
+			switch ($keyword) {
+				case 'CLIENTNAME':
+					$name=str_replace('['.$keyword.']', getClientName($dataRecord),$name);
+				break;
+				case 'CLIENTID':
+					$name=str_replace('['.$keyword.']', getClientID($dataRecord),$name);
+				break;
+				case 'DOMAINID':
+					$name=str_replace('['.$keyword.']', $dataRecord['parent_domain_id'],$name);
+				break;
+			}
+		}
+	}
+	return $name;
 }
 
 function getClientName($dataRecord) {
     global $app, $conf;
-
-    if($_SESSION["s"]["user"]["typ"] != 'admin') {
+    if($_SESSION["s"]["user"]["typ"] != 'admin' || $app->auth->has_clients($_SESSION['s']['user']['userid'])) {
     	// Get the group-id of the user
     	$client_group_id = $_SESSION["s"]["user"]["default_group"];
     } else {
     	// Get the group-id from the data itself
     	if(isset($dataRecord['client_group_id'])) {
 			$client_group_id = $dataRecord['client_group_id'];
-      	} else {
+		} elseif (isset($dataRecord['parent_domain_id'])) {
+			$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'])) {
 			$client_group_id = $dataRecord['sys_groupid'];
-      	}
+      	} else {
+			$client_group_id = 0;
+		}
     }
+	
     /* get the name of the client */
-    $tmp = $app->db->queryOneRecord("SELECT name FROM sys_group WHERE groupid = " . $client_group_id);
+    $tmp = $app->db->queryOneRecord("SELECT name FROM sys_group WHERE groupid = " . intval($client_group_id));
     $clientName = $tmp['name'];
     if ($clientName == "") $clientName = 'default';
     $clientName = convertClientName($clientName);
@@ -75,19 +83,24 @@
 function getClientID($dataRecord) {
     global $app, $conf;
 
-    if($_SESSION["s"]["user"]["typ"] != 'admin') {
+    if($_SESSION["s"]["user"]["typ"] != 'admin' || $app->auth->has_clients($_SESSION['s']['user']['userid'])) {
     	// Get the group-id of the user
     	$client_group_id = $_SESSION["s"]["user"]["default_group"];
     } else {
     	// Get the group-id from the data itself
 		if(isset($dataRecord['client_group_id'])) {
 			$client_group_id = $dataRecord['client_group_id'];
-      	} else {
+      	} elseif (isset($dataRecord['parent_domain_id'])) {
+			$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'])) {
 			$client_group_id = $dataRecord['sys_groupid'];
-      	}
+      	} else {
+			$client_group_id = 0;
+		}
     }
     /* get the name of the client */
-    $tmp = $app->db->queryOneRecord("SELECT client_id FROM sys_group WHERE groupid = " . $client_group_id);
+    $tmp = $app->db->queryOneRecord("SELECT client_id FROM sys_group WHERE groupid = " . intval($client_group_id));
     $clientID = $tmp['client_id'];
     if ($clientID == '') $clientID = '0';
     return $clientID;

--
Gitblit v1.9.1