[Mapbender-commits] r1178 - trunk/mapbender/http/php
svn_mapbender at osgeo.org
svn_mapbender at osgeo.org
Fri Mar 2 13:10:28 EST 2007
Author: christoph
Date: 2007-03-02 13:10:28 -0500 (Fri, 02 Mar 2007)
New Revision: 1178
Added:
trunk/mapbender/http/php/mod_gazetteerMetadata_search.php
Modified:
trunk/mapbender/http/php/mod_gazetteerMetadata.php
Log:
rewrote the module, now with ajax
Modified: trunk/mapbender/http/php/mod_gazetteerMetadata.php
===================================================================
--- trunk/mapbender/http/php/mod_gazetteerMetadata.php 2007-03-02 18:08:04 UTC (rev 1177)
+++ trunk/mapbender/http/php/mod_gazetteerMetadata.php 2007-03-02 18:10:28 UTC (rev 1178)
@@ -25,16 +25,6 @@
///* user authorization */
$user_id = $_SESSION["mb_user_id"];
-$n = new administration();
-$myguis = $n->getGuisByPermission($user_id,true);
-$mywms = $n->getWmsByOwnGuis($myguis);
-$mylayer = array();
-for($i=0; $i<count($mywms); $i++){
- $mylayer = array_merge($mylayer,$n->getLayerByWms($mywms[$i]));
-}
-if($mywms == false){
- $mywms = array();
-}
session_start();
$con = db_connect($DBSERVER,$OWNER,$PW);
db_select_db(DB,$con);
@@ -50,7 +40,7 @@
<meta http-equiv="expires" content="0">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="DC.Rights" content="WhereGroup GmbH & Co.KG, Bonn">
-<title>Suche</title>
+<title>Metadata search</title>
<?
$gui_id = $_SESSION["mb_user_gui"];
include_once("../include/dyn_css.php");
@@ -106,25 +96,21 @@
color: #000000;
width: 100px;
position: absolute;
- left: 75px
+ left: 5px
}
.sbutton{
font-size : 10px;
- width: 28px;
+ width: 60px;
height: 22px;
position: absolute;
- left: 192px;
+ left: 110px;
}
- .resultFrame{
- width: 480px;
- height: 430px;
- border: 1px;
+ .result{
position: absolute;
- top: 25px;
- left: 5px;
- overflow-x : hidden;
+ top: 40px;
+ left: 0px;
}
-->
</style>
@@ -140,9 +126,11 @@
return false;
}
else{
- text = "mod_gazetteerMetadata.php?&search=" + document.form1.search.value;
- window.frames["result"].location.href = text;
- return false;
+ document.getElementById("resultDivTag").innerHTML = "<table><tr><td><img src='../img/indicator_wheel.gif></td><td>Searching...</td></tr></table>";
+ parent.mb_ajax_post("mod_gazetteerMetadata_search.php", {"search":document.form1.search.value}, function(text, status){
+ document.getElementById("resultDivTag").innerHTML = text;
+ });
+ return false;
}
}
@@ -253,145 +241,13 @@
</head>
<body leftmargin="2" topmargin="0" bgcolor="#ffffff">
<?php
-function mb_utf8_encode($text) {
- if(CHARSET=="UTF-8") return utf8_encode($text);
- return $text;
-}
-function mb_utf8_decode($text) {
- if(CHARSET=="UTF-8") return utf8_decode($text);
- return $text;
-}
-$res_container_wms = array();
-$res_container_layer = array();
+echo "<form name='form1' target='result' onsubmit='return validate();'>";
+echo "<input class='textfield' name='search' type='text'> ";
+echo "<input class='sbutton' type='submit' name='send' value='search'>";
+echo "</form>";
+echo "<div id='resultDivTag' class='result'></div>";
-if(!isset($_REQUEST["search"]) || $_REQUEST["search"] == ""){
- echo "<form name='form1' target='result' onsubmit='return validate();'>";
- echo "Suchen: <input class='textfield' name='search' type='text'> ";
- echo "<input class='sbutton' type='submit' name='send' value='ok'>";
- echo "<iframe frameborder='1' name='result' src='../html/mod_blank.html' class='resultFrame' scrolling='auto'></iframe>";
- echo "</form>";
-}
-else{
- if(preg_match("/\*/",$_REQUEST["search"])){
- $search = trim(preg_replace("/\*/i","", $_REQUEST["search"]));
- }
-
-
- if (count($mywms) > 0) {
- $v = array();
- $t = array();
-
- // get wms_id, _title, _abstract, _getCapabilities, layer_id
- $sql = "SELECT DISTINCT wms.wms_id, wms.wms_title, wms.wms_abstract, wms.wms_getcapabilities, wms.wms_version, l.layer_id FROM wms, layer AS l WHERE l.layer_pos = 0 AND wms.wms_id = l.fkey_wms_id AND wms.wms_id IN (";
- for($i=0; $i<count($mywms); $i++){
- if ($i > 0) {$sql .= ",";}
- $sql .= "$".($i+1);
- array_push($v, $mywms[$i]);
- array_push($t, 'i');
- }
- $sql .= ") ORDER BY wms.wms_title";
- $res = db_prep_query($sql,$v,$t);
- }
- if (count($mylayer) > 0) {
- $v = array();
- $t = array();
- $sql2 = "SELECT DISTINCT l.layer_id, l.layer_title, l.layer_abstract, l.layer_name, kw.keyword FROM layer l";
- $sql2 .= " LEFT JOIN layer_keyword lkw ON lkw.fkey_layer_id=l.layer_id";
- $sql2 .= " LEFT JOIN keyword kw ON kw.keyword_id=lkw.fkey_keyword_id WHERE l.layer_id IN (";
- for($i = 0; $i < count($mylayer); $i++){
- if ($i > 0) {$sql2 .= ",";}
- $sql2 .= "$".($i+1);
- array_push($v, $mylayer[$i]);
- array_push($t, 'i');
- }
- $sql2 .= ") ORDER BY l.layer_title";
- $res2 = db_prep_query($sql2,$v,$t);
- }
-
-
- $cnt = 0;
-
- while(db_fetch_row($res) || db_fetch_row($res2)){
-
- //displayed result titles
- $result_title1 = db_result($res,$cnt,"wms_title"); # Ergebnisspalte1
- $result_title2 = db_result($res2,$cnt,"layer_title"); # Ergebnisspalte2
- $result_title3 = db_result($res2,$cnt,"layer_name"); # Ergebnisspalte3
-
- //result_ids for identification of wms & layers
- $result_id1 = db_result($res,$cnt,"wms_id"); # Ergebnis-ID 1
- $result_id2 = db_result($res2,$cnt,"layer_id"); # Ergebnis-ID 2
- $result_id3 = db_result($res,$cnt,"layer_id"); # Ergebnis-ID 3 --> layer_id des nullten Layers für wms-Metadatenaufruf per URL
-
- //wms_getcapabilities & wms_version for function add_wms
- $result_column1 = db_result($res,$cnt,"wms_getcapabilities"); # Ergebnis-Spalte 1: wms_getcapabilities
- $result_column2 = db_result($res,$cnt,"wms_version"); # Ergebnis-Spalte 2: wms_version
-
- //search columns
- $search_column1 = db_result($res,$cnt,"wms_abstract"); # Suchspalte1
- $search_column2 = db_result($res,$cnt,"wms_title"); # Suchspalte2
- $search_column3 = db_result($res2,$cnt,"layer_title"); # Suchspalte3
- $search_column4 = db_result($res2,$cnt,"layer_abstract"); # Suchspalte4
- $search_column5 = db_result($res2,$cnt,"keyword"); # Suchspalte5
-
- $num = 0;
-
- if($search_column1 != '' || $search_column2 != ''){
- //put search_columns db results in array
- $array_search_keywords = array_merge(explode(",", $search_column1), explode(",", $search_column2));
-
- for ($p=0 ; $p<count($array_search_keywords);$p++){
- if(preg_match("/".$_REQUEST["search"]."/i",$array_search_keywords[$p]) && array_search($result_id1, $res_container_wms)==FALSE){
- echo "<br><a href='#' onClick='mod_addWMSfromfilteredList(\"".$result_column1."\",\"".$result_column2."\")'>".
- "<img align='top' name='add_wms' src='../img/button_gray/add_off.png' border='1' style='width:24px; height:24px'></a> ".
- "<img align='top' name='wms_gif' src='../img/wms.gif' border='0'><a href='#' onmouseover='javascript:showHighlight();' ".
- "onmouseout='javascript:hideHighlight();' ".
- "onClick='javascript:window.open(\"mod_layerMetadata.php?id=".$result_id3."\", \"metadata\", \"width=450, height=600\");'> ".mb_utf8_decode($result_title1)."</a>"; # = WMS-ID: ".$result_id1."
- $num++;
- $res_container_wms[$num] = $result_id1;
-
- }
- }
- }
- elseif($search_column3 != '' || $search_column4 != ''|| $search_column5 != ''){
-
- //put search_columns db results in array
- $array_search_keywords2 = array_merge(explode(",", $search_column3),explode(",", $search_column4), explode(",", $search_column5));
-
- for ($q=0 ; $q<count($array_search_keywords2);$q++){
- if(preg_match("/".$_REQUEST["search"]."/i",$array_search_keywords2[$q]) && array_search($result_id2, $res_container_layer)==FALSE){
- $sql_wms = "SELECT DISTINCT wms.wms_getcapabilities, wms.wms_version FROM wms, gui_layer gl";
- $sql_wms .= " WHERE gl.fkey_layer_id = $1";
- $sql_wms .= " AND gl.gui_layer_wms_id = wms.wms_id";
- $v = array($result_id2);
- $t = array('i');
- $res_wms = db_prep_query($sql_wms,$v,$t);
- $row = db_fetch_array($res_wms);
- $wms_cap = $row['wms_getcapabilities'];
- $wms_version = $row['wms_version'];
-
- echo "<br><a href='#' onClick='mod_addWMSLayerfromfilteredList(\"".$wms_cap."\",\"".$wms_version."\", \"".$result_title3."\")'>".
- "<img align='top' name='add_wms' src='../img/button_gray/add_off.png' border='1' style='width:24px; height:24px'></a> ".
- "<img align='top' name='layer_gif' src='../img/layer.gif' border='0'><a href='#' onmouseover='javascript:showHighlight();' ".
- "onmouseout='javascript:hideHighlight();' ".
- "onClick='javascript:window.open(\"mod_layerMetadata.php?id=".$result_id2."\", \"metadata\", \"width=450, height=600\");'> ".mb_utf8_decode($result_title2)."</a>"; # = LAYER-ID (aus Suche layer_abstract): ".$result_id2."
- $num++;
- $res_container_layer[$num] = $result_id2;
- }
- }
- }
- $cnt++;
- }
- //echo the message below if there is no search result for wms, layer & keywords
- if(count($res_container_wms)==0 && count($res_container_layer)==0){
- echo "Kein Ergebnis!";
- }
-
- echo "<form action='" . $PHP_SELF . "?".SID."' method='post'>";
-
- echo "</form>";
-}
?>
</body>
</html>
Added: trunk/mapbender/http/php/mod_gazetteerMetadata_search.php
===================================================================
--- trunk/mapbender/http/php/mod_gazetteerMetadata_search.php (rev 0)
+++ trunk/mapbender/http/php/mod_gazetteerMetadata_search.php 2007-03-02 18:10:28 UTC (rev 1178)
@@ -0,0 +1,98 @@
+<?php
+session_start();
+
+$user_id = $_SESSION["mb_user_id"];
+$query = $_REQUEST["search"];
+
+require_once(dirname(__FILE__)."/../../conf/mapbender.conf");
+require_once(dirname(__FILE__)."/../classes/class_administration.php");
+
+
+
+$n = new administration();
+$myguis = $n->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();
+
+if(preg_match("/\*/",$_REQUEST["search"])){
+ $search = trim(preg_replace("/\*/i","", $_REQUEST["search"]));
+}
+
+$resultStr = "";
+
+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<count($mywms); $i++){
+ if ($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)) {
+ $resultStr .= "<tr><td valign='top'>";
+ $resultStr .= "<a href='#' onClick='mod_addWMSfromfilteredList(\"".$row['wms_getcapabilities']."\",\"".$row['wms_version']."\")'>";
+ $resultStr .= "<img name='add_wms' src='../img/button_gray/metadata_wms.gif' border='0'></a> ";
+ $resultStr .= "</td><td>";
+ $resultStr .= "<a href='#' onmouseover='javascript:showHighlight();' onmouseout='javascript:hideHighlight();' onClick='javascript:window.open(\"mod_layerMetadata.php?id=".$row['layer_id']."\", \"metadata\", \"width=450, height=600\");'> ";
+ $resultStr .= $row['wms_title']."</a>"; # = WMS-ID: ".$result_id1."
+ $resultStr .= "</td></tr>";
+ }
+}
+
+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)) {
+ $resultStr .= "<tr><td valign='top'>";
+ $resultStr .= "<a href='#' onClick='mod_addWMSLayerfromfilteredList(\"".$row['wms_getcapabilities']."\",\"".$row['wms_version']."\", \"".$row['layer_name']."\");'>";
+ $resultStr .= "<img name='add_wms' src='../img/button_gray/metadata_layer.gif' border='0'></a> ";
+ $resultStr .= "</td><td>";
+ $resultStr .= "<a href='#' onmouseover='javascript:showHighlight();' onmouseout='javascript:hideHighlight();' ";
+ $resultStr .= "onClick='javascript:window.open(\"mod_layerMetadata.php?id=".$row['layer_id']."\", \"metadata\", \"width=450, height=600\");'>";
+ $resultStr .= $row['layer_title']."</a>"; # = LAYER-ID (aus Suche layer_abstract): ".$result_id2."
+ $resultStr .= "</td></tr>";
+ }
+}
+
+if ($resultStr != "") {
+ echo "<table>".$resultStr."</table>";
+}
+else {
+ echo " No result.";
+}
+?>
\ No newline at end of file
More information about the Mapbender_commits
mailing list