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/web/sites/ajax_get_json.php |   88 ++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 80 insertions(+), 8 deletions(-)

diff --git a/interface/web/sites/ajax_get_json.php b/interface/web/sites/ajax_get_json.php
index 2672965..f7bbc71 100644
--- a/interface/web/sites/ajax_get_json.php
+++ b/interface/web/sites/ajax_get_json.php
@@ -36,8 +36,9 @@
 
 $app->uses('getconf');
 
-$server_id = intval($_GET["server_id"]);
-$web_id = intval($_GET["web_id"]);
+$server_id = $app->functions->intval($_GET["server_id"]);
+$web_id = $app->functions->intval($_GET["web_id"]);
+$php_type = $_GET["php_type"];
 $type = $_GET["type"];
 
 //if($_SESSION["s"]["user"]["typ"] == 'admin') {
@@ -67,16 +68,17 @@
 		$server_type = 'apache';
 		$web_config = $app->getconf->get_server_config($server_id, 'web');
 		if(!empty($web_config['server_type'])) $server_type = $web_config['server_type'];
-		if($server_type == 'nginx'){
-			$sql = "SELECT * FROM server_php WHERE php_fpm_init_script != '' AND php_fpm_ini_dir != '' AND php_fpm_pool_dir != '' AND server_id = $server_id";
-		} else {
-			$sql = "SELECT * FROM server_php WHERE php_fastcgi_binary != '' AND php_fastcgi_ini_dir != '' AND server_id = $server_id";
+		if($server_type == 'nginx' && $php_type == 'fast-cgi') $php_type = 'php-fpm';
+		if($php_type == 'php-fpm'){
+			$php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fpm_init_script != '' AND php_fpm_ini_dir != '' AND php_fpm_pool_dir != '' AND server_id = $server_id");
 		}
-		$php_records = $app->db->queryAllRecords($sql);
+		if($php_type == 'fast-cgi'){
+			$php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fastcgi_binary != '' AND php_fastcgi_ini_dir != '' AND server_id = $server_id");
+		}
 		$php_select = "";
 		if(is_array($php_records) && !empty($php_records)) {
 			foreach( $php_records as $php_record) {
-				if($server_type == 'nginx'){
+				if($php_type == 'php-fpm'){
 					$php_version = $php_record['name'].':'.$php_record['php_fpm_init_script'].':'.$php_record['php_fpm_ini_dir'].':'.$php_record['php_fpm_pool_dir'];
 				} else {
 					$php_version = $php_record['name'].':'.$php_record['php_fastcgi_binary'].':'.$php_record['php_fastcgi_ini_dir'];
@@ -97,8 +99,78 @@
 		unset($php);
 		$json .= '"}';
 	}
+	
+	if($type == 'getredirecttype'){
+		$json = '{"redirecttype":"';
+		$sql = "SELECT redirect_type FROM web_domain WHERE domain_id = $web_id";
+		$redirect = $app->db->queryOneRecord($sql);
+		$json .= $redirect['redirect_type'];
+		unset($redirect);
+		$json .= '"}';
+	}
+	
+	if($type == 'get_ipv4'){		
+		$result = array();
+		
+		// ipv4
+		//$result[] = _search('admin', 'server_ip', "AND ip_type = 'IPv4' AND (client_id = 0 OR client_id=".$app->functions->intval($_SESSION['s']['user']['client_id']).")");
+		$result[] = $app->functions->suggest_ips('IPv4');
+
+		$json = $app->functions->json_encode($result);
+	}
+	
+	if($type == 'get_ipv6'){		
+		$result = array();
+		
+		// ipv6
+		//$result[] = _search('admin', 'server_ip', "AND ip_type = 'IPv6' AND (client_id = 0 OR client_id=".$app->functions->intval($_SESSION['s']['user']['client_id']).")");
+		$result[] = $app->functions->suggest_ips('IPv6');
+		
+		$json = $app->functions->json_encode($result);
+	}
+    
+    if($type == 'getdatabaseusers') {
+		$json = '{';
+        
+		$sql = "SELECT sys_groupid FROM web_domain WHERE domain_id = $web_id";
+        $group = $app->db->queryOneRecord($sql);
+        if($group) {
+            $sql = "SELECT database_user_id, database_user FROM web_database_user WHERE sys_groupid = '" . $group['sys_groupid'] . "'";
+            $records = $app->db->queryAllRecords($sql);
+            
+            foreach($records as $record) {
+                $json .= '"'.$record['database_user_id'].'": "'.$record['database_user'].'",';
+            }
+            unset($records);
+            unset($group);
+        }
+        
+        if(substr($json,-1) == ',') $json = substr($json,0,-1);
+		$json .= '}';
+    }
+	
+	if($type == 'get_use_combobox'){
+		$json = '{"usecombobox":"';
+		$use_combobox = 'y';
+		$server_config_array = $app->getconf->get_global_config();
+		if($server_config_array['misc']['use_combobox'] != 'y') $use_combobox = 'n';
+		$json .= $use_combobox;
+		unset($server_config_array);
+		$json .= '"}';
+	}
+	
+	if($type == 'get_use_loadindicator'){
+		$json = '{"useloadindicator":"';
+		$use_loadindicator = 'y';
+		$server_config_array = $app->getconf->get_global_config();
+		if($server_config_array['misc']['use_loadindicator'] != 'y') $use_loadindicator = 'n';
+		$json .= $use_loadindicator;
+		unset($server_config_array);
+		$json .= '"}';
+	}
 
 //}
 
+header('Content-type: application/json');
 echo $json;
 ?>
\ No newline at end of file

--
Gitblit v1.9.1