From 59118c7c296fd8f0224f39404320223ac6f31762 Mon Sep 17 00:00:00 2001
From: ftimme <ft@falkotimme.com>
Date: Fri, 11 May 2012 07:14:55 -0400
Subject: [PATCH] - Added further tables to global search. - Added translations to global search.

---
 interface/web/dashboard/ajax_get_json.php |   64 ++++++++++++++++++++++---------
 1 files changed, 45 insertions(+), 19 deletions(-)

diff --git a/interface/web/dashboard/ajax_get_json.php b/interface/web/dashboard/ajax_get_json.php
index 18cd1e4..817853d 100644
--- a/interface/web/dashboard/ajax_get_json.php
+++ b/interface/web/dashboard/ajax_get_json.php
@@ -46,17 +46,22 @@
 		$authsql = " AND ".$app->tform->getAuthSQL('r');
 		$modules = explode(',', $_SESSION['s']['user']['modules']);
 		
+		$result = array();
+		
 		// clients
-		$result_clients = _search('client', 'client');
+		$result[] = _search('client', 'client', "AND limit_client = 0");
+		
+		// resellers
+		$result[] = _search('client', 'reseller', "AND limit_client != 0");
 		
 		// web sites
-		$result_webs = _search('sites', 'web_domain');
+		$result[] = _search('sites', 'web_domain');
 		
 		// FTP users
-		$result_ftp_users = _search('sites', 'ftp_user');
+		$result[] = _search('sites', 'ftp_user');
 		
 		// shell users
-		$result_shell_users = _search('sites', 'shell_user');
+		$result[] = _search('sites', 'shell_user');
 		
 		// databases
 		/*
@@ -81,42 +86,60 @@
 			}
 		}
 		*/
-		$result_databases = _search('sites', 'database');
+		$result[] = _search('sites', 'database');
 		
 		// email domains
-		$result_email_domains = _search('mail', 'mail_domain');
+		$result[] = _search('mail', 'mail_domain');
+		
+		// email alias domains
+		$result[] = _search('mail', 'mail_aliasdomain', "AND type = 'aliasdomain'");
 		
 		// email mailboxes
-		$result_email_mailboxes = _search('mail', 'mail_user');
+		$result[] = _search('mail', 'mail_user');
+		
+		// email aliases
+		$result[] = _search('mail', 'mail_alias', "AND type = 'alias'");
+		
+		// email forwards
+		$result[] = _search('mail', 'mail_forward', "AND type = 'forward'");
+		
+		// email catchalls
+		$result[] = _search('mail', 'mail_domain_catchall', "AND type = 'catchall'");
+		
+		// email transports
+		$result[] = _search('mail', 'mail_transport');
+		
+		// mailinglists
+		$result[] = _search('mail', 'mail_mailinglist');
+		
+		// getmails
+		$result[] = _search('mail', 'mail_get');
 		
 		// dns zones
-		$result_dns_zones = _search('dns', 'dns_soa');
+		$result[] = _search('dns', 'dns_soa');
 		
 		// secondary dns zones
-		$result_secondary_dns_zones = _search('dns', 'dns_slave');
+		$result[] = _search('dns', 'dns_slave');
 		
 		// virtual machines
-		$result_vms = _search('vm', 'openvz_vm');
+		$result[] = _search('vm', 'openvz_vm');
 		
 		// virtual machines os templates
-		$result_vm_ostemplates = _search('vm', 'openvz_ostemplate');
+		$result[] = _search('vm', 'openvz_ostemplate');
 		
 		// virtual machines vm templates
-		$result_vm_vmtemplates = _search('vm', 'openvz_template');
+		$result[] = _search('vm', 'openvz_template');
 		
 		// virtual machines ip addresses
-		$result_vm_ip_addresses = _search('vm', 'openvz_ip');
+		$result[] = _search('vm', 'openvz_ip');
 
-		$json = $app->functions->json_encode(array($result_clients, $result_webs, $result_ftp_users, $result_shell_users, $result_databases, $result_email_domains, $result_email_mailboxes, $result_dns_zones, $result_secondary_dns_zones, $result_vms, $result_vm_ostemplates, $result_vm_vmtemplates, $result_vm_ip_addresses));
+		$json = $app->functions->json_encode($result);
 	}
 
 //}
 
-function _search($module, $section){
+function _search($module, $section, $additional_sql = ''){
 	global $app, $q, $authsql, $modules;
-	//$q = $app->db->quote($_GET["q"]);
-	//$authsql = " AND ".$app->tform->getAuthSQL('r');
-	//$user_modules = explode(',', $_SESSION['s']['user']['modules']);
 
 	$result_array = array('cheader' => array(), 'cdata' => array());
 	if(in_array($module, $modules)){
@@ -159,10 +182,13 @@
 			// valid SQL query which returns an empty result set
 			$where_clause = '1 = 0';
 		}
+		if($where_clause != '') $where_clause = '('.$where_clause.')';
+		if($additional_sql != '') $where_clause .= ' '.$additional_sql.' ';
 		$order_clause = '';
 		if($order_by != '') $order_clause = ' ORDER BY '.$order_by;
 		
-		$results = $app->db->queryAllRecords("SELECT * FROM ".$db_table." WHERE ".$where_clause.$authsql.$order_clause);
+		$sql = "SELECT * FROM ".$db_table." WHERE ".$where_clause.$authsql.$order_clause." LIMIT 0,10";
+		$results = $app->db->queryAllRecords($sql);
 		
 		if(is_array($results) && !empty($results)){	
 			$lng_file = '../'.$module.'/lib/lang/'.$_SESSION['s']['language'].'_'.$section.'.lng';

--
Gitblit v1.9.1