From 71c74b1b572f3bdf00ba99009cc23f8f48072a1c Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Sat, 08 Mar 2014 11:58:49 -0500
Subject: [PATCH] Fixed: FS#3372 - Web browser password autofill function overwrites settings

---
 interface/web/dns/ajax_get_json.php |   84 +++++++++++++++++++++++-------------------
 1 files changed, 46 insertions(+), 38 deletions(-)

diff --git a/interface/web/dns/ajax_get_json.php b/interface/web/dns/ajax_get_json.php
index 410bc77..781fa8e 100644
--- a/interface/web/dns/ajax_get_json.php
+++ b/interface/web/dns/ajax_get_json.php
@@ -28,48 +28,51 @@
 EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
 
-require_once('../../lib/config.inc.php');
-require_once('../../lib/app.inc.php');
+require_once '../../lib/config.inc.php';
+require_once '../../lib/app.inc.php';
 
 //* Check permissions for module
 $app->auth->check_module_permissions('dns');
 
-$app->uses('tform');
+//$app->uses('tform');
 
 $type = $_GET["type"];
 
 //if($_SESSION["s"]["user"]["typ"] == 'admin') {
 
-	
-	if($type == 'get_ipv4'){
-		$q = $app->db->quote(trim($_GET["q"]));
-		$authsql = " AND ".$app->tform->getAuthSQL('r');
-		$modules = explode(',', $_SESSION['s']['user']['modules']);
-		
-		$result = array();
-		
-		// ipv4
-		$result[] = _search('admin', 'server_ip', "AND ip_type = 'IPv4' AND (client_id = 0 OR client_id=".intval($_SESSION['s']['user']['client_id']).")");
 
-		$json = $app->functions->json_encode($result);
-	}
-	
-	if($type == 'get_ipv6'){
-		$q = $app->db->quote(trim($_GET["q"]));
-		$authsql = " AND ".$app->tform->getAuthSQL('r');
-		$modules = explode(',', $_SESSION['s']['user']['modules']);
-		
-		$result = array();
-		
-		// ipv4
-		$result[] = _search('admin', 'server_ip', "AND ip_type = 'IPv6' AND (client_id = 0 OR client_id=".intval($_SESSION['s']['user']['client_id']).")");
+if($type == 'get_ipv4'){
+	//$q = $app->db->quote(trim($_GET["q"]));
+	//$authsql = " AND ".$app->tform->getAuthSQL('r');
+	//$modules = explode(',', $_SESSION['s']['user']['modules']);
 
-		$json = $app->functions->json_encode($result);
-	}
+	$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'){
+	//$q = $app->db->quote(trim($_GET["q"]));
+	//$authsql = " AND ".$app->tform->getAuthSQL('r');
+	//$modules = explode(',', $_SESSION['s']['user']['modules']);
+
+	$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);
+}
 
 //}
 
-function _search($module, $section, $additional_sql = ''){
+/*
+function _search($module, $section, $additional_sql = '', $unique = false){
 	global $app, $q, $authsql, $modules;
 
 	$result_array = array('cheader' => array(), 'cdata' => array());
@@ -78,13 +81,13 @@
 		$desc_fields = array();
 		if(is_file('../'.$module.'/form/'.$section.'.tform.php')){
 			include_once('../'.$module.'/form/'.$section.'.tform.php');
-			
+
 			$category_title = $form["title"];
 			$form_file = $form["action"];
 			$db_table = $form["db_table"];
 			$db_table_idx = $form["db_table_idx"];
 			$order_by = $db_table_idx;
-			
+
 			if(is_array($form["tabs"]) && !empty($form["tabs"])){
 				foreach($form["tabs"] as $tab){
 					if(is_array($tab['fields']) && !empty($tab['fields'])){
@@ -105,7 +108,7 @@
 			}
 		}
 		unset($form);
-		
+
 		$where_clause = '';
 		if(!empty($search_fields)){
 			$where_clause = implode(' OR ', $search_fields);
@@ -117,11 +120,11 @@
 		if($additional_sql != '') $where_clause .= ' '.$additional_sql.' ';
 		$order_clause = '';
 		if($order_by != '') $order_clause = ' ORDER BY '.$order_by;
-		
+
 		$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)){	
+
+		if(is_array($results) && !empty($results)){
 			$lng_file = '../'.$module.'/lib/lang/'.$_SESSION['s']['language'].'_'.$section.'.lng';
 			if(is_file($lng_file)) include($lng_file);
 			$result_array['cheader'] = array('title' => $category_title,
@@ -137,18 +140,23 @@
 					}
 					if(!empty($desc_items)) $description = implode(' - ', $desc_items);
 				}
-				
+
 				$result_array['cdata'][] = array(	'title' => $wb[$title_key.'_txt'].': '.$result[$title_key],
 													'description' => $description,
 													'onclick' => '',
 													'fill_text' => $result[$title_key]
 												);
-			}	
+			}
+			if($unique === true){
+				$result_array['cdata'] = array_unique($result_array['cdata']);
+				$result_array['cheader']['total'] = $result_array['cheader']['limit'] = count($result_array['cdata']);
+			}
 		}
 	}
 	return $result_array;
 }
-		
+*/
+
 header('Content-type: application/json');
 echo $json;
-?>
\ No newline at end of file
+?>

--
Gitblit v1.9.1