getGuisByPermission($user_id, true); $mywms = $n->getWmsByOwnGuis($myguis); if($mywms == false){ $mywms = array(); } $mylayer = array(); for($i = 0; $i < count($mywms); $i++){ $mylayer = array_merge($mylayer,$n->getLayerByWms($mywms[$i])); } $res_container_wms = array(); $res_container_layer = array(); $obj = array(); if(preg_match("/\*/",$_REQUEST["search"])){ $search = trim(preg_replace("/\*/i","", $_REQUEST["search"])); } if (count($mywms) > 0) { $v = array(); $t = array(); $sql_wms = "SELECT layer.layer_id, wms.wms_title, wms.wms_getcapabilities, wms.wms_version "; $sql_wms .= "FROM wms LEFT JOIN layer ON wms.wms_id = layer.fkey_wms_id "; $sql_wms .= "WHERE layer.layer_pos = 0 AND wms.wms_id IN ("; for($i=0; $i 0) {$sql_wms .= ",";} $sql_wms .= "$".($i+1); array_push($v, $mywms[$i]); array_push($t, 'i'); } $sql_wms .= ") AND (wms_title ILIKE '%".$query."%' OR wms_abstract ILIKE '%".$query."%') ORDER BY wms_title"; $res_wms = db_prep_query($sql_wms,$v,$t); while ($row = db_fetch_array($res_wms)) { array_push($obj, array('wms_getcapabilities' => $row['wms_getcapabilities'], 'wms_version' => $row['wms_version'], 'layer_id' => $row['layer_id'], 'title' => $row['wms_title'])); } } if (count($mylayer) > 0) { $v = array(); $t = array(); $sql_layer = "SELECT l.layer_id, l.fkey_wms_id, l.layer_title, l.layer_name ,"; $sql_layer .= "w.wms_getcapabilities, w.wms_version "; $sql_layer .= "FROM layer l LEFT JOIN layer_keyword lkw LEFT JOIN keyword kw ON kw.keyword_id = lkw.fkey_keyword_id "; $sql_layer .= "ON l.layer_id = lkw.fkey_layer_id LEFT JOIN wms w ON l.fkey_wms_id = w.wms_id WHERE l.layer_id IN ("; for($i = 0; $i < count($mylayer); $i++){ if ($i > 0) {$sql_layer .= ",";} $sql_layer .= "$".($i+1); array_push($v, $mylayer[$i]); array_push($t, 'i'); } $sql_layer .= ") AND (layer_title ILIKE '%".$query."%' OR layer_name ILIKE '%".$query."%' OR layer_abstract ILIKE '%".$query."%' OR kw.keyword ILIKE '%".$query."%') "; $sql_layer .= "ORDER BY l.layer_title;"; $res_layer = db_prep_query($sql_layer,$v,$t); while ($row = db_fetch_array($res_layer)) { array_push($obj, array('wms_getcapabilities' => $row['wms_getcapabilities'], 'wms_version' => $row['wms_version'], 'layer_name' => $row['layer_name'], 'layer_id' => $row['layer_id'], 'title' => $row['layer_title'])); } } $json = new Services_JSON(); $output = $json->encode($obj); echo $output; ?>