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