[Mapbender-commits] r10097 - trunk/mapbender/http/php
svn_mapbender at osgeo.org
svn_mapbender at osgeo.org
Wed Apr 10 05:45:24 PDT 2019
Author: armin11
Date: 2019-04-10 05:45:24 -0700 (Wed, 10 Apr 2019)
New Revision: 10097
Modified:
trunk/mapbender/http/php/mod_callCswMetadata.php
Log:
Fix for broken metadata record
Modified: trunk/mapbender/http/php/mod_callCswMetadata.php
===================================================================
--- trunk/mapbender/http/php/mod_callCswMetadata.php 2019-04-09 08:14:50 UTC (rev 10096)
+++ trunk/mapbender/http/php/mod_callCswMetadata.php 2019-04-10 12:45:24 UTC (rev 10097)
@@ -33,7 +33,7 @@
$searchResources = $dummySearchResources;
$searchPages = $dummySearchPages;
// $resourceIds = NULL; //resourceIds is used to get a comma separated list with ids of the resources - layer - featuretypes - wmc
-//it will be used to filter some results
+//it will be used to filter some results
$resultTarget = "web";
// $preDefinedMaxResults = array(5,10,15,20,25,30);
// $searchEPSG = "EPSG:31466";
@@ -59,7 +59,7 @@
//$e = new mb_exception("mod_callMetadata.php: searchURL".$searchURL);
//decode it !
$searchURL = urldecode($searchURL);
-//list of possibly hierarchyLevels - iso 19115 MD_ScopeCode
+//list of possibly hierarchyLevels - iso 19115 MD_ScopeCode
$MD_ScopeCode = array("attribute","attributeType","collectionHardware","collectionSession","dataset","series","nonGeographicDataset","dimensionGroup","feature","featureType","propertyType","fieldSession","software","service","model","tile");
$MD_ScopeCode[] = "application";
$MD_ScopeCode[] = "spatialData";
@@ -83,11 +83,11 @@
$test="(SELECT\s[\w\*\)\(\,\s]+\sFROM\s[\w]+)| (UPDATE\s[\w]+\sSET\s[\w\,\'\=]+)| (INSERT\sINTO\s[\d\w]+[\s\w\d\)\(\,]*\sVALUES\s\([\d\w\'\,\)]+)| (DELETE\sFROM\s[\d\w\'\=]+)";
//validate to csv integer list
$testMatch = $_REQUEST["searchText"];
- $pattern = '/(\%27)|(\')|(\-\-)|(\")|(\%22)/';
+ $pattern = '/(\%27)|(\')|(\-\-)|(\")|(\%22)/';
if (preg_match($pattern,$testMatch)){
- //echo 'searchText: <b>'.$testMatch.'</b> is not valid.<br/>';
- echo 'Parameter <b>searchText</b> is not valid.<br/>';
- die();
+ //echo 'searchText: <b>'.$testMatch.'</b> is not valid.<br/>';
+ echo 'Parameter <b>searchText</b> is not valid.<br/>';
+ die();
}
$searchText = $testMatch;
$searchText = str_replace('<','{<}',$searchText);
@@ -101,11 +101,11 @@
/*if (isset($_REQUEST["registratingDepartments"]) & $_REQUEST["registratingDepartments"] != "") {
//validate to csv integer list
$testMatch = $_REQUEST["registratingDepartments"];
- $pattern = '/^[\d,]*$/';
- if (!preg_match($pattern,$testMatch)){
+ $pattern = '/^[\d,]*$/';
+ if (!preg_match($pattern,$testMatch)){
//echo 'registratingDepartments: <b>'.$testMatch.'</b> is not valid.<br/>';
echo 'Parameter <b>registratingDepartments</b> is not valid (integer or cs integer list).<br/>';
- die();
+ die();
}
$registratingDepartments = $testMatch;
$testMatch = NULL;
@@ -113,11 +113,11 @@
if (isset($_REQUEST["resourceIds"]) & $_REQUEST["resourceIds"] != "") {
//validate to csv integer list
$testMatch = $_REQUEST["resourceIds"];
- $pattern = '/^[\d,]*$/';
- if (!preg_match($pattern,$testMatch)){
- //echo 'resourceIds: <b>'.$testMatch.'</b> is not valid.<br/>';
- echo 'Parameter <b>resourceIds</b> is not valid (integer or cs integer list).<br/>';
- die();
+ $pattern = '/^[\d,]*$/';
+ if (!preg_match($pattern,$testMatch)){
+ //echo 'resourceIds: <b>'.$testMatch.'</b> is not valid.<br/>';
+ echo 'Parameter <b>resourceIds</b> is not valid (integer or cs integer list).<br/>';
+ die();
}
$resourceIds = $testMatch;
$testMatch = NULL;
@@ -125,11 +125,11 @@
if (isset($_REQUEST["isoCategories"]) & $_REQUEST["isoCategories"] != "") {
//validate to csv integer list
$testMatch = $_REQUEST["isoCategories"];
- $pattern = '/^[\d,]*$/';
- if (!preg_match($pattern,$testMatch)){
- //echo 'isoCategories: <b>'.$testMatch.'</b> is not valid.<br/>';
- echo 'Parameter <b>isoCategories</b> is not valid (integer or cs integer list).<br/>';
- die();
+ $pattern = '/^[\d,]*$/';
+ if (!preg_match($pattern,$testMatch)){
+ //echo 'isoCategories: <b>'.$testMatch.'</b> is not valid.<br/>';
+ echo 'Parameter <b>isoCategories</b> is not valid (integer or cs integer list).<br/>';
+ die();
}
$isoCategories = $testMatch;
$testMatch = NULL;
@@ -137,11 +137,11 @@
if (isset($_REQUEST["inspireThemes"]) & $_REQUEST["inspireThemes"] != "") {
//validate to csv integer list
$testMatch = $_REQUEST["inspireThemes"];
- $pattern = '/^[\d,]*$/';
- if (!preg_match($pattern,$testMatch)){
- //echo 'inspireThemes: <b>'.$testMatch.'</b> is not valid.<br/>';
- echo 'Parameter <b>inspireThemes</b> is not valid (integer or cs integer list).<br/>';
- die();
+ $pattern = '/^[\d,]*$/';
+ if (!preg_match($pattern,$testMatch)){
+ //echo 'inspireThemes: <b>'.$testMatch.'</b> is not valid.<br/>';
+ echo 'Parameter <b>inspireThemes</b> is not valid (integer or cs integer list).<br/>';
+ die();
}
$inspireThemes = $testMatch;
$testMatch = NULL;
@@ -150,11 +150,11 @@
if (isset($_REQUEST["customCategories"]) & $_REQUEST["customCategories"] != "") {
//validate to csv integer list
$testMatch = $_REQUEST["customCategories"];
- $pattern = '/^[\d,]*$/';
+ $pattern = '/^[\d,]*$/';
if (!preg_match($pattern,$testMatch)){
//echo 'customCategories: <b>'.$testMatch.'</b> is not valid.<br/>';
- echo 'Parameter <b>customCategories</b> is not valid (integer or cs integer list).<br/>';
- die();
+ echo 'Parameter <b>customCategories</b> is not valid (integer or cs integer list).<br/>';
+ die();
}
$customCategories = $testMatch;
$testMatch = NULL;
@@ -163,22 +163,22 @@
if (isset($_REQUEST["timeBegin"]) & $_REQUEST["timeBegin"] != "") {
//validate to iso date format YYYY-MM-DD
$testMatch = $_REQUEST["timeBegin"];
- $pattern = '/^(19|20)[0-9]{2}[-](0[1-9]|1[012])[-](0[1-9]|[12][0-9]|3[01])$/';
+ $pattern = '/^(19|20)[0-9]{2}[-](0[1-9]|1[012])[-](0[1-9]|[12][0-9]|3[01])$/';
if (!preg_match($pattern,$testMatch)){
- //echo 'timeBegin: <b>'.$testMatch.'</b> is not valid.<br/>';
- echo 'Parameter <b>timeBegin</b> is not valid.<br/>';
- die();
+ //echo 'timeBegin: <b>'.$testMatch.'</b> is not valid.<br/>';
+ echo 'Parameter <b>timeBegin</b> is not valid.<br/>';
+ die();
}
$timeBegin = $testMatch;
- $testMatch = NULL;
+ $testMatch = NULL;
}
if (isset($_REQUEST["timeEnd"]) & $_REQUEST["timeEnd"] != "") {
$testMatch = $_REQUEST["timeEnd"];
- $pattern = '/^(19|20)[0-9]{2}[-](0[1-9]|1[012])[-](0[1-9]|[12][0-9]|3[01])$/';
- if (!preg_match($pattern,$testMatch)){
- //echo 'timeEnd: <b>'.$testMatch.'</b> is not valid.<br/>';
- echo 'Parameter <b>timeEnd</b> is not valid.<br/>';
- die();
+ $pattern = '/^(19|20)[0-9]{2}[-](0[1-9]|1[012])[-](0[1-9]|[12][0-9]|3[01])$/';
+ if (!preg_match($pattern,$testMatch)){
+ //echo 'timeEnd: <b>'.$testMatch.'</b> is not valid.<br/>';
+ echo 'Parameter <b>timeEnd</b> is not valid.<br/>';
+ die();
}
$timeEnd = $testMatch;
$testMatch = NULL;
@@ -186,11 +186,11 @@
if (isset($_REQUEST["regTimeBegin"]) & $_REQUEST["regTimeBegin"] != "") {
//validate to iso date format YYYY-MM-DD
$testMatch = $_REQUEST["regTimeBegin"];
- $pattern = '/^(19|20)[0-9]{2}[-](0[1-9]|1[012])[-](0[1-9]|[12][0-9]|3[01])$/';
- if (!preg_match($pattern,$testMatch)){
- //echo 'regTimeBegin: <b>'.$testMatch.'</b> is not valid.<br/>';
- echo 'Parameter <b>regTimeBegin</b> is not valid.<br/>';
- die();
+ $pattern = '/^(19|20)[0-9]{2}[-](0[1-9]|1[012])[-](0[1-9]|[12][0-9]|3[01])$/';
+ if (!preg_match($pattern,$testMatch)){
+ //echo 'regTimeBegin: <b>'.$testMatch.'</b> is not valid.<br/>';
+ echo 'Parameter <b>regTimeBegin</b> is not valid.<br/>';
+ die();
}
$regTimeBegin = $testMatch;
$testMatch = NULL;
@@ -198,11 +198,11 @@
if (isset($_REQUEST["regTimeEnd"]) & $_REQUEST["regTimeEnd"] != "") {
//validate to iso date format YYYY-MM-DD
$testMatch = $_REQUEST["regTimeEnd"];
- $pattern = '/^(19|20)[0-9]{2}[-](0[1-9]|1[012])[-](0[1-9]|[12][0-9]|3[01])$/';
- if (!preg_match($pattern,$testMatch)){
+ $pattern = '/^(19|20)[0-9]{2}[-](0[1-9]|1[012])[-](0[1-9]|[12][0-9]|3[01])$/';
+ if (!preg_match($pattern,$testMatch)){
//echo 'regTimeEnd: <b>'.$testMatch.'</b> is not valid.<br/>';
echo 'Parameter <b>regTimeEnd</b> is not valid.<br/>';
- die();
+ die();
}
$regTimeEnd = $testMatch;
$testMatch = NULL;
@@ -212,11 +212,11 @@
//validate integer to 100 - not more
$testMatch = $_REQUEST["maxResults"];
//give max 99 entries - more will be to slow
- $pattern = '/^([0-9]{0,1})([0-9]{1})$/';
- if (!preg_match($pattern,$testMatch)){
- //echo 'maxResults: <b>'.$testMatch.'</b> is not valid.<br/>';
- echo 'Parameter <b>maxResults</b> is not valid (integer < 99).<br/>';
- die();
+ $pattern = '/^([0-9]{0,1})([0-9]{1})$/';
+ if (!preg_match($pattern,$testMatch)){
+ //echo 'maxResults: <b>'.$testMatch.'</b> is not valid.<br/>';
+ echo 'Parameter <b>maxResults</b> is not valid (integer < 99).<br/>';
+ die();
}
$maxResults = $testMatch;
$testMatch = NULL;
@@ -225,32 +225,32 @@
//validate integer to 100 - not more
$testMatch = $_REQUEST["catalogueId"];
//
- $pattern = '/^([0-9]{0,1})([0-9]{1})$/';
- if (!preg_match($pattern,$testMatch)){
- //echo 'maxResults: <b>'.$testMatch.'</b> is not valid.<br/>';
- echo 'Parameter <b>catalogueId</b> is not valid (integer < 99).<br/>';
- die();
+ $pattern = '/^([0-9]{0,1})([0-9]{1})$/';
+ if (!preg_match($pattern,$testMatch)){
+ //echo 'maxResults: <b>'.$testMatch.'</b> is not valid.<br/>';
+ echo 'Parameter <b>catalogueId</b> is not valid (integer < 99).<br/>';
+ die();
}
$catalogueId = $testMatch;
$testMatch = NULL;
} else {
- echo 'Mandatory parameter <b>catalogueId</b> not set!<br/>';
+ echo 'Mandatory parameter <b>catalogueId</b> not set!<br/>';
die();
}
if (isset($_REQUEST["searchBbox"]) & $_REQUEST["searchBbox"] != "") {
//validate to float/integer
$testMatch = $_REQUEST["searchBbox"];
- //$pattern = '/^[-\d,]*$/';
+ //$pattern = '/^[-\d,]*$/';
$pattern = '/^[-+]?([0-9]*\.[0-9]+|[0-9]+)*$/';
$testMatchArray = explode(',',$testMatch);
if (count($testMatchArray) != 4) {
- echo 'Parameter <b>searchBbox</b> has a wrong amount of entries.<br/>';
- die();
+ echo 'Parameter <b>searchBbox</b> has a wrong amount of entries.<br/>';
+ die();
}
for($i=0; $i<count($testMatchArray);$i++){
- if (!preg_match($pattern,$testMatchArray[$i])){
- echo 'Parameter <b>searchBbox</b> is not a valid coordinate value.<br/>';
- die();
+ if (!preg_match($pattern,$testMatchArray[$i])){
+ echo 'Parameter <b>searchBbox</b> is not a valid coordinate value.<br/>';
+ die();
}
}
$searchBbox = $testMatch;
@@ -258,11 +258,11 @@
}
if (isset($_REQUEST["searchTypeBbox"]) & $_REQUEST["searchTypeBbox"] != "") {
//validate to inside / outside - TODO implement other ones than intersects which is default
- $testMatch = $_REQUEST["searchTypeBbox"];
- if (!($testMatch == 'inside' or $testMatch == 'outside' or $testMatch == 'intersects')){
+ $testMatch = $_REQUEST["searchTypeBbox"];
+ if (!($testMatch == 'inside' or $testMatch == 'outside' or $testMatch == 'intersects')){
//echo 'searchTypeBbox: <b>'.$testMatch.'</b> is not valid.<br/>';
- echo 'Parameter <b>searchTypeBbox</b> is not valid (inside,outside,intersects).<br/>';
- die();
+ echo 'Parameter <b>searchTypeBbox</b> is not valid (inside,outside,intersects).<br/>';
+ die();
}
$searchTypeBbox = $testMatch; //TODO activate this
$testMatch = NULL;
@@ -273,21 +273,21 @@
}*/
if (isset($_REQUEST["languageCode"]) & $_REQUEST["languageCode"] != "") {
//validate to de, en, fr
- $testMatch = $_REQUEST["languageCode"];
- if (!($testMatch == 'de' or $testMatch == 'en' or $testMatch == 'fr')){
- //echo 'languageCode: <b>'.$testMatch.'</b> is not valid.<br/>';
- echo 'Parameter <b>languageCode</b> is not valid (de,fr,en).<br/>';
- die();
+ $testMatch = $_REQUEST["languageCode"];
+ if (!($testMatch == 'de' or $testMatch == 'en' or $testMatch == 'fr')){
+ //echo 'languageCode: <b>'.$testMatch.'</b> is not valid.<br/>';
+ echo 'Parameter <b>languageCode</b> is not valid (de,fr,en).<br/>';
+ die();
}
$languageCode = $testMatch;
$testMatch = NULL;
}
if (isset($_REQUEST["outputFormat"]) & $_REQUEST["outputFormat"] != "") {
- $testMatch = $_REQUEST["outputFormat"];
- if (!($testMatch == 'json' or $testMatch == 'georss')){
- //echo 'outputFormat: <b>'.$testMatch.'</b> is not valid.<br/>';
- echo 'Parameter <b>outputFormat</b> is not valid (json,georss).<br/>';
- die();
+ $testMatch = $_REQUEST["outputFormat"];
+ if (!($testMatch == 'json' or $testMatch == 'georss')){
+ //echo 'outputFormat: <b>'.$testMatch.'</b> is not valid.<br/>';
+ echo 'Parameter <b>outputFormat</b> is not valid (json,georss).<br/>';
+ die();
}
$outputFormat = $testMatch;
$testMatch = NULL;
@@ -295,10 +295,10 @@
//$restrictToOpenData = false;
/*if (isset($_REQUEST["restrictToOpenData"]) & $_REQUEST["restrictToOpenData"] != "") {
- $testMatch = $_REQUEST["restrictToOpenData"];
- if (!($testMatch == 'true' or $testMatch == 'false')){
- echo 'Parameter <b>restrictToOpenData</b> is not valid (true,false).<br/>';
- die();
+ $testMatch = $_REQUEST["restrictToOpenData"];
+ if (!($testMatch == 'true' or $testMatch == 'false')){
+ echo 'Parameter <b>restrictToOpenData</b> is not valid (true,false).<br/>';
+ die();
}
switch ($testMatch) {
case "true":
@@ -306,16 +306,16 @@
break;
case "false":
$restrictToOpenData = "false";
- break;
+ break;
}
$testMatch = NULL;
}
if (isset($_REQUEST["resolveCoupledResources"]) & $_REQUEST["resolveCoupledResources"] != "") {
- $testMatch = $_REQUEST["resolveCoupledResources"];
- if (!($testMatch == 'true' or $testMatch == 'false')){
- echo 'Parameter <b>resolveCoupledResources</b> is not valid (true,false (default to false)).<br/>';
- die();
+ $testMatch = $_REQUEST["resolveCoupledResources"];
+ if (!($testMatch == 'true' or $testMatch == 'false')){
+ echo 'Parameter <b>resolveCoupledResources</b> is not valid (true,false (default to false)).<br/>';
+ die();
}
switch ($testMatch) {
case "true":
@@ -323,7 +323,7 @@
break;
case "false":
$resolveCoupledResources = "false";
- break;
+ break;
}
$testMatch = NULL;
}*/
@@ -330,26 +330,26 @@
if (isset($_REQUEST["hostName"]) & $_REQUEST["hostName"] != "") {
//validate to some hosts
- $testMatch = $_REQUEST["hostName"];
+ $testMatch = $_REQUEST["hostName"];
//look for whitelist in mapbender.conf
$HOSTNAME_WHITELIST_array = explode(",",HOSTNAME_WHITELIST);
if (!in_array($testMatch,$HOSTNAME_WHITELIST_array)) {
//echo "Requested hostname <b>".$testMatch."</b> not whitelist! Please control your mapbender.conf.";
echo "Requested <b>hostName</b> not in whitelist! Please control your mapbender.conf.";
-
+
$e = new mb_notice("Whitelist: ".HOSTNAME_WHITELIST);
$e = new mb_notice("hostName not found in whitelist!");
- die();
+ die();
}
$hostName = $testMatch;
$testMatch = NULL;
}
/*if (isset($_REQUEST["orderBy"]) & $_REQUEST["orderBy"] != "") {
- $testMatch = $_REQUEST["orderBy"];
- if (!($testMatch == 'rank' or $testMatch == 'title' or $testMatch == 'id' or $testMatch == 'date')){
- //echo 'orderBy: <b>'.$testMatch.'</b> is not valid.<br/>';
- echo 'Parameter <b>orderBy</b> is not valid (rank,title,id,date).<br/>';
- die();
+ $testMatch = $_REQUEST["orderBy"];
+ if (!($testMatch == 'rank' or $testMatch == 'title' or $testMatch == 'id' or $testMatch == 'date')){
+ //echo 'orderBy: <b>'.$testMatch.'</b> is not valid.<br/>';
+ echo 'Parameter <b>orderBy</b> is not valid (rank,title,id,date).<br/>';
+ die();
}
$orderBy = $testMatch;
$testMatch = NULL;
@@ -361,15 +361,15 @@
$testMatch = $_REQUEST["searchResources"];
#$pattern = '/^(19|20)[0-9]{2}[-](0[1-9]|1[012])[-](0[1-9]|[12][0-9]|3[01])$/';
$countSR = count(explode(',',$testMatch));
- if (!($countSR >= 1 && $countSR <= 6)){
- //echo 'searchResources: <b>'.$testMatch.'</b> count of requested resources out of sync.<br/>';
- echo 'Parameter <b>searchResources</b> count of requested resource types is more than 5.<br/>';
- die();
+ if (!($countSR >= 1 && $countSR <= 6)){
+ //echo 'searchResources: <b>'.$testMatch.'</b> count of requested resources out of sync.<br/>';
+ echo 'Parameter <b>searchResources</b> count of requested resource types is more than 5.<br/>';
+ die();
} else {
$testArray = explode(',',$testMatch);
for($i=0; $i<count($testArray);$i++){
if (!in_array($testArray[$i], $MD_ScopeCode)) {
- //echo 'searchResources: <b>'.$testMatch.'</b>at least one of them does not exists!<br/>';
+ //echo 'searchResources: <b>'.$testMatch.'</b>at least one of them does not exists!<br/>';
echo 'Parameter <b>searchResources</b> at least one of them does not exists!<br>';
echo implode(',',$MD_ScopeCode);
echo '<br/>';
@@ -384,30 +384,30 @@
if (isset($_REQUEST["searchPages"]) & $_REQUEST["searchPages"] != "") {
//validate to csv integer list with dimension of searchResources list
$testMatch = $_REQUEST["searchPages"];
- $pattern = '/^[-\d,]*$/';
- if (!preg_match($pattern,$testMatch)){
- //echo 'searchPages: <b>'.$testMatch.'</b> is not valid.<br/>';
+ $pattern = '/^[-\d,]*$/';
+ if (!preg_match($pattern,$testMatch)){
+ //echo 'searchPages: <b>'.$testMatch.'</b> is not valid.<br/>';
echo 'Parameter <b>searchPages</b> is not valid (integer or integer csv).<br/>';
- die();
+ die();
}
if (count(explode(',',$testMatch)) != count(explode(',',$searchResources))) {
- //echo 'searchPages: <b>'.$testMatch.'</b> has a wrong amount of entries.<br/>';
+ //echo 'searchPages: <b>'.$testMatch.'</b> has a wrong amount of entries.<br/>';
echo 'Parameter <b>searchPages</b> has a wrong amount of entries.<br/>';
- die();
+ die();
}
$searchPages = $testMatch;
$testMatch = NULL;
#$searchPages = $_REQUEST["searchPages"];
#$searchPages = split(',',$searchPages);
-
+
}
if (isset($_REQUEST["resultTarget"]) & $_REQUEST["resultTarget"] != "") {
//validate to web,debug,file
- $testMatch = $_REQUEST["resultTarget"];
- if (!($testMatch == 'web' or $testMatch == 'debug' or $testMatch == 'file' or $testMatch == 'webclient' or $testMatch == 'internal' or $testMatch == "categories")){
+ $testMatch = $_REQUEST["resultTarget"];
+ if (!($testMatch == 'web' or $testMatch == 'debug' or $testMatch == 'file' or $testMatch == 'webclient' or $testMatch == 'internal' or $testMatch == "categories")){
//echo 'resultTarget: <b>'.$testMatch.'</b> is not valid.<br/>';
- echo 'Parameter <b>resultTarget</b> is not valid (file,web,debug,webclient,internal,categories).<br/>';
- die();
+ echo 'Parameter <b>resultTarget</b> is not valid (file,web,debug,webclient,internal,categories).<br/>';
+ die();
}
$resultTarget = $testMatch;
$testMatch = NULL;
@@ -420,7 +420,7 @@
//validate integer to 100 - not more
$testMatch = $_REQUEST["userId"];
//give max 99 entries - more will be to slow
- $pattern = '/^[0-9]*$/';
+ $pattern = '/^[0-9]*$/';
if (!preg_match($pattern,$testMatch)){
//echo 'userId: <b>'.$testMatch.'</b> is not valid.<br/>';
echo 'Parameter <b>userId</b> is not valid (integer).<br/>';
@@ -460,7 +460,7 @@
$searchPages[$i] = 1;
}
$searchPages = implode(",",$searchPages);
- //$e = new mb_exception("mod_callMetadata.php: set searchPages to :".$searchPages);
+ //$e = new mb_exception("mod_callMetadata.php: set searchPages to :".$searchPages);
}
if ($resultTarget == 'web' or $resultTarget == 'debug') {
if (!isset($searchResources) OR ($searchResources == "")) {
@@ -632,9 +632,9 @@
$orderByTitle['rank'] = 'Nachfrage';
$orderByTitle['date'] = 'Letzte Änderung';
- $maxResultsTitle['header'] = 'Treffer pro Seite:';
+ $maxResultsTitle['header'] = 'Treffer pro Seite:';
-
+
break;
case 'en':
$classificationElements[0]['name2show'] = 'Search Term(s):';
@@ -641,7 +641,7 @@
$classificationElements[1]['name2show'] = 'Spatial Filter:';
$classificationElements[2]['name2show'] = 'Kind of resource:';
- $resourceCategories['dataset'] = 'Datasets';
+ $resourceCategories['dataset'] = 'Datasets';
$resourceCategories['spatialData'] = 'Spatial data';
$resourceCategories['series'] = 'Datasetseries';
$resourceCategories['tile'] = 'Datasetstiles';
@@ -662,7 +662,7 @@
$classificationElements[0]['name2show'] = 'Mots clés:';
$classificationElements[1]['name2show'] = 'Requête spatiale:';
$classificationElements[2]['name2show'] = 'Art der Ressource:';
-
+
$resourceCategories['dataset'] = 'Datasets';
$resourceCategories['spatialData'] = 'Spatial data';
$resourceCategories['series'] = 'Datasetseries';
@@ -701,9 +701,9 @@
$maxResultsTitle['header'] = 'Results per page:';
-}
+}
-//generate search filter file - if more categories are defined give
+//generate search filter file - if more categories are defined give
//echo "<br> number of filter elements: ".count($classificationElements)."<br>";
for($i=0; $i < count($classificationElements); $i++){
//echo "<br> filter for element: ".$classificationElements[$i]['name']."<br>";
@@ -733,23 +733,23 @@
//$queryJSON->searchFilter->{$classificationElements[$i]['name']}->delLink = NULL;
$queryJSON->searchFilter->{$classificationElements[$i]['name']}->delLink = delTotalFromQuery($classificationElements[$i]['name'],$searchURL);
//$e = new mb_exception('mod_callMetadata.php: dellink: '.$queryJSON->searchFilter->{$classificationElements[$i]['name']}->delLink);
-
+
$queryJSON->searchFilter->{$classificationElements[$i]['name']}->item = array();
$queryArray = explode(',', ${$classificationElements[$i]['name']});
-
+
//loop for the subcategories
for($j=0; $j < count($queryArray); $j++){
//$e = new mb_exception('mod_callMetadata.php: queryArrayi: '.$queryArray[$j]);
-
+
if ($classificationElements[$i]['name'] != 'searchResources') {
$queryJSON->searchFilter->{$classificationElements[$i]['name']}->item[$j]->title = $queryArray[$j];
} else {
$queryJSON->searchFilter->{$classificationElements[$i]['name']}->item[$j]->title = $resourceCategories[$queryArray[$j]];
}
-
+
//generate links to disable filters on a simple way
- if (($classificationElements[$i]['name'] === 'searchText' || $classificationElements[$i]['name'] === 'searchResources') & count(explode(',',${$classificationElements[$i]['name']})) === 1) {
+ if (($classificationElements[$i]['name'] === 'searchText' || $classificationElements[$i]['name'] === 'searchResources') & count(explode(',',${$classificationElements[$i]['name']})) === 1) {
//$queryJSON->searchFilter->{$classificationElements[$i]['name']}->item[$j]->delLink = NULL;
$newSearchLink = delFromQuery($classificationElements[$i]['name'], $searchURL,$queryArray[$j],$queryArray,${$classificationElements[$i]['name']});
$newSearchLink = delTotalFromQuery('searchId',$newSearchLink);
@@ -761,7 +761,7 @@
}
}
}
- }
+ }
}
//get the first page to also count the available records:
@@ -787,8 +787,8 @@
$numberOfRecords = $numberOfRecords[0];
$maxRecords = (integer)$numberOfRecords;
$maxPages = ceil($maxRecords / $maxResults);
- //$e = new mb_exception("number of records matched: ".$numberOfRecords);
- //$e = new mb_exception("operation successfull");
+ //$e = new mb_exception("number of records matched: ".$numberOfRecords);
+ //$e = new mb_exception("operation successfull");
//$e = new mb_exception(gettype($cswClient->operationResult));
$metadataRecord = $cswClient->operationResult->xpath('/csw:GetRecordsResponse/csw:SearchResults/gmd:MD_Metadata');
//$e = new mb_exception("number of records: ".count($metadataRecord));
@@ -807,10 +807,14 @@
$fileIdentifier = (string)$fileIdentifier[0];
$resultObject->{$searchResource}->srv[$k-1]->id = $fileIdentifier;
$mdDateStamp = $cswClient->operationResult->xpath('/csw:GetRecordsResponse/csw:SearchResults/gmd:MD_Metadata['.$k.']/gmd:dateStamp/gco:Date');
+ if(empty($mdDateStamp)){
+ $mdDateStamp = $cswClient->operationResult->xpath('/csw:GetRecordsResponse/csw:SearchResults/gmd:MD_Metadata['.$k.']/gmd:dateStamp/gco:DateTime');
+ }
$mdDateStamp = (string)$mdDateStamp[0];
$resultObject->{$searchResource}->srv[$k-1]->date = $mdDateStamp;
+ /* WORKAROUND
switch ($searchResource) {
- case "service":
+ case "service":
$identifikationXPath = "srv:SV_ServiceIdentification";
break;
default:
@@ -817,6 +821,9 @@
$identifikationXPath = "gmd:MD_DataIdentification";
break;
}
+ */
+ $identifikationXPath = "";
+
$datasetIdentifier = $cswClient->operationResult->xpath('/csw:GetRecordsResponse/csw:SearchResults/gmd:MD_Metadata['.$k.']/gmd:identificationInfo/'.$identifikationXPath.'/@uuid');
$datasetidentifier = (string)$datasetidentifier[0];
//preview image if available
@@ -862,18 +869,18 @@
$accessUrl = $cswClient->operationResult->xpath('/csw:GetRecordsResponse/csw:SearchResults/gmd:MD_Metadata['.$k.']/gmd:identificationInfo/srv:SV_ServiceIdentification/srv:containsOperations/srv:SV_OperationMetadata/srv:connectPoint/gmd:CI_OnlineResource/gmd:linkage/gmd:URL');
}
$accessUrl = $accessUrl[0];
- $isViewService = false;
+ $isViewService = false;
$isDownloadService = false;
$typeOfServiceUpper = strtoupper($typeOfService);
//check for view service type
if ($typeOfServiceUpper == 'WMS' || $typeOfServiceUpper == 'VIEW' || strpos($typeOfServiceUpper,'WMS') !== false) {
- $isViewService = true;
+ $isViewService = true;
//echo "view service identified<br>";
}
if ($typeOfServiceUpper == 'DOWNLOAD' || $typeOfServiceUpper == 'ATOM' || strpos($typeOfServiceUpper,'PREDEFINED ATOM') !== false) {
- $isDownloadService = true;
+ $isDownloadService = true;
//echo "view service identified<br>";
}
//check if service is view or wms and correct it for wms 1.1.1 capabilities request
@@ -906,7 +913,7 @@
}
//html view
$resultObject->{$searchResource}->srv[$k-1]->htmlLink = $scheme.'://'.$_SERVER['HTTP_HOST'].str_replace(basename($_SERVER['SCRIPT_NAME']), "mod_exportIso19139.php", $_SERVER['PHP_SELF'])."?url=".urlencode($resultObject->{$searchResource}->srv[$k-1]->mdLink);
- //service urls if available
+ //service urls if available
//type of service
//inspire url for service
$url = $cswClient->operationResult->xpath('/csw:GetRecordsResponse/csw:SearchResults/gmd:MD_Metadata['.$k.']/gmd:distributionInfo/gmd:MD_Distribution/gmd:transferOptions/gmd:MD_DigitalTransferOptions/gmd:onLine/gmd:CI_OnlineResource/gmd:linkage/gmd:URL');
@@ -955,7 +962,7 @@
}
/*if ($paramName == "searchResources") {
$str2exchange = "searchResources=".$dummySearchResources."&";
-
+
} else {
$str2exchange = "";
}*/
@@ -962,12 +969,12 @@
$queryStringNew = str_replace($str2search, $str2exchange, $queryString);
$queryStringNew = str_replace("&&", "&", $queryStringNew);
} else {
- //there are more than one filter - reduce the filter
+ //there are more than one filter - reduce the filter
$objectList = "";
for($i=0; $i < count($queryArray); $i++){
if ($queryArray[$i] != $string){
- $objectList .= $queryArray[$i].",";
- }
+ $objectList .= $queryArray[$i].",";
+ }
}
//remove last comma
$objectList = rtrim($objectList, ",");
@@ -1008,7 +1015,7 @@
}
}
return $arrayname;
-}
+}
function correctWmsUrl($wms_url) {
//check if last sign is ? or & or none of them
$lastChar = substr($wms_url,-1);
@@ -1043,10 +1050,10 @@
$wms_url = str_replace('version=1.3.0', 'VERSION=1.1.1', $wms_url);
$wms_url = str_replace('VERSION=1.3.0', 'VERSION=1.1.1', $wms_url);
}
-
+
}
- //exchange &? with & and &
+ //exchange &? with & and &
$wms_url = str_replace('&?', '&', $wms_url);
$wms_url = str_replace('&?', '&', $wms_url);
$wms_url = str_replace('&', '&', $wms_url);
More information about the Mapbender_commits
mailing list