From 89e4329a8068e3631d3f64f6896fa3907c687cf5 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Thu, 08 Jan 2015 09:08:50 -0500
Subject: [PATCH] Layout fix: tab toggle and monitor tables

---
 interface/lib/classes/tools_sites.inc.php |   33 ++++++++++++++++++++++++++++-----
 1 files changed, 28 insertions(+), 5 deletions(-)

diff --git a/interface/lib/classes/tools_sites.inc.php b/interface/lib/classes/tools_sites.inc.php
index c636bbc..3400c5b 100644
--- a/interface/lib/classes/tools_sites.inc.php
+++ b/interface/lib/classes/tools_sites.inc.php
@@ -47,7 +47,7 @@
 					$name=str_replace('['.$keyword.']', $this->getClientID($dataRecord), $name);
 					break;
 				case 'DOMAINID':
-					$name=str_replace('['.$keyword.']', $dataRecord['parent_domain_id'], $name);
+					$name=str_replace('['.$keyword.']', $dataRecord['parent_domain_id'] ? $dataRecord['parent_domain_id'] : '[DOMAINID]', $name);
 					break;
 				}
 			}
@@ -92,7 +92,7 @@
 			} elseif(isset($dataRecord['sys_groupid'])) {
 				$client_group_id = $dataRecord['sys_groupid'];
 			} else {
-				$client_group_id = 0;
+				return '[CLIENTNAME]';
 			}
 		}
 
@@ -119,7 +119,7 @@
 			} elseif(isset($dataRecord['sys_groupid'])) {
 				$client_group_id = $dataRecord['sys_groupid'];
 			} else {
-				$client_group_id = 0;
+				return '[CLIENTID]';
 			}
 		}
 		$tmp = $app->db->queryOneRecord("SELECT client_id FROM sys_group WHERE groupid = " . $app->functions->intval($client_group_id));
@@ -144,10 +144,20 @@
 		return $res;
 	}
 
-	function getDomainModuleDomains() {
+	function getDomainModuleDomains($not_used_in_table = null, $selected_domain = null) {
 		global $app;
 
 		$sql = "SELECT domain_id, domain FROM domain WHERE";
+		if ($not_used_in_table) {
+			if (strpos($not_used_in_table, 'dns') !== false) {
+				$field = "origin";
+				$select = "SUBSTRING($field, 1, CHAR_LENGTH($field) - 1)";
+			} else {
+				$field = "domain";
+				$select = $field;
+			}
+			$sql .= " domain NOT IN (SELECT $select FROM ?? WHERE $field != ?) AND";
+		}
 		if ($_SESSION["s"]["user"]["typ"] == 'admin') {
 			$sql .= " 1";
 		} else {
@@ -155,7 +165,7 @@
 			$sql .= " sys_groupid IN (".$groups.")";
 		}
 		$sql .= " ORDER BY domain";
-		return $app->db->queryAllRecords($sql);
+		return $app->db->queryAllRecords($sql, $not_used_in_table, $selected_domain);
 	}
 
 	function checkDomainModuleDomain($domain_id) {
@@ -171,6 +181,19 @@
 		return $domain['domain'];
 	}
 
+	function getClientIdForDomain($domain_id) {
+		global $app;
+
+		$sql = "SELECT sys_groupid 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['sys_groupid']) return false;
+		return $domain['sys_groupid'];
+	}
+
 }
 
 ?>

--
Gitblit v1.9.1