getLayerAttr($layersList); break; case 'getAllLayers': require_once("MultiLayerSearch.php"); getAllLayers(); break; case 'getLayerName': require_once("MultiLayerSearch.php"); $layer=''; $json_arr=Array(); if (isset($_REQUEST['layer'])) { $layer=$_REQUEST['layer']; } $layer_name=getLayerName($layer); $json_arr['name']=$layer_name; $json_arr['layer']=$layer; $encoded=json_encode($json_arr); print $encoded; break; case 'getBoxLayers': require_once("MultiLayerSearch.php"); $bbox=""; if (isset($_REQUEST['bbox'])) { $bbox=$_REQUEST['bbox']; } else { die(return_error('Required parameters are not set')); }
function getBBOXSearchData($bbox,$layersList){ $json_arr1 = array(); $count = count($layersList); for($i=0; $i<$count; $i++) { $json_arr2 = array(); $json_rowIter = 0; $query = "SELECT column_name FROM information_schema.columns WHERE table_name='".$layersList[$i]."' AND column_name not like '__mlocate___%'"; $result_db = db_query($query); $temp=""; while ($result = db_fetch_object($result_db)) { $temp='"'.$result->column_name.'",'.$temp; } $col_list = rtrim($temp,","); $col_list .= ',"'.AUTO_DBCOL_PREFIX.'id"'; $query = "SELECT ".$col_list." FROM ".$layersList[$i]." WHERE ".AUTO_DBCOL_PREFIX."topology @ setSRID('BOX3D(".trim($bbox,"\"").")'::box3d, (select srid from geometry_columns where f_table_name = '".$layersList[$i]."'))"; $result_db = db_query($query); while ($result = db_fetch_object($result_db)) { $col_list_sp = split(",",$col_list); $col_list_sp = str_replace('"','' ,$col_list_sp ); foreach ($col_list_sp as $col_name) { $json_arr2[$col_name][$json_rowIter] = $result->$col_name; } $json_rowIter++; } $lyr_name = getLayerName($layersList[$i]); $json_arr1[$layersList[$i].":". $lyr_name] = $json_arr2; } $encoded = json_encode($json_arr1); echo $encoded; }