[Mapbender-commits] r9488 - trunk/mapbender/http/php

svn_mapbender at osgeo.org svn_mapbender at osgeo.org
Fri May 27 00:16:01 PDT 2016


Author: armin11
Date: 2016-05-27 00:16:01 -0700 (Fri, 27 May 2016)
New Revision: 9488

Removed:
   trunk/mapbender/http/php/mb_validateSession2.php
   trunk/mapbender/http/php/mod_callMetadata.php~
   trunk/mapbender/http/php/mod_dataLinkDownloadISOMetadata.php
   trunk/mapbender/http/php/mod_edit_element_vars.php_deprecated
   trunk/mapbender/http/php/mod_edit_metadata.php_deprecated
   trunk/mapbender/http/php/mod_inspireDownloadFeed.php~
   trunk/mapbender/http/php/mod_inspireWmsDownloadFeed.php
   trunk/mapbender/http/php/mod_printView1.php_deprecated
   trunk/mapbender/http/php/mod_saveWKT.php_deprecated
   trunk/mapbender/http/php/mod_updateDatabaseUuid.php
   trunk/mapbender/http/php/mod_wmc2ol_old.php
   trunk/mapbender/http/php/mod_zoomCoords.php_deprecated
   trunk/mapbender/http/php/mod_zoomCoords_en.php_deprecated
   trunk/mapbender/http/php/test.php
   trunk/mapbender/http/php/test_leuschner.php
   trunk/mapbender/http/php/test_tou.php
Log:
Fix wrong commit

Deleted: trunk/mapbender/http/php/mb_validateSession2.php
===================================================================
--- trunk/mapbender/http/php/mb_validateSession2.php	2016-05-27 07:11:28 UTC (rev 9487)
+++ trunk/mapbender/http/php/mb_validateSession2.php	2016-05-27 07:16:01 UTC (rev 9488)
@@ -1,113 +0,0 @@
-<?php
-# $Id: mb_validateSession.php 8563 2013-02-18 19:33:04Z armin11 $
-# http://www.mapbender.org/index.php/mb_validateSession.php
-# Copyright (C) 2002 CCGIS
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-require_once(dirname(__FILE__)."/../../core/globalSettings.php");
-
-$e = new mb_notice("mb_validateSession.php: checking file " . $_SERVER["SCRIPT_NAME"]);
-
-// if cookies are off
-if ($_REQUEST["sessionName"] && $_REQUEST["sessionId"]) { //TODO: the request parameter won't be sessionName but maybe PHPSESSID - name of cookie! See line 101 usage of SID
-	session_name($_REQUEST["sessionName"]);
-	session_id($_REQUEST["sessionId"]);
-}
-//
-// check if user data is valid; if not, return to login screen
-//
-$_SESSION["mb_user_id"]==2;
-if (!Mapbender::session()->get("mb_user_id") ||
-	!Mapbender::session()->get("mb_user_ip") ||
-	Mapbender::session()->get('mb_user_ip') != $_SERVER['REMOTE_ADDR']) {
-
-		$e = new mb_exception("mb_validateSession.php: Invalid user: " . Mapbender::session()->get("mb_user_id"));
-		session_write_close();
-		header("Location: " . LOGIN);
-		die();
-}
-
-//
-// set the global var gui_id
-//
-if (!isset($gui_id)) {
-	$e = new mb_notice("gui id not set");
-	if (isset($_REQUEST["guiID"])) {
-		$gui_id = $_REQUEST["guiID"];
-		$e = new mb_notice("gui id set to guiID: " . $gui_id);
-	}
-	//set this to hold the get parameters for login.php in sync
-	elseif (isset($_REQUEST["mb_user_myGui"])) {
-		$gui_id = $_REQUEST["mb_user_myGui"];
-		$e = new mb_notice("gui id set to gui_id: " . $gui_id);
-	}
-	elseif (isset($_REQUEST["gui_id"])) {
-		$gui_id = $_REQUEST["gui_id"];
-		$e = new mb_notice("gui id set to gui_id: " . $gui_id);
-	}
-	elseif (Mapbender::session()->get("mb_user_gui") !== false) {
-		$gui_id = Mapbender::session()->get("mb_user_gui");
-		$e = new mb_notice("gui id set to gui_id: " . $gui_id);
-	}
-	else {
-		$e = new mb_notice("mb_validateSession.php: gui_id not set in script: " . $_SERVER["SCRIPT_NAME"]);
-	}
-}
-//
-//use lang parameter to set the session var mb_lang
-if (isset($_REQUEST["lang"]) & $_REQUEST["lang"] != "") {
-	//validate to de, en, fr, ... give a whitelist
-	$testMatch = $_REQUEST["lang"];
- 	if (!($testMatch == 'de' or $testMatch == 'en' or $testMatch == 'fr')){
-		//echo 'lang: <b>'.$testMatch.'</b> is not valid.<br/>';
-		echo 'Parameter <b>lang</b> is not valid (de,fr,en).<br/>';
-		die();
- 	}
-	$lang = $testMatch;
-	//set the
-	Mapbender::session()->set("mb_lang",$lang);
-	$e = new mb_notice("mb_validateSession.php: lang was set by GET to: " .$lang);
-	$testMatch = NULL;
-}
-//
-// set the global var e_id
-//
-if (!isset($e_id)) {
-	if (isset($_REQUEST["elementID"])) {
-		$e_id = $_REQUEST["elementID"];
-	}
-	elseif (isset($_REQUEST["e_id"])) {
-		$e_id = $_REQUEST["e_id"];
-	}
-	else {
-		$e = new mb_notice("mb_validateSession.php: e_id not set in script: " . $_SERVER["SCRIPT_NAME"]);
-	}
-}
-
-//
-// set variables used for form targets or links
-//
-$urlParameters = SID;
-if (isset($gui_id)) {
-	$urlParameters .= "&guiID=" . $gui_id;
-}
-if (isset($e_id)) {
-	$urlParameters .= "&elementID=" . $e_id;
-}
-$self = $_SERVER["SCRIPT_NAME"] . "?" . $urlParameters;
-
-$e = new mb_notice("mb_validateSession.php: GUI: " . $gui_id . ", checking file " . $_SERVER["SCRIPT_NAME"] . "...session valid.");
-?>

Deleted: trunk/mapbender/http/php/mod_callMetadata.php~
===================================================================
--- trunk/mapbender/http/php/mod_callMetadata.php~	2016-05-27 07:11:28 UTC (rev 9487)
+++ trunk/mapbender/http/php/mod_callMetadata.php~	2016-05-27 07:16:01 UTC (rev 9488)
@@ -1,985 +0,0 @@
-<?php
-#http://www.geoportal.rlp.de/mapbender/php/mod_callMetadata.php?searchText=sozial&outputFormat=json&resultTarget=web&searchResources=wfs
-#http://www.geoportal.rlp.de/mapbender/php/mod_callMetadata.php?searchText=sozial+schwanger&outputFormat=json&resultTarget=web&searchResources=wfs&registratingDepartments=72
-#http://www.geoportal.rlp.de/mapbender/php/mod_callMetadata.php?searchText=sozial&outputFormat=json&resultTarget=web&searchResources=wms&
-#http://www.geoportal.rlp.de/mapbender/php/mod_callMetadata.php?searchText=niedersachsen&outputFormat=json&resultTarget=web&searchResources=wms&maxResults=50
-#http://www.geoportal.rlp.de/mapbender/php/mod_callMetadata.php?searchId=wal&searchText=wald&outputFormat=json&resultTarget=web&searchResources=wms&maxResults=10
-#http://www.geoportal.rlp.de/mapbender/php/mod_callMetadata.php?searchId=test&searchText=e,w&outputFormat=json&registratingDepartments=44,33,29,30,31,35,40,61,101,87&languageCode=en&resultTarget=web&searchResources=wms&maxResults=10
-#http://www.geoportal.rlp.de/mapbender/php/mod_callMetadata.php?searchId=45&searchText=e&outputFormat=json&registratingDepartments=44,33,29,30,31,35,40,61,101,87&languageCode=en&resultTarget=debug&searchResources=wms&maxResults=10&searchPages=1&isoCategories=10
-#http://www.geoportal.rlp.de/mapbender/php/mod_callMetadata.php?searchId=45&searchText=e&outputFormat=json&registratingDepartments=44,33,29,30,31,35,40,61,101,87&languageCode=en&resultTarget=debug&searchResources=wms&maxResults=20&searchPages=1&isoCategories=10,5
-#http://www.geoportal.rlp.de/mapbender/php/mod_callMetadata.php?searchId=wa&searchText=e&outputFormat=json&languageCode=de&resultTarget=debug&searchResources=wms&maxResults=10&isoCategories=10,5&registratingDepartments=44,31
-#http://www.geoportal.rlp.de/mapbender/php/mod_callMetadata.php?searchId=wa&searchText=e&outputFormat=json&languageCode=de&resultTarget=debug&searchResources=wms&maxResults=5&registratingDepartments=44,31&inspireThemes=11&isoCategories=5,10
-#http://www.geoportal.rlp.de/mapbender/php/mod_callMetadata.php?searchId=wa&searchText=e&outputFormat=json&languageCode=de&resultTarget=debug&searchResources=wms&maxResults=5&registratingDepartments=44,31&inspireThemes=11&isoCategories=5,10
-#http://www.geoportal.rlp.de/mapbender/php/mod_callMetadata.php?searchId=wa&searchText=e&outputFormat=json&languageCode=de&resultTarget=debug&searchResources=wms&maxResults=5&registratingDepartments=44,31&inspireThemes=11&isoCategories=5,10&searchBbox=7,48,9,51
-#http://www.geoportal.rlp.de/mapbender/php/mod_callMetadata.php?searchId=wa&searchText=e&outputFormat=json&languageCode=de&resultTarget=debug&searchResources=wms&maxResults=99&registratingDepartments=44,31,52&inspireThemes=11&isoCategories=5,10&searchBbox=7,48,9,51&regTimeBegin=2001-12-24&regTimeEnd=2020-10-10
-#http://www.geoportal.rlp.de/mapbender/php/mod_callMetadata.php?searchId=wa&outputFormat=json&languageCode=de&resultTarget=debug&searchResources=wms&maxResults=99&registratingDepartments=44,31,52&inspireThemes=11&isoCategories=5,10&searchBbox=7,48,9,51&regTimeBegin=2001-12-24&regTimeEnd=2020-10-10
-require_once(dirname(__FILE__)."/../../core/globalSettings.php");
-require_once(dirname(__FILE__)."/../../conf/geoportal.conf");#???
-require_once(dirname(__FILE__)."/../classes/class_metadata_new.php");
-require_once(dirname(__FILE__)."/../classes/class_json.php");
-
-//initialize request parameters:
-$searchId = "dummysearch";
-$searchText = "*";
-#$registratingDepartments = "33,29,30,31,35,40,61,101,87,44";
-$registratingDepartments = NULL;
-#$isoCategories = "1,2,3";
-$isoCategories = NULL;
-$inspireThemes = NULL;
-$customCategories = NULL;
-$timeBegin = NULL;
-$timeEnd = NULL;
-$regTimeBegin = NULL;
-$regTimeEnd = NULL;
-$maxResults = 20;
-#$searchBbox = "-180.0,-90.0,180.0,90.0";
-$searchBbox = NULL;
-$searchTypeBbox = "intersects"; //outside / inside
-$accessRestrictions = "false"; 
-$languageCode = "de";
-$outputFormat = 'json';
-#$searchResources = "wms,wfs,wmc,georss";
-#$searchResources = "wms";
-$searchPages = "1";
-$resultTarget = "debug";
-$preDefinedMaxResults = array(5,10,15,20,25,30);
-$searchEPSG = "EPSG:31466";
-$classJSON = new Mapbender_JSON;
-#$tempFolder = "/tmp";
-$tempFolder = TMPDIR;
-$orderBy = "rank"; //rank or title or id or date
-$hostName = $_SERVER['HTTP_HOST'];
-
-//read the whole query string:
-$searchURL = $_SERVER['QUERY_STRING'];
-//decode it !
-$searchURL = urldecode($searchURL);
-//control if some request variables are not set and set them explicit to NULL
-
-$checkForNullRequests = array("registratingDepartments","isoCategories","inspireThemes","customCategories","regTimeBegin","regTimeEnd","timeBegin","timeEnd","searchBbox","searchTypeBbox","searchResources","orderBy","hostName");
-
-for($i=0; $i < count($checkForNullRequests); $i++){
-	if (!$_REQUEST[$checkForNullRequests[$i]] or $_REQUEST[$checkForNullRequests[$i]] == 'false' or $_REQUEST[$checkForNullRequests[$i]] == 'undefined') {
-		$_REQUEST[$checkForNullRequests[$i]] = "";
-		$searchURL = delTotalFromQuery($checkForNullRequests[$i],$searchURL);
-	}
-}
-
-//Read out request Parameter:
-if (isset($_REQUEST["searchId"]) & $_REQUEST["searchId"] != "") {
-	//gernerate md5 representation, cause the id is used as a filename later on! - no validation needed
-	$searchId = md5($_REQUEST["searchId"]);
-}
-if (isset($_REQUEST["searchText"]) & $_REQUEST["searchText"] != "") {
-	$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)/';		
- 	if (preg_match($pattern,$testMatch)){ 
-		echo 'searchText: <b>'.$testMatch.'</b> is not valid.<br/>'; 
-		die(); 		
- 	}
-	$searchText = $testMatch;
-	$testMatch = NULL;
-	if ($searchText ==='false') {
-		$searchText ='*';
-	}
-}
-if (isset($_REQUEST["registratingDepartments"]) & $_REQUEST["registratingDepartments"] != "") {
-	//validate to csv integer list
-	$testMatch = $_REQUEST["registratingDepartments"];
-	$pattern = '/^[\d,]*$/';		
- 	if (!preg_match($pattern,$testMatch)){ 
-		echo 'registratingDepartments: <b>'.$testMatch.'</b> is not valid.<br/>'; 
-		die(); 		
- 	}
-	$registratingDepartments = $testMatch;
-	$testMatch = NULL;
-}
-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/>'; 
-		die(); 		
- 	}
-	$isoCategories = $testMatch;
-	$testMatch = NULL;
-}
-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/>'; 
-		die(); 		
- 	}
-	$inspireThemes = $testMatch;
-	$testMatch = NULL;
-}
-
-if (isset($_REQUEST["customCategories"]) & $_REQUEST["customCategories"] != "") {
-	//validate to csv integer list
-	$testMatch = $_REQUEST["customCategories"];
-	$pattern = '/^[\d,]*$/';		
- 	if (!preg_match($pattern,$testMatch)){ 
-		echo 'customCategories: <b>'.$testMatch.'</b> is not valid.<br/>'; 
-		die(); 		
- 	}
-	$customCategories = $testMatch;
-	$testMatch = NULL;
-}
-
-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])$/';		
- 	if (!preg_match($pattern,$testMatch)){ 
-		echo 'timeBegin: <b>'.$testMatch.'</b> is not valid.<br/>'; 
-		die(); 		
- 	}
-	$timeBegin = $testMatch;
-	$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/>'; 
-		die(); 		
- 	}
-	$timeEnd = $testMatch;
-	$testMatch = NULL;
-}
-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/>'; 
-		die(); 		
- 	}
-	$regTimeBegin = $testMatch;
-	$testMatch = NULL;
-}
-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)){ 
-		echo 'regTimeEnd: <b>'.$testMatch.'</b> is not valid.<br/>'; 
-		die(); 		
- 	}
-	$regTimeEnd = $testMatch;
-	$testMatch = NULL;
-}
-if (isset($_REQUEST["maxResults"]) & $_REQUEST["maxResults"] != "") {
-	//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/>'; 
-		die(); 		
- 	}
-	$maxResults = $testMatch;
-	$testMatch = NULL;
-}
-if (isset($_REQUEST["searchBbox"]) & $_REQUEST["searchBbox"] != "") {
-	//validate to float/integer
-	$testMatch = $_REQUEST["searchBbox"];
-	//$pattern = '/^[-\d,]*$/';	
-	$pattern = '/^[-+]?([0-9]*\.[0-9]+|[0-9]+)*$/';
-	$testMatchArray = explode(',',$testMatch);
- 	if (count($testMatchArray) != 4) {
-		echo 'searchBbox: <b>'.$testMatch.'</b> has a wrong amount of entries.<br/>'; 
-		die(); 
-	}
-	for($i=0; $i<count($testMatchArray);$i++){
-		if (!preg_match($pattern,$testMatchArray[$i])){ 
-			echo 'searchBbox: <b>'.$testMatchArray[$i].'</b> is not a valid coordinate value.<br/>'; 
-			die(); 		
- 		}
-	}
-	$searchBbox = $testMatch;
-	$testMatch = NULL;
-}
-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')){ 
-		echo 'searchTypeBbox: <b>'.$testMatch.'</b> is not valid.<br/>'; 
-		die(); 		
- 	}
-	$searchTypeBbox = $testMatch; //TODO activate this
-	$testMatch = NULL;
-}
-if (isset($_REQUEST["accessRestrictions"]) & $_REQUEST["accessRestrictions"] != "") {
-	//validate to ?
-	#TODO implement me //$accessRestrictions = $_REQUEST["accessRestrictions"];
-}
-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/>'; 
-		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/>'; 
-		die(); 		
- 	}
-	$outputFormat = $testMatch;
-	$testMatch = NULL;
-}
-if (isset($_REQUEST["hostName"]) & $_REQUEST["hostName"] != "") {
-	//validate to some hosts
-	$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.";
-		$e = new mb_notice("Whitelist: ".HOSTNAME_WHITELIST);
-		$e = new mb_notice($testMatch." not found in whitelist!");
-		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/>'; 
-		die(); 		
- 	}
-	$orderBy = $testMatch;
-	$testMatch = NULL;
-}// else {
-//$orderBy= 'rank';
-//}
-if (isset($_REQUEST["searchResources"]) & $_REQUEST["searchResources"] != "") {
-	//validate to wms,wfs,wmc,georss
-	$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 <= 4)){ 
-		echo 'searchResources: <b>'.$testMatch.'</b> count of requested resources out of sync.<br/>'; 
-		die(); 		
- 	} else {
-		$testArray = explode(',',$testMatch);
-		for($i=0; $i<count($testArray);$i++){
-			if (!($testArray[$i] == 'wms' or $testArray[$i] == 'wfs' or $testArray[$i] == 'wmc' or $testArray[$i] == 'daData')) {
-			echo 'searchResources: <b>'.$testMatch.'</b>at least one of them does not exists!<br/>'; 
-			die();
-			}
-		}
-		unset($i);
-	}
-	$searchResources = $testMatch;
-	$testMatch = NULL;
-}
-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/>'; 
-		die(); 		
- 	}
-	if (count(explode(',',$testMatch)) != count(explode(',',$searchResources))) {
-		echo 'searchPages: <b>'.$testMatch.'</b> has a wrong amount of entries.<br/>'; 
-		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')){ 
-		echo 'resultTarget: <b>'.$testMatch.'</b> is not valid.<br/>'; 
-		die(); 		
- 	}
-	$resultTarget = $testMatch;
-	$testMatch = NULL;
-}
-//$e = new mb_exception("UserID GET: ".$_REQUEST['userId']);
-//$e = new mb_exception("UserID from session (new): ".Mapbender::session()->get("mb_user_id"));
-//$e = new mb_exception("UserID from session (old): ".$_SESSION['mb_user_id']);
-
-if (isset($_REQUEST["userId"]) & $_REQUEST["userId"] != "") {
-        //validate integer to 100 - not more
-        $testMatch = $_REQUEST["userId"];
-        //give max 99 entries - more will be to slow
-        $pattern = '/^[0-9]*$/';  
-        if (!preg_match($pattern,$testMatch)){
-                echo 'userId: <b>'.$testMatch.'</b> is not valid.<br/>';
-                die();
-        }
-        $userId = $testMatch;
-        $testMatch = NULL;
-#
-} else { //look for id in session
-  $userId = Mapbender::session()->get("mb_user_id");
-  if ($userId == false) {
-	  $userId = PUBLIC_USER;
-    }
-}
-
-
-
-#$searchResources = array('wms','wfs','wmc','georss');
-#$searchPages = array(1,1,1,1);
-
-//TODO: if class is called directly
-
-
-
-
-
-
-
-
-
-
-
-
-if ($resultTarget == 'debug') {
-	echo "<br>DEBUG: searchURL: ".$searchURL."<br>";
-	#echo "<br>DEBUG: languageCode: ".$languageCode."<br>";
-}
-
-
-if ($resultTarget == 'file') {
-	if (!isset($searchResources) OR ($searchResources == "")) {
-		$searchResources = "wms,wfs,wmc";
-		$searchPages = "1,1,1";
-	}
-
-}
-if ($resultTarget == 'web' or $resultTarget == 'debug') {
-	if (!isset($searchResources) OR ($searchResources == "")) {
-		$searchResources = "wms";
-		$searchPages = "1";
-	}
-
-}
-
-//convert the respources and the pagenumbers into arrays
-$searchResources = explode(",",$searchResources);
-$searchPages = explode(",",$searchPages);
-
-//Generate search filter file. This file holds the defined search filter to allow the user to see how he searched 
-//The user should become the possibility to drop the search filters by clicking in some buttons
-//list of options to display:
-//searchText (textfields) - dropping only if more than one text is given
-//registratingDepartments (list) - dropping allowed - maybe give a webservice for mb_group data
-//isoCategories - dropping allowed
-//inspireThemes - dropping allowed
-//customCategories - dropping allowed
-//bbox (show) - dropping allowed
-//regTimeBegin - dropping allowed
-//regTimeEnd -dropping allowed
-//the idea is, to rewrite the searchURL directly and then have another url for the special case!
-//we have to get the searchURL as a parameter for this wrapper cause the class_metadata should give filters for the found categories
-//use regular expressions to do this!
-
-//define internationalization
-//searchText
-//registratingDepartments
-//bbox
-
-//generate query json:
-//some objects like names of categories and other objects have to be pulled of the database. Maybe a webservice is the better way? But now there are no webservices - therefor: pull the names out of the database into arrays - only those who are requested:
-
-//function to get the information about the registrating departments (mb_groups) out of the mapbender database
-function get_registratingDepartmentsArray($departmentIds,$languageCode) {
-			$sql = "SELECT mb_group_id, mb_group_name FROM mb_group WHERE mb_group_id IN (";
-			$v = array();
-			$t = array();
-			$departmentsArray = array();
-			for($i=0; $i<count($departmentIds);$i++){
-				if($i > 0){$sql .= ",";}
-				$sql .= "$".strval($i+1);
-				array_push($v,$departmentIds[$i]);
-				array_push($t,"i");
-			}
-			$sql .= ")";
-			$res = db_prep_query($sql,$v,$t);
-			$countDepArray = 0;
-			while($row = db_fetch_array($res)){
-				$departmentsArray[$countDepArray]["id"] = $row["mb_group_id"];
-				$departmentsArray[$countDepArray]["name"] = $row["mb_group_name"];
-				$departmentsArray[$countDepArray]["showScript"] = "../php/mod_showRegistratingGroup.php?";
-				$countDepArray = $countDepArray + 1; 
-			}
-			return $departmentsArray;
-		}
-
-//get the information about the requested isoCategories
-function get_isoCategoriesArray($isoCategoryIds,$languageCode) {
-			
-			$sql = "SELECT md_topic_category_id, md_topic_category_code_".$languageCode;
-			#$e = new mb_exception("php/mod_callMetadata.php: language code: ".$languageCode);
-			$sql .= " FROM md_topic_category WHERE md_topic_category_id IN (";
-			$v = array();
-			$t = array();
-			$isoCategoryArray = array();
-			for($i=0; $i<count($isoCategoryIds);$i++){
-				if($i > 0){$sql .= ",";}
-				$sql .= "$".strval($i+1);
-				array_push($v,$isoCategoryIds[$i]);
-				array_push($t,"i");
-			}
-			$sql .= ")";
-			#$e = new mb_exception("php/mod_callMetadata.php: sql for getting topic cats: ".$sql);
-			$res = db_prep_query($sql,$v,$t);
-			$countIsoArray = 0;
-			while($row = db_fetch_array($res)){
-				$isoCategoryArray[$countIsoArray]["id"] = $row["md_topic_category_id"];
-				$isoCategoryArray[$countIsoArray]["name"] = $row["md_topic_category_code_".$languageCode];
-				$countIsoArray = $countIsoArray + 1; 
-			}
-			return $isoCategoryArray;
-		}
-
-//get the information about the inspireThemes
-function get_inspireThemesArray($inspireThemesIds,$languageCode) {
-			$sql = "SELECT inspire_category_id, inspire_category_code_".$languageCode." FROM inspire_category WHERE inspire_category_id IN (";
-			$v = array();
-			$t = array();
-			$inspireCategoryArray = array();
-			for($i=0; $i<count($inspireThemesIds);$i++){
-				if($i > 0){$sql .= ",";}
-				$sql .= "$".strval($i+1);
-				array_push($v,$inspireThemesIds[$i]);
-				array_push($t,"i");
-			}
-			$sql .= ")";
-			//$e = new mb_exception("php/mod_callMetadata.php: sql for getting inspire cats: ".$sql);
-			$res = db_prep_query($sql,$v,$t);
-			$countInspireArray = 0;
-			while($row = db_fetch_array($res)){
-				$inspireCategoryArray[$countInspireArray]["id"] = $row["inspire_category_id"];
-				$inspireCategoryArray[$countInspireArray]["name"] = $row["inspire_category_code_".$languageCode];
-				$countInspireArray = $countInspireArray + 1; 
-			}
-			return $inspireCategoryArray;
-		}
-
-function get_customCategoriesArray($customCategoriesIds,$languageCode) {
-			$sql = "SELECT custom_category_id, custom_category_code_".$languageCode." FROM custom_category WHERE custom_category_id IN (";
-			$v = array();
-			$t = array();
-			$customCategoryArray = array();
-			for($i=0; $i<count($customCategoriesIds);$i++){
-				if($i > 0){$sql .= ",";}
-				$sql .= "$".strval($i+1);
-				array_push($v,$customCategoriesIds[$i]);
-				array_push($t,"i");
-			}
-			$sql .= ")";
-			//$e = new mb_exception("php/mod_callMetadata.php: sql for getting custom cats: ".$sql);
-			$res = db_prep_query($sql,$v,$t);
-			$countCustomArray = 0;
-			while($row = db_fetch_array($res)){
-				$customCategoryArray[$countCustomArray]["id"] = $row["custom_category_id"];
-				$customCategoryArray[$countCustomArray]["name"] = $row["custom_category_code_".$languageCode];
-				$countCustomArray = $countCustomArray + 1; 
-			}
-			return $customCategoryArray;
-		}
-
-
-
-
-
-
-
-//define where to become the information from - this is relavant for the information which must be pulled out of the database
-$classificationElements = array();
-
-
-
-
-
-$classificationElements[0]['name'] = 'searchText';
-$classificationElements[1]['name'] = 'registratingDepartments';
-$classificationElements[2]['name'] = 'isoCategories';
-$classificationElements[3]['name'] = 'inspireThemes';
-$classificationElements[4]['name'] = 'customCategories';
-$classificationElements[5]['name'] = 'searchBbox';
-$classificationElements[6]['name'] = 'regTimeBegin';
-$classificationElements[7]['name'] = 'regTimeEnd';
-
-$classificationElements[0]['source'] = '';
-$classificationElements[1]['source'] = 'database';
-$classificationElements[2]['source'] = 'database';
-$classificationElements[3]['source'] = 'database';
-$classificationElements[4]['source'] = 'database';
-$classificationElements[5]['source'] = '';
-$classificationElements[6]['source'] = '';
-$classificationElements[7]['source'] = '';
-
-$classificationElements[0]['list'] = true;
-$classificationElements[1]['list'] = true;
-$classificationElements[2]['list'] = true;
-$classificationElements[3]['list'] = true;
-$classificationElements[4]['list'] = true;
-$classificationElements[5]['list'] = false;
-$classificationElements[6]['list'] = false;
-$classificationElements[7]['list'] = false;
-
-//Defining of the different result categories		
-		$resourceCategories = array();
-		#$resourceCategories[0]['wms'] = 'WMS';
-		#$resourceCategories[1]['wfs'] = 'WFS';
-		#$resourceCategories[2]['wmc'] = 'WMC';
-		#$resourceCategories[3]['georss'] = 'directAccessData';
-		
-
-switch($languageCode){
-        case 'de':
-        	$classificationElements[0]['name2show'] = 'Suchbegriff(e):';
-		$classificationElements[1]['name2show'] = 'Anbietende Stelle(n):';
-		$classificationElements[3]['name2show'] = 'INSPIRE Themen:';
-		$classificationElements[2]['name2show'] = 'ISO Kategorien:';
-		$classificationElements[4]['name2show'] = 'RP Kategorien:';
-		$classificationElements[5]['name2show'] = 'Räumliche Einschränkung:';
-		$classificationElements[6]['name2show'] = 'Registrierung/Aktualisierung von:';
-		$classificationElements[7]['name2show'] = 'Registrierung/Aktualisierung bis:';
-
-		$resourceCategories['wms'] = 'Darstellungsdienste';
-		$resourceCategories['wfs'] = 'Such- und Download- und Erfassungsmodule';
-		$resourceCategories['wmc'] = 'Kartenzusammenstellungen';
-		$resourceCategories['georss'] = 'KML/Newsfeeds';
-
-		$orderByTitle['header'] = 'Sortierung nach:';
-		$orderByTitle['id'] = 'Identifizierungsnummer';
-		$orderByTitle['title'] = 'Alphabetisch';
-		$orderByTitle['rank'] = 'Nachfrage';
-		$orderByTitle['date'] = 'Letzte Änderung';
-
-		$maxResultsTitle['header'] = 'Treffer pro Seite:'; 
-
-	
-       	break;
-        case 'en':
-        	$classificationElements[0]['name2show'] = 'Search Term(s):';
-		$classificationElements[1]['name2show'] = 'Department(s):';
-		$classificationElements[3]['name2show'] = 'INSPIRE Themes:';
-		$classificationElements[2]['name2show'] = 'ISO Topic Categories:';
-		$classificationElements[4]['name2show'] = 'RP Categories:';
-		$classificationElements[5]['name2show'] = 'Spatial Filter:';
-		$classificationElements[6]['name2show'] = 'Registration/Update from:';
-		$classificationElements[7]['name2show'] = 'Registration/Update till:';
-
-		$resourceCategories['wms'] = 'Viewingservices';
-		$resourceCategories['wfs'] = 'Search- and Downloadservices';
-		$resourceCategories['wmc'] = 'Combined Maps';
-		$resourceCategories['georss'] = 'KML/Newsfeeds';
-
-		$orderByTitle['header'] = 'Sort by:';
-		$orderByTitle['id'] = 'identification number';
-		$orderByTitle['title'] = 'alphabetically';
-		$orderByTitle['rank'] = 'demand';
-		$orderByTitle['date'] = 'last change';
-
-		$maxResultsTitle['header'] = 'Results per page:';
-
-        break;
-        case 'fr':
-        	$classificationElements[0]['name2show'] = 'Mots clés:';
-		$classificationElements[1]['name2show'] = 'Fournisseur de données:';
-		$classificationElements[3]['name2show'] = 'Thèmes INSPIRE:';
-		$classificationElements[2]['name2show'] = 'Catégories ISO:';
-		$classificationElements[4]['name2show'] = 'Catégories GR:';
-		$classificationElements[5]['name2show'] = 'Requête spatiale:';
-		$classificationElements[6]['name2show'] = 'Enregistrement/Mise à jour du :';
-		$classificationElements[7]['name2show'] = 'Enregistrement/Mise à jour au:';
-
-		$resourceCategories['wms'] = 'Services de visualisation';
-		$resourceCategories['wfs'] = 'Services de recherche et de téléchargement';
-		$resourceCategories['wmc'] = 'Cartes composées';
-		$resourceCategories['georss'] = 'KML/Newsfeeds';
-
-		$orderByTitle['header'] = 'classé selon:';
-		$orderByTitle['id'] = 'numéro d\'identification';
-		$orderByTitle['title'] = 'par ordre alphabétique';
-		$orderByTitle['rank'] = 'vue';
-		$orderByTitle['date'] = 'mise à jour';
-
-		$maxResultsTitle['header'] = 'Résultat par page:';
-
-       	break;
-     	default:
-        	$classificationElements[0]['name2show'] = 'Suchbegriff(e):';
-		$classificationElements[1]['name2show'] = 'Anbietende Stelle(n):';
-		$classificationElements[3]['name2show'] = 'INSPIRE Themen:';
-		$classificationElements[2]['name2show'] = 'ISO Kategorien:';
-		$classificationElements[4]['name2show'] = 'RP Kategorien:';
-		$classificationElements[5]['name2show'] = 'Räumliche Einschränkung:';
-		$classificationElements[6]['name2show'] = 'Registrierung/Aktualisierung von:';
-		$classificationElements[7]['name2show'] = 'Registrierung/Aktualisierung bis:';
-
-		$resourceCategories['wms'] = 'Darstellungsdienste';
-		$resourceCategories['wfs'] = 'Such- und Downloaddienste';
-		$resourceCategories['wmc'] = 'Kartenzusammenstellungen';
-		$resourceCategories['georss'] = 'KML/Newsfeeds';
-
-		$orderByTitle['header'] = 'Sortierung nach:';
-		$orderByTitle['id'] = 'ID';
-		$orderByTitle['title'] = 'Titel';
-		$orderByTitle['rank'] = 'Relevanz';
-		$orderByTitle['date'] = 'Letzte Änderung';
-
-		$maxResultsTitle['header'] = 'Results per page:';
-
-}	
-
-$queryJSON = new stdClass;
-$queryJSON->searchFilter = (object) array();
-$queryJSON->searchFilter->origURL = $searchURL;
-#$queryJSON->searchFilter->classes = (object) array();
-for($i=0; $i<count($searchResources);$i++){
-//fill in the different search classes into the filter - the client can generate the headers out of this information
-	$queryJSON->searchFilter->classes[$i]->title = $resourceCategories[$searchResources[$i]];
-	$queryJSON->searchFilter->classes[$i]->name = $searchResources[$i];
-}
-//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++){
-	if (isset(${$classificationElements[$i]['name']}) & ${$classificationElements[$i]['name']} !='' & ${$classificationElements[$i]['name']} != NULL) {
-		//pull register information out of database in arrays
-		if ($classificationElements[$i]['source'] == 'database') {
-			$funcName = "get_".$classificationElements[$i]['name']."Array";
-			${$classificationElements[$i]['name']."Array"} = $funcName(explode(',',${$classificationElements[$i]['name']}),$languageCode);
-		}
-		$queryJSON->searchFilter->{$classificationElements[$i]['name']}->title = $classificationElements[$i]['name2show'];
-		//check if the filter has subfilters - if not delete the whole filter from query
-		if ($classificationElements[$i]['list'] == false) { //the object has no subsets - like bbox or time filters
-			$queryJSON->searchFilter->{$classificationElements[$i]['name']}->delLink = delTotalFromQuery($classificationElements[$i]['name'],$searchURL);
-			$queryJSON->searchFilter->{$classificationElements[$i]['name']}->item = array();
-			if ($classificationElements[$i]['name'] == 'searchBbox') {
-				$sBboxTitle = $searchTypeBbox." ".${$classificationElements[$i]['name']};
-				$queryJSON->searchFilter->{$classificationElements[$i]['name']}->item[0]->title = $sBboxTitle;
-			}
-			else {
-			$queryJSON->searchFilter->{$classificationElements[$i]['name']}->item[0]->title = ${$classificationElements[$i]['name']};
-			}
-			$queryJSON->searchFilter->{$classificationElements[$i]['name']}->item[0]->delLink = delTotalFromQuery($classificationElements[$i]['name'],$searchURL);
-		} else {
-
-
-
-			//TODO delete all entries of this main category (not for searchText)
-			if ($classificationElements[$i]['name'] != 'searchText') { 
-				$queryJSON->searchFilter->{$classificationElements[$i]['name']}->delLink = delTotalFromQuery($classificationElements[$i]['name'],$searchURL);
-			} else {
-				$queryJSON->searchFilter->{$classificationElements[$i]['name']}->delLink = NULL;
-			}
-			$queryJSON->searchFilter->{$classificationElements[$i]['name']}->item = array();
-			$queryArray = explode(',',${$classificationElements[$i]['name']});
-			//loop for the subcategories
-			for($j=0; $j < count($queryArray); $j++){
-				if ($classificationElements[$i]['source'] == 'database') {
-					$identArray = ${$classificationElements[$i]['name']."Array"};
-					$identArray = flipDiagonally($identArray);
-					//find searched id in information from database
-					$key = array_search($queryArray[$j], $identArray['id']);
-					if ($key === false) {
-						$queryJSON->searchFilter->{$classificationElements[$i]['name']}->item[$j]->title = "no information found in database";
-					} else {
-						$queryJSON->searchFilter->{$classificationElements[$i]['name']}->item[$j]->title = ${$classificationElements[$i]['name']."Array"}[$key]['name'];
-					}
-				} else {
-					$queryJSON->searchFilter->{$classificationElements[$i]['name']}->item[$j]->title = $queryArray[$j];
-				}
-				//generate links to disable filters on a simple way
-				if ($classificationElements[$i]['name'] === 'searchText' & count(explode(',',${$classificationElements[$i]['name']})) === 1) { 
-					$queryJSON->searchFilter->{$classificationElements[$i]['name']}->item[$j]->delLink = NULL;
-				} else {
-					$newSearchLink = delFromQuery($classificationElements[$i]['name'], $searchURL,$queryArray[$j],$queryArray,${$classificationElements[$i]['name']});
-					$newSearchLink = delTotalFromQuery('searchId',$newSearchLink);
-					$queryJSON->searchFilter->{$classificationElements[$i]['name']}->item[$j]->delLink = $newSearchLink;
-				}
-			}
-		}
-	}	
-}
-
-//generate filter for different maxResults entries
-//$preDefinedMaxResults
-if ($_REQUEST["maxResults"] == '') {
-	$queryJSON->searchFilter->maxResults->header = $maxResultsTitle['header'];
-	$queryJSON->searchFilter->maxResults->title = $preDefinedMaxResults[0];
-	for ($i=0; $i<(count($preDefinedMaxResults)-1); $i++) {
-		$queryJSON->searchFilter->maxResults->item[$i]->title = $preDefinedMaxResults[$i+1];
-		$queryJSON->searchFilter->maxResults->item[$i]->url = $searchURL."&maxResults=".$preDefinedMaxResults[$i+1];
-	}
-} else {
-	if (in_array($maxResults, $preDefinedMaxResults)) { //is part of preDefined array
-		$queryJSON->searchFilter->maxResults->header = $maxResultsTitle['header'];
-		$queryJSON->searchFilter->maxResults->title = $maxResults;
-		//delete entry from array
-		//$preDefinedMaxResultsRed = deleteEntry($preDefinedMaxResults, $maxResults);
-		for ($i=0; $i<(count($preDefinedMaxResults)); $i++) {
-			$queryJSON->searchFilter->maxResults->item[$i]->title = $preDefinedMaxResults[$i];
-			$queryJSON->searchFilter->maxResults->item[$i]->url = $searchURL."&maxResults=".$preDefinedMaxResults[$i];
-		} 
-	} else { // is some other value 
-		$queryJSON->searchFilter->maxResults->header = $maxResultsTitle['header'];
-		$queryJSON->searchFilter->maxResults->title = $maxResults;
-		for ($i=0; $i<(count($preDefinedMaxResults)); $i++) {
-			$queryJSON->searchFilter->maxResults->item[$i]->title = $preDefinedMaxResults[$i];
-			$queryJSON->searchFilter->maxResults->item[$i]->url = $searchURL."&maxResults=".$preDefinedMaxResults[$i];
-		} 
-	}
-}
-
-
-
-
-
-
-//generate filter for different order possibilities
-
-//$queryJSON->searchFilter = (object) array();
-if ($_REQUEST["orderBy"] == '') {
-//echo "<br>orderBy:>".$_REQUEST["orderBy"]."<<br>";
-	$queryJSON->searchFilter->orderFilter->header = $orderByTitle['header'];
-	$queryJSON->searchFilter->orderFilter->title = $orderByTitle['rank'];
-	$queryJSON->searchFilter->orderFilter->item[0]->title = $orderByTitle['title'];
-	$queryJSON->searchFilter->orderFilter->item[0]->url = $searchURL."&orderBy=title";
-	$queryJSON->searchFilter->orderFilter->item[1]->title = $orderByTitle['id'];
-	$queryJSON->searchFilter->orderFilter->item[1]->url = $searchURL."&orderBy=id";
-	$queryJSON->searchFilter->orderFilter->item[2]->title = $orderByTitle['date'];
-	$queryJSON->searchFilter->orderFilter->item[2]->url = $searchURL."&orderBy=date";
-
-
-} else {
-//read out actual order filter
-	$queryJSON->searchFilter->orderFilter->header = $orderByTitle['header'];
-switch ($orderBy) {
-					case "rank":
-						$queryJSON->searchFilter->orderFilter->title = $orderByTitle['rank'];
-						$queryJSON->searchFilter->orderFilter->item[0]->title = $orderByTitle['id'];
-						
-						$queryJSON->searchFilter->orderFilter->item[0]->url = str_replace("orderBy=rank", "orderBy=id", $searchURL);
-						$queryJSON->searchFilter->orderFilter->item[1]->title = $orderByTitle['title'];
-
-						$queryJSON->searchFilter->orderFilter->item[1]->url = str_replace("orderBy=rank", "orderBy=title", $searchURL);
-$queryJSON->searchFilter->orderFilter->item[2]->title = $orderByTitle['date'];
-
-						$queryJSON->searchFilter->orderFilter->item[2]->url = str_replace("orderBy=rank", "orderBy=date", $searchURL);
-
-
-						break;
-					case "id":
-						$queryJSON->searchFilter->orderFilter->title = $orderByTitle['id'];
-						$queryJSON->searchFilter->orderFilter->item[0]->title = $orderByTitle['rank'];
-
-						$queryJSON->searchFilter->orderFilter->item[0]->url = str_replace("orderBy=id", "orderBy=rank", $searchURL);
-						$queryJSON->searchFilter->orderFilter->item[1]->title = $orderByTitle['title'];
-
-						$queryJSON->searchFilter->orderFilter->item[1]->url = str_replace("orderBy=id", "orderBy=title", $searchURL);
-						$queryJSON->searchFilter->orderFilter->item[2]->title = $orderByTitle['date'];
-
-						$queryJSON->searchFilter->orderFilter->item[2]->url = str_replace("orderBy=id", "orderBy=date", $searchURL);
-
-
-						break;
-					case "title":
-						$queryJSON->searchFilter->orderFilter->title = $orderByTitle['title'];
-						$queryJSON->searchFilter->orderFilter->item[0]->title = $orderByTitle['rank'];
-
-						$queryJSON->searchFilter->orderFilter->item[0]->url = str_replace("orderBy=title", "orderBy=rank", $searchURL);
-						$queryJSON->searchFilter->orderFilter->item[1]->title = $orderByTitle['id'];
-
-						$queryJSON->searchFilter->orderFilter->item[1]->url = str_replace("orderBy=title", "orderBy=id", $searchURL);
-						$queryJSON->searchFilter->orderFilter->item[2]->title = $orderByTitle['date'];
-
-						$queryJSON->searchFilter->orderFilter->item[2]->url = str_replace("orderBy=title", "orderBy=date", $searchURL);
-						break;
-					case "date":
-						$queryJSON->searchFilter->orderFilter->title = $orderByTitle['date'];
-						$queryJSON->searchFilter->orderFilter->item[0]->title = $orderByTitle['rank'];
-
-						$queryJSON->searchFilter->orderFilter->item[0]->url = str_replace("orderBy=date", "orderBy=rank", $searchURL);
-						$queryJSON->searchFilter->orderFilter->item[1]->title = $orderByTitle['id'];
-
-						$queryJSON->searchFilter->orderFilter->item[1]->url = str_replace("orderBy=date", "orderBy=id", $searchURL);
-						$queryJSON->searchFilter->orderFilter->item[2]->title = $orderByTitle['title'];
-
-						$queryJSON->searchFilter->orderFilter->item[2]->url = str_replace("orderBy=date", "orderBy=title", $searchURL);
-						break;
-					
-}
-}
-
-//write out json to file or web
-	
-$queryFilter = $classJSON->encode($queryJSON);
-
-if ($resultTarget == 'debug') {
-	echo "<br>DEBUG: filter: ".$queryFilter."<br>";
-	#echo "<br>DEBUG: searchTypeBbox: ".$searchTypeBbox."<br>";
-}
-if ($resultTarget == 'file') {
-	$filename = $tempFolder."/".$searchId."_filter.json";
-	if (file_exists($filename)) {
-    		$e = new mb_notice("php/callMetdata.php: The file $filename exists - it will not be overwritten!");
-
-	} else {
-   		if($catFileHandle = fopen($filename, "w")){
-			fwrite($catFileHandle,$queryFilter);
-			fclose($catFileHandle);
-			$e = new mb_notice("php/callMetdata.php: new filter_file created!");
-		} else {
-		$e = new mb_notice("php/callMetdata.php: cannot create filter_file!");
-		}
-	}
-	
-}
-//function to transpose a matrix - sometimes needed to do an array search
-function flipDiagonally($arr) {
-    	$out = array();
-    	foreach ($arr as $key => $subarr) {
-      		foreach ($subarr as $subkey => $subvalue) {
-        		$out[$subkey][$key] = $subvalue;
-       		}
-    	}
-   	return $out;
-}
-
-//function to delete one of the comma separated values from one get request
-function delFromQuery($paramName,$queryString,$string,$queryArray,$queryList) {
-	//check if if count searchArray = 1
-	if (count($queryArray) == 1){
-		//remove request parameter from url by regexpr or replace
-		$str2search = $paramName."=".$queryList;
-		$str2exchange = "";
-		$queryStringNew = str_replace($str2search, $str2exchange, $queryString);
-		$queryStringNew = str_replace("&&", "&", $queryStringNew);
-	} else {
-	//there are more than one filter - reduce the filter  
-		$objectList = "";
-		for($i=0; $i < count($queryArray); $i++){
-			if ($queryArray[$i] != $string){
-				$objectList .= $queryArray[$i].",";		
-			} 
-		}
-		//remove last comma
-		$objectList = rtrim($objectList, ",");
-		$str2search = $paramName."=".$queryList;
-		echo "string to search: ".$str2search."<br>";
-		$str2exchange = $paramName."=".$objectList;
-		echo "string to exchange: ".$str2exchange."<br>";
-		$queryStringNew = str_replace($str2search, $str2exchange, urldecode($queryString));
-	}
-	return $queryStringNew;
-}
-
-//function to remove one complete get param out of the query
-function delTotalFromQuery($paramName,$queryString) {
-	//echo $paramName ."<br>";
-	$queryString = "&".$queryString;
-	$queryStringNew = preg_replace('/\b'.$paramName.'\=[^&]*&?/',"",$queryString); //TODO find empty get params
-	$queryStringNew = ltrim($queryStringNew,'&');
-	$queryStringNew = rtrim($queryStringNew,'&');
-	return $queryStringNew;
-}
-//delete all string entries from array
-function deleteEntry($arrayname, $entry) {
-	$n = $arrayname.length;
-	for($i=0; $i<($n+1); $i++){
-		if ($arrayname[$i] == $entry) {
-			$arrayname.splice($i, 1);
-		}
-	}
-	return $arrayname;
-} 
-
-//call class_metadata - in case of file for all requested resources, in case of web only for one resource - cause there are different result files
-
-
-if ($resultTarget == 'file') {
-	for($i=0; $i<count($searchResources);$i++){
-		$str = "nohup php5 /data/mapbender/http/php/mod_metadataWrite.php ";
-		$str .= "'".$userId."' ";		
-		$str .= "'".$searchId."' ";		
-		$str .= "'".$searchText."' "; 		
-		$str .= "'".$registratingDepartments."' ";						
-		$str .= "'".$isoCategories."' ";							
-		$str .= "'".$inspireThemes."' ";
-		$str .= "'".$timeBegin."' ";
-		$str .= "'".$timeEnd."' ";
-		$str .= "'".$regTimeBegin."' ";
-		$str .= "'".$regTimeEnd."' ";
-		$str .= "'".$maxResults."' ";
-		$str .= "'".$searchBbox."' ";
-		$str .= "'".$searchTypeBbox."' ";
-		$str .= "'".$accessRestrictions."' ";
-		$str .= "'".$languageCode."' ";
-		$str .= "'".$searchEPSG."' ";
-		$str .= "'".$searchResources[$i]."' ";
-		$str .= "'".$searchPages[$i]."' ";
-		$str .= "'".$outputFormat."' ";
-		$str .= "'".$resultTarget."' ";
-		$str .= "'".$searchURL."' ";
-		$str .= "'".$customCategories."' ";
-		$str .= "'".$hostName."' ";
-		$str .= "'".$orderBy."' ";
-		$str .= " & ";
-		$e = new mb_notice($str);
-		exec($str);
-	}
-}
-if ($resultTarget == 'web' or $resultTarget == 'debug') {
-	if (count($searchResources) == 1) {
-		$metadata = new searchMetadata($userId, $searchId, $searchText, $registratingDepartments, $isoCategories, $inspireThemes, $timeBegin, $timeEnd, $regTimeBegin, $regTimeEnd, $maxResults, $searchBbox, $searchTypeBbox, $accessRestrictions, $languageCode, $searchEPSG, $searchResources[0], $searchPages[0], $outputFormat, $resultTarget, $searchURL, $customCategories, $hostName, $orderBy);
-		#if ($outputFormat == 'xml') {
-		#	header("Content-type: application/xhtml+xml; charset=UTF-8");		
-		#}
-		#echo "class initiated<br>";
-	}
-	else {
-		echo "Result for web can only requested for one type of resource (wms, wfs, wmc, georss)!";
-	}
-}
-/*
-How does the webservice look like?
-First request: Do search for all classes. 
-Next request: Search only in the requested class and the numbered page.
-search.php?q=test&classes=wms,wfs,wmc,georss&pages=1,1,1,1&iso=1,2,3&inspire=1,2,3,4&department=1,2,3,4&bbox=123,123,123,123
-simple other request:
-search.php?q=test&classes=wms&pages=2&iso=1,2,3&inspire=1,2,3,4&department=1,2,3,4&beginDate=2009-10-10&endDate=2010-11-12&searchId=12hjxa31231
-There is a possibility to exchange some classes by other information - the id will be used to update the search result files - but this can only update the class infos. The pagenumber should be updated in the metadata file
-*/
-//
-//Name of searchMetadata file
-//searchid_classes.json
-//Name of searchCategories file
-//Name of searchResult files
-//searchid_wms_1.json
-//searchid_wfs_1.json
-//searchid_wmc_1.json - doesn't exists till now
-//searchid_georss_1.json - doesn't exists till now
-//categories files - will only be generated when the search is started and resultType = 'file'. if the categories files already exists it will not be updated! - Here we can spare a reasonable amount of calculating power. Another approach is to generate a md5 hash of an ordered searchURL. With this we can cache the requests!
-
-//searchid_wms_cat.json
-//searchid_wfs_cat.json
-//searchid_wmc_cat.json - doesn't exists till now
-//searchid_georss_cat.json - doesn't exists till now
-//searchid_filter.json
-
-?>

Deleted: trunk/mapbender/http/php/mod_dataLinkDownloadISOMetadata.php
===================================================================
--- trunk/mapbender/http/php/mod_dataLinkDownloadISOMetadata.php	2016-05-27 07:11:28 UTC (rev 9487)
+++ trunk/mapbender/http/php/mod_dataLinkDownloadISOMetadata.php	2016-05-27 07:16:01 UTC (rev 9488)
@@ -1,1014 +0,0 @@
-<?php
-//http://www.geoportal.rlp.de/mapbender/php/mod_dataLinkDownloadISOMetadata.php?outputFormat=iso19139&Id=20578
-// $Id: mod_dataLinkDownloadISOMetadata.php 235
-// http://www.mapbender.org/index.php/
-// Copyright (C) 2002 CCGIS 
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2, or (at your option)
-// any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-//Script to generate a conformant ISO19139 service metadata record for a wms layers dataurl attribut which is registrated in the mapbender database. It works as a webservice
-//The record will be fulfill the demands of the INSPIRE metadata regulation from 03.12.2008 and the iso19139
-require_once(dirname(__FILE__) . "/../../core/globalSettings.php");
-require_once(dirname(__FILE__) . "/../classes/class_connector.php");
-require_once(dirname(__FILE__) . "/../classes/class_administration.php");
-
-$con = db_connect(DBSERVER,OWNER,PW);
-db_select_db(DB,$con);
-
-$admin = new administration();
-
-//pull the needed things from tables datalink, md_metadata, layer, wms
-
- 
-//parse request parameter
-//make all parameters available as upper case
-foreach($_REQUEST as $key => $val) {
-	$_REQUEST[strtoupper($key)] = $val;
-}
-//validate request params
-if (isset($_REQUEST['ID']) & $_REQUEST['ID'] != "") {
-	//validate integer
-	$testMatch = $_REQUEST["ID"];
-	$pattern = '/^[\d]*$/';		
- 	if (!preg_match($pattern,$testMatch)){ 
-		echo 'Id: <b>'.$testMatch.'</b> is not valid.<br/>'; 
-		die(); 		
- 	}
-	$recordId = $testMatch;
-	$testMatch = NULL;
-}
-//
-if ($_REQUEST['OUTPUTFORMAT'] == "iso19139") {
-	//Initialize XML document
-	$iso19139Doc = new DOMDocument('1.0');
-	$iso19139Doc->encoding = 'UTF-8';
-} else {
-	echo 'outputFormat: <b>'.$_REQUEST['OUTPUTFORMAT'].'</b> is not set or valid.<br/>'; 
-	die();
-}
-//if validation is requested
-//
-if (isset($_REQUEST['VALIDATE']) and $_REQUEST['VALIDATE'] != "true") {
-	//
-	echo 'validate: <b>'.$_REQUEST['VALIDATE'].'</b> is not valid.<br/>'; 
-	die();
-}
-//some needfull functions to pull metadata out of the database!
-function fillISO19139($iso19139, $recordId) {
-	global $admin;
-	$sql = <<<SQL
-
-select * from (select * from (select * from (select * from (select * from (select * from layer inner join ows_relation_metadata on layer.layer_id = ows_relation_metadata.fkey_layer_id where layer.layer_id = $1) as layer_relation inner join mb_metadata on layer_relation.fkey_metadata_id = mb_metadata.metadata_id) as layer_metadata inner join ows_relation_data on ows_relation_data.fkey_layer_id = layer_metadata.layer_id) as layer_relation_data inner join datalink on layer_relation_data.fkey_datalink_id = datalink.datalink_id) as layer_data inner join wms on layer_data.fkey_wms_id = wms.wms_id)  as layer_wms, layer_epsg where layer_wms.layer_id = layer_epsg.fkey_layer_id and layer_epsg.epsg = 'EPSG:4326';  
-
-SQL;
-	$v = array((integer)$recordId);
-	$t = array('i');
-	$res = db_prep_query($sql,$v,$t);
-	$mapbenderMetadata = db_fetch_array($res);
-	
-	//Get other needed information out of mapbender database (if not already defined in the select above):
-	//service data
-	if ($wmsView != '') {
-		$sql = "SELECT contactorganization, contactelectronicmailaddress ";
-		$sql .= "FROM wms WHERE wms_id = $1";
-		$v = array((integer)$mapbenderMetadata['wms_id']);
-		$t = array('i');
-		$res = db_prep_query($sql,$v,$t);
-		$serviceMetadata = db_fetch_array($res);
-	}
-	//infos about the registrating department, check first if a special metadata point of contact is defined in the service table - function from mod_showMetadata - TODO: should be defined in admin class
-	if (!isset($mapbenderMetadata['fkey_mb_group_id']) or is_null($mapbenderMetadata['fkey_mb_group_id']) or $mapbenderMetadata['fkey_mb_group_id'] == 0){
-		$e = new mb_exception("mod_dataLinkDownloadISOMetadata.php: fkey_mb_group_id not found!");
-		//Get information about owning user of the relation mb_user_mb_group - alternatively the defined fkey_mb_group_id from the service must be used!
-		$sqlDep = "SELECT mb_group_name, mb_group_title, mb_group_id, mb_group_logo_path, mb_group_address, mb_group_email, mb_group_postcode, mb_group_city, mb_group_voicetelephone, mb_group_facsimiletelephone FROM mb_group AS a, mb_user AS b, mb_user_mb_group AS c WHERE b.mb_user_id = $1  AND b.mb_user_id = c.fkey_mb_user_id AND c.fkey_mb_group_id = a.mb_group_id AND c.mb_user_mb_group_type=2 LIMIT 1";
-		$vDep = array($mapbenderMetadata['wms_owner']);
-		$tDep = array('i');
-		$resDep = db_prep_query($sqlDep, $vDep, $tDep);
-		$departmentMetadata = db_fetch_array($resDep);
-	} else {
-		$e = new mb_exception("mod_dataLinkDownloadISOMetadata.php: fkey_mb_group_id found!");
-		$sqlDep = "SELECT mb_group_name , mb_group_title, mb_group_id, mb_group_logo_path , mb_group_address, mb_group_email, mb_group_postcode, mb_group_city, mb_group_voicetelephone, mb_group_facsimiletelephone FROM mb_group WHERE mb_group_id = $1 LIMIT 1";
-		$vDep = array($mapbenderMetadata['fkey_mb_group_id']);
-		$tDep = array('i');
-		$resDep = db_prep_query($sqlDep, $vDep, $tDep);
-		$departmentMetadata = db_fetch_array($resDep);
-	}
-
-	//infos about the owner of the service - he is the man who administrate the metadata - register the service
-	$sql = "SELECT mb_user_email ";
-	$sql .= "FROM mb_user WHERE mb_user_id = $1";
-	$v = array((integer)$mapbenderMetadata['wms_owner']);
-	$t = array('i');
-	$res = db_prep_query($sql,$v,$t);
-	$userMetadata = db_fetch_array($res);
-
-	//check if resource is freely available to anonymous user - which are all users who search thru metadata catalogues:
-	$hasPermission=$admin->getLayerPermission($mapbenderMetadata['wms_id'],$mapbenderMetadata['layer_name'],PUBLIC_USER);
-
-	//Creating the central "MD_Metadata" node
-	$MD_Metadata = $iso19139->createElementNS('http://www.isotc211.org/2005/gmd', 'gmd:MD_Metadata');
-	$MD_Metadata = $iso19139->appendChild($MD_Metadata);
-	$MD_Metadata->setAttribute("xmlns:srv", "http://www.isotc211.org/2005/srv");
-	$MD_Metadata->setAttribute("xmlns:gml", "http://www.opengis.net/gml");
-	$MD_Metadata->setAttribute("xmlns:gco", "http://www.isotc211.org/2005/gco");
-	$MD_Metadata->setAttribute("xmlns:xlink", "http://www.w3.org/1999/xlink");
-	$MD_Metadata->setAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
-	$MD_Metadata->setAttribute("xsi:schemaLocation", "http://www.isotc211.org/2005/gmd ./xsd/gmd/gmd.xsd http://www.isotc211.org/2005/srv ./xsd/srv/srv.xsd");
-
-	//generate identifier part 
-	$identifier = $iso19139->createElement("gmd:fileIdentifier");
-	$identifierString = $iso19139->createElement("gco:CharacterString");
-	if (isset($mapbenderMetadata['datalink_randomid'])) {
-		$identifierText = $iso19139->createTextNode($mapbenderMetadata['datalink_randomid']);//TODO use a special uuid for the concret download service
-	}
-	else {
-		$identifierText = $iso19139->createTextNode("no id found");
-	}
-	$identifierString->appendChild($identifierText);
-	$identifier->appendChild($identifierString);
-	$MD_Metadata->appendChild($identifier);
-
-	//generate language part B 10.3 (if available) of the inspire metadata regulation
-	$language = $iso19139->createElement("gmd:language");
-	$languagecode = $iso19139->createElement("gmd:LanguageCode");
-	$languagecode->setAttribute("codeList", "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#LanguageCode");
-	if (isset($mapbenderMetadata['metadata_language'])) {
-		$languageText = $iso19139->createTextNode($mapbenderMetadata['metadata_language']);
-		$languagecode->setAttribute("codeListValue", $mapbenderMetadata['metadata_language']);
-	}
-	else {
-		$languageText = $iso19139->createTextNode("ger");
-		$languagecode->setAttribute("codeListValue", "ger");
-	}
-	$languagecode->appendChild($languageText);
-	$language ->appendChild($languagecode);
-	$language = $MD_Metadata->appendChild($language);
-
-	//generate characterset part - first it should be utf8 ;-)
-	$characterSet = $iso19139->createElement("gmd:characterSet");
-	$characterSetCode = $iso19139->createElement("gmd:MD_CharacterSetCode");
-	$characterSetCode->setAttribute("codeList", "http://www.loc.gov/standards/iso639-2");
-	$characterSetCode->setAttribute("codeListValue", "utf8");
-	$characterSet->appendChild($characterSetCode);
-	$characterSet = $MD_Metadata->appendChild($characterSet);
-
-	//generate MD_Scope part B 1.3 (if available)
-	$hierarchyLevel = $iso19139->createElement("gmd:hierarchyLevel");
-	$scopecode = $iso19139->createElement("gmd:MD_ScopeCode");
-	$scopecode->setAttribute("codeList", "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#MD_ScopeCode");
-	if (isset($mapbenderMetadata['hierarchy_level'])) {
-		$scopecode->setAttribute("codeListValue", $mapbenderMetadata['hierarchy_level']);//if such a metadata exists in the mapbender metadata view
-		$scopeText = $iso19139->createTextNode($mapbenderMetadata['hierarchy_level']);
-	}
-	else {
-		$scopecode->setAttribute("codeListValue", "service");
-		$scopeText = $iso19139->createTextNode("service");
-	}
-	$scopecode->appendChild($scopeText);
-	$hierarchyLevel->appendChild($scopecode);
-	$hierarchyLevel=$MD_Metadata->appendChild($hierarchyLevel);
-
-	//iso19139 demands a hierachyLevelName object
-	$hierarchyLevelName = $iso19139->createElement("gmd:hierarchyLevelName");
-	$hierarchyLevelNameString = $iso19139->createElement("gco:CharacterString");
-	$hierarchyLevelNameText = $iso19139->createTextNode('Downloaddienst');
-	$hierarchyLevelName->appendChild($hierarchyLevelNameString);
-	$hierarchyLevelNameString->appendChild($hierarchyLevelNameText);
-	$hierarchyLevelName=$MD_Metadata->appendChild($hierarchyLevelName);
-
-	//Part B 10.1 responsible party for the resource
-	$contact=$iso19139->createElement("gmd:contact");
-	$CI_ResponsibleParty=$iso19139->createElement("gmd:CI_ResponsibleParty");
-	$organisationName=$iso19139->createElement("gmd:organisationName");
-	$organisationName_cs=$iso19139->createElement("gco:CharacterString");
-	if (isset($departmentMetadata['mb_group_name'])) {
-		$organisationNameText = $iso19139->createTextNode($departmentMetadata['mb_group_name']); 
-	}
-	else
-	{
-		$organisationNameText=$iso19139->createTextNode('department not known');
-	}
-	$contactInfo=$iso19139->createElement("gmd:contactInfo");
-	$CI_Contact=$iso19139->createElement("gmd:CI_Contact");
-	$address=$iso19139->createElement("gmd:address");
-	$CI_Address=$iso19139->createElement("gmd:CI_Address");
-	$electronicMailAddress=$iso19139->createElement("gmd:electronicMailAddress");
-	$electronicMailAddress_cs=$iso19139->createElement("gco:CharacterString");
-	if (isset($userMetadata['mb_user_email'])) {
-		//get email address from ows service metadata out of mapbender database	
-		$electronicMailAddressText=$iso19139->createTextNode($userMetadata['mb_user_email']); 
-	}
-	else
-	{
-		$electronicMailAddressText=$iso19139->createTextNode('email not yet given');
-	}
-	$role=$iso19139->createElement("gmd:role");
-	$CI_RoleCode=$iso19139->createElement("gmd:CI_RoleCode");
-	$CI_RoleCode->setAttribute("codeList", "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_RoleCode");
-	$CI_RoleCode->setAttribute("codeListValue", "pointOfContact");
-	$CI_RoleCodeText=$iso19139->createTextNode("pointOfContact");
-
-	//create xml tree
-	$organisationName_cs->appendChild($organisationNameText);
-	$organisationName->appendChild($organisationName_cs);
-	$CI_ResponsibleParty->appendChild($organisationName);
-	$electronicMailAddress_cs->appendChild($electronicMailAddressText);
-	$electronicMailAddress->appendChild($electronicMailAddress_cs);
-	$CI_Address->appendChild($electronicMailAddress);
-	$address->appendChild($CI_Address);
-	$CI_Contact->appendChild($address);
-	$contactInfo->appendChild($CI_Contact);
-	$CI_RoleCode->appendChild($CI_RoleCodeText);
-	$role->appendChild($CI_RoleCode);
-	$CI_ResponsibleParty->appendChild($contactInfo);
-	$CI_ResponsibleParty->appendChild($role);
-	$contact->appendChild($CI_ResponsibleParty);
-	$MD_Metadata->appendChild($contact);
-
-	//generate dateStamp part B 10.2 (if available)
-	$dateStamp = $iso19139->createElement("gmd:dateStamp");
-	$mddate = $iso19139->createElement("gco:Date");
-	if (isset($mapbenderMetadata['wms_timestamp'])) {
-		$mddateText = $iso19139->createTextNode(date("Y-m-d",$mapbenderMetadata['wms_timestamp']));
-	}
-	else {
-		$mddateText = $iso19139->createTextNode("2000-01-01");
-	}
-	$mddate->appendChild($mddateText);
-	$dateStamp->appendChild($mddate);
-	$dateStamp=$MD_Metadata->appendChild($dateStamp);
-
-	//standard definition - for ows everytime the same ;-) but for feeds?
-	$metadataStandardName = $iso19139->createElement("gmd:metadataStandardName");
-	$metadataStandardVersion = $iso19139->createElement("gmd:metadataStandardVersion");
-	$metadataStandardNameText = $iso19139->createElement("gco:CharacterString");
-	$metadataStandardVersionText = $iso19139->createElement("gco:CharacterString");
-	$metadataStandardNameTextString = $iso19139->createTextNode("ISO19119");
-	$metadataStandardVersionTextString = $iso19139->createTextNode("2005/PDAM 1");
-	$metadataStandardNameText->appendChild($metadataStandardNameTextString);
-	$metadataStandardVersionText->appendChild($metadataStandardVersionTextString);
-	$metadataStandardName->appendChild($metadataStandardNameText);
-	$metadataStandardVersion->appendChild($metadataStandardVersionText);
-	$MD_Metadata->appendChild($metadataStandardName);
-	$MD_Metadata->appendChild($metadataStandardVersion);
-
-	//do the things for identification
-	//create nodes
-	$identificationInfo=$iso19139->createElement("gmd:identificationInfo");
-	$SV_ServiceIdentification=$iso19139->createElement("srv:SV_ServiceIdentification");
-	//TODO: add attribut if really needed
-	//$SV_ServiceIdentification->setAttribute("id", "dataId");
-	$citation=$iso19139->createElement("gmd:citation");
-	$CI_Citation=$iso19139->createElement("gmd:CI_Citation");
-
-	//create nodes for things which are defined - howto do the multiplicities? Ask Martin!
-	//Create Resource title element B 1.1
-	$title=$iso19139->createElement("gmd:title");
-	$title_cs=$iso19139->createElement("gco:CharacterString");
-	if (isset($mapbenderMetadata['layer_title'])) {
-		$titleText = $iso19139->createTextNode($mapbenderMetadata['layer_title']);
-	}
-	else {
-		$titleText = $iso19139->createTextNode("title not given");
-	}
-	$title_cs->appendChild($titleText);
-	$title->appendChild($title_cs);
-	$CI_Citation->appendChild($title);
-
-	//Create date elements B5.2-5.4 - format will be only a date - no dateTime given
-	//Do things for B 5.2 date of publication
-	if (isset($mapbenderMetadata['wms_timestamp_create'])) {
-		$date1=$iso19139->createElement("gmd:date");
-		$CI_Date=$iso19139->createElement("gmd:CI_Date");
-		$date2=$iso19139->createElement("gmd:date");
-		$gcoDate=$iso19139->createElement("gco:Date");
-		$dateType=$iso19139->createElement("gmd:dateType");
-		$dateTypeCode=$iso19139->createElement("gmd:CI_DateTypeCode");
-		$dateTypeCode->setAttribute("codeList", "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode");
-		$dateTypeCode->setAttribute("codeListValue", "publication");
-		$dateTypeCodeText=$iso19139->createTextNode('publication');
-		$dateText= $iso19139->createTextNode(date('Y-m-d',$mapbenderMetadata['wms_timestamp_create']));
-		$dateTypeCode->appendChild($dateTypeCodeText);
-		$dateType->appendChild($dateTypeCode);
-		$gcoDate->appendChild($dateText);
-		$date2->appendChild($gcoDate);
-		$CI_Date->appendChild($date2);
-		$CI_Date->appendChild($dateType);
-		$date1->appendChild($CI_Date);
-		$CI_Citation->appendChild($date1);
-	}
-	//Do things for B 5.3 date of revision
-	if (isset($mapbenderMetadata['wms_timestamp'])) {
-		$date1=$iso19139->createElement("gmd:date");
-		$CI_Date=$iso19139->createElement("gmd:CI_Date");
-		$date2=$iso19139->createElement("gmd:date");
-		$gcoDate=$iso19139->createElement("gco:Date");
-		$dateType=$iso19139->createElement("gmd:dateType");
-		$dateTypeCode=$iso19139->createElement("gmd:CI_DateTypeCode");
-		$dateTypeCode->setAttribute("codeList", "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode");
-		$dateTypeCode->setAttribute("codeListValue", "revision");
-		$dateTypeCodeText=$iso19139->createTextNode('revision');
-		$dateText= $iso19139->createTextNode(date('Y-m-d',$mapbenderMetadata['wms_timestamp']));
-		$dateTypeCode->appendChild($dateTypeCodeText);
-		$dateType->appendChild($dateTypeCode);
-		$gcoDate->appendChild($dateText);
-		$date2->appendChild($gcoDate);
-		$CI_Date->appendChild($date2);
-		$CI_Date->appendChild($dateType);
-		$date1->appendChild($CI_Date);
-		$CI_Citation->appendChild($date1);
-	}
-	//Do things for B 5.4 date of creation
-	if (isset($mapbenderMetadata['wms_timestamp_creation'])) {
-		$date1=$iso19139->createElement("gmd:date");
-		$CI_Date=$iso19139->createElement("gmd:CI_Date");
-		$date2=$iso19139->createElement("gmd:date");
-		$gcoDate=$iso19139->createElement("gco:Date");
-		$dateType=$iso19139->createElement("gmd:dateType");
-		$dateTypeCode=$iso19139->createElement("gmd:CI_DateTypeCode");
-		$dateTypeCode->setAttribute("codeList", "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode");
-		$dateTypeCode->setAttribute("codeListValue", "creation");
-		$dateTypeCodeText=$iso19139->createTextNode('creation');
-		$dateText= $iso19139->createTextNode(date('Y-m-d',$mapbenderMetadata['wms_timestamp_creation']));
-		$dateTypeCode->appendChild($dateTypeCodeText);
-		$dateType->appendChild($dateTypeCode);
-		$gcoDate->appendChild($dateText);
-		$date2->appendChild($gcoDate);
-		$CI_Date->appendChild($date2);
-		$CI_Date->appendChild($dateType);
-		$date1->appendChild($CI_Date);
-		$CI_Citation->appendChild($date1);
-	}
-	$citation->appendChild($CI_Citation);
-	$SV_ServiceIdentification->appendChild($citation);
-
-	//Create part for abstract B 1.2
-	$abstract=$iso19139->createElement("gmd:abstract");
-	$abstract_cs=$iso19139->createElement("gco:CharacterString");
-	if (isset($mapbenderMetadata['wms_abstract']) or isset($mapbenderMetadata['layer_abstract'])) {
-		$abstractText = $iso19139->createTextNode($mapbenderMetadata['layer_abstract']);
-	}
-	else {
-		$abstractText = $iso19139->createTextNode("not yet defined");
-	}
-	$abstract_cs->appendChild($abstractText);
-	$abstract->appendChild($abstract_cs);
-	$SV_ServiceIdentification->appendChild($abstract);
-
-	//Create part for point of contact for service identification
-	//Define relevant objects
-	$pointOfContact=$iso19139->createElement("gmd:pointOfContact");
-	$CI_ResponsibleParty=$iso19139->createElement("gmd:CI_ResponsibleParty");
-	$organisationName=$iso19139->createElement("gmd:organisationName");
-	$orgaName_cs=$iso19139->createElement("gco:CharacterString");
-	$contactInfo=$iso19139->createElement("gmd:contactInfo");
-	$CI_Contact=$iso19139->createElement("gmd:CI_Contact");
-	$address_1=$iso19139->createElement("gmd:address");
-	$CI_Address=$iso19139->createElement("gmd:CI_Address");
-	$electronicMailAddress=$iso19139->createElement("gmd:electronicMailAddress");
-	$email_cs=$iso19139->createElement("gco:CharacterString");
-	$role=$iso19139->createElement("gmd:role");
-	$CI_RoleCode=$iso19139->createElement("gmd:CI_RoleCode");
-	$CI_RoleCode->setAttribute("codeList", "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_RoleCode");
-	$CI_RoleCode->setAttribute("codeListValue", "publisher");
-	if (isset($mapbenderMetadata['contactorganization'])) {
-		$resOrgaText = $iso19139->createTextNode($mapbenderMetadata['contactorganization']);
-	}
-	else {
-		$resOrgaText= $iso19139->createTextNode("not yet defined");
-	}
-	if (isset($mapbenderMetadata['contactelectronicmailaddress'])) {
-		$resMailText = $iso19139->createTextNode($mapbenderMetadata['contactelectronicmailaddress']);
-	}
-	else {
-		$resMailText = $iso19139->createTextNode("kontakt at geoportal.rlp.de");
-	}
-	$resRoleText = $iso19139->createTextNode("publisher");
-	$orgaName_cs->appendChild($resOrgaText);
-	$organisationName->appendChild($orgaName_cs);
-	$CI_ResponsibleParty->appendChild($organisationName);
-	$email_cs->appendChild($resMailText);
-	$electronicMailAddress->appendChild($email_cs);
-	$CI_Address->appendChild($electronicMailAddress);
-	$address_1->appendChild($CI_Address);
-	$CI_Contact->appendChild($address_1);
-	$contactInfo->appendChild($CI_Contact);
-	$CI_ResponsibleParty->appendChild($contactInfo);
-	$CI_RoleCode->appendChild($resRoleText);
-	$role->appendChild($CI_RoleCode);
-	$CI_ResponsibleParty->appendChild($role);
-	$pointOfContact->appendChild($CI_ResponsibleParty);
-	$SV_ServiceIdentification->appendChild($pointOfContact);
-
-	//generate graphical overview part
-	$sql = "SELECT layer_preview.layer_map_preview_filename FROM layer_preview WHERE layer_preview.fkey_layer_id=$1";
-	$v = array((integer)$mapbenderMetadata["layer_id"]);
-	$t = array('i');
-	$res = db_prep_query($sql,$v,$t);
-	$row = db_fetch_array($res);
-
-	//old version 
-/*	if (isset($row['layer_map_preview_filename']) & $row['layer_map_preview_filename'] != '') {
-		$graphicOverview=$iso19139->createElement("gmd:graphicOverview");
-		$MD_BrowseGraphic=$iso19139->createElement("gmd:MD_BrowseGraphic");
-		$fileName=$iso19139->createElement("gmd:fileName");
-		$fileName_cs=$iso19139->createElement("gco:characterString");
-		$previewFilenameText = $iso19139->createTextNode("http://www.gdi-rp-dienste3.rlp.de/mapbender/x_geoportal/layer_preview/".$row['layer_map_preview_filename']);
-		$fileName_cs->appendChild($previewFilenameText);
-		$fileName->appendChild($fileName_cs);
-		$MD_BrowseGraphic->appendChild($fileName);
-		$graphicOverview->appendChild($MD_BrowseGraphic);
-		$SV_ServiceIdentification->appendChild($graphicOverview);
-	}
-*/	
-	//use the example version of bavaria
-	if (file_exists(PREVIEW_DIR."/".$mapbenderMetadata['layer_id']."_layer_map_preview.jpg")) {	//TODO
-		$graphicOverview=$iso19139->createElement("gmd:graphicOverview");
-		$MD_BrowseGraphic=$iso19139->createElement("gmd:MD_BrowseGraphic");
-		$fileName=$iso19139->createElement("gmd:fileName");
-		$fileName_cs=$iso19139->createElement("gco:CharacterString");
-		$previewFilenameText = $iso19139->createTextNode("http://www.geoportal.rlp.de/mapbender/geoportal/preview/".$mapbenderMetadata['layer_id']."_layer_map_preview.jpg"); //TODO use constant for absolute path
-		$fileName_cs->appendChild($previewFilenameText);
-		$fileName->appendChild($fileName_cs);
-
-		$fileDescription=$iso19139->createElement("gmd:fileDescription");
-		$fileDescription_cs=$iso19139->createElement("gco:CharacterString");
-		$fileDescription_text=$iso19139->createTextNode("Thumbnail");
-
-		$fileDescription_cs->appendChild($fileDescription_text);
-		$fileDescription->appendChild($fileDescription_cs);
-		
-
-		$fileType=$iso19139->createElement("gmd:fileType");
-		$fileType_cs=$iso19139->createElement("gco:CharacterString");
-		$fileType_text=$iso19139->createTextNode("JPEG");
-
-		$fileType_cs->appendChild($fileType_text);
-		$fileType->appendChild($fileType_cs);
-
-		$MD_BrowseGraphic->appendChild($fileName);
-
-		$MD_BrowseGraphic->appendChild($fileDescription);
-		$MD_BrowseGraphic->appendChild($fileType);
-
-		$graphicOverview->appendChild($MD_BrowseGraphic);
-		$SV_ServiceIdentification->appendChild($graphicOverview);
-	}
-	
-	/*example 3: 
-	<gmd:graphicOverview>
-  		<gmd:MD_BrowseGraphic>
-   			 <gmd:fileName>
-      				<gco:CharacterString>http://goesr.noaa.gov/browse/datasetIdentifier</gco:CharacterString>
-    			</gmd:fileName>
-  		</gmd:MD_BrowseGraphic>
-	</gmd:graphicOverview>*/
-	
-	//generate keyword part - for services the inspire themes are not applicable!!!
-	//read keywords for resource out of the database:
-	$sql = "SELECT keyword.keyword FROM keyword, layer_keyword WHERE layer_keyword.fkey_layer_id=$1 AND layer_keyword.fkey_keyword_id=keyword.keyword_id";
-	$v = array((integer)$recordId);
-	$t = array('i');
-	$res = db_prep_query($sql,$v,$t);
-	$descriptiveKeywords=$iso19139->createElement("gmd:descriptiveKeywords");
-	$MD_Keywords=$iso19139->createElement("gmd:MD_Keywords");
-	while ($row = db_fetch_array($res)) {
-		$keyword=$iso19139->createElement("gmd:keyword");
-		$keyword_cs=$iso19139->createElement("gco:CharacterString");
-		$keywordText = $iso19139->createTextNode($row['keyword']);
-		$keyword_cs->appendChild($keywordText);
-		$keyword->appendChild($keyword_cs);
-		$MD_Keywords->appendChild($keyword);
-	}
-	//a special keyword for service type wms as INSPIRE likes it ;-)
-	$keyword=$iso19139->createElement("gmd:keyword");
-	$keyword_cs=$iso19139->createElement("gco:CharacterString");
-	$keywordText = $iso19139->createTextNode("infoMapAccessService");
-	$keyword_cs->appendChild($keywordText);
-	$keyword->appendChild($keyword_cs);
-	$MD_Keywords->appendChild($keyword);
-	
-	//pull special keywords from custom categories:	
-	$sql = "SELECT custom_category.custom_category_key FROM custom_category, layer_custom_category WHERE layer_custom_category.fkey_layer_id = $1 AND layer_custom_category.fkey_custom_category_id =  custom_category.custom_category_id AND custom_category_hidden = 0";
-	$v = array((integer)$recordId);
-	$t = array('i');
-	$res = db_prep_query($sql,$v,$t);
-	$e = new mb_notice("look for custom categories: ");
-	$countCustom = 0;
-	while ($row = db_fetch_array($res)) {
-		$keyword=$iso19139->createElement("gmd:keyword");
-		$keyword_cs=$iso19139->createElement("gco:CharacterString");
-		$keywordText = $iso19139->createTextNode($row['custom_category_key']);
-		$keyword_cs->appendChild($keywordText);
-		$keyword->appendChild($keyword_cs);
-		$MD_Keywords->appendChild($keyword);
-		$countCustom++;
-	}
-	$descriptiveKeywords->appendChild($MD_Keywords);
-	$SV_ServiceIdentification->appendChild($descriptiveKeywords);
-
-	//Part B 3 INSPIRE Category
-	//do this only if an INSPIRE keyword (Annex I-III) is set
-	//Resource Constraints B 8
-	$resourceConstraints=$iso19139->createElement("gmd:resourceConstraints");
-	$MD_LegalConstraints=$iso19139->createElement("gmd:MD_Constraints");
-	$useLimitation=$iso19139->createElement("gmd:useLimitation");
-	$useLimitation_cs=$iso19139->createElement("gco:CharacterString");
-	if(isset($mapbenderMetadata['accessconstraints'])){
-		$useLimitationText=$iso19139->createTextNode($mapbenderMetadata['accessconstraints']);
-	}
-	else
-	{
-		$useLimitationText=$iso19139->createTextNode("no conditions apply");
-	}
- 	//TODO: Mapping of constraints between OWS/registry and INSPIRE see View Service Guidance
-	$useLimitation_cs->appendChild($useLimitationText);
-	$useLimitation->appendChild($useLimitation_cs);
-	$MD_LegalConstraints->appendChild($useLimitation);
-	$resourceConstraints->appendChild($MD_LegalConstraints);
-	$SV_ServiceIdentification->appendChild($resourceConstraints);
-
-	$resourceConstraints=$iso19139->createElement("gmd:resourceConstraints");
-	$MD_LegalConstraints=$iso19139->createElement("gmd:MD_LegalConstraints");
-	$accessConstraints=$iso19139->createElement("gmd:accessConstraints");
-	$MD_RestrictionCode=$iso19139->createElement("gmd:MD_RestrictionCode");
-	$MD_RestrictionCode->setAttribute("codeList", "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#MD_RetrictionCode");
-	$MD_RestrictionCode->setAttribute("codeListValue", "otherRestrictions");
-	$MD_RestrictionCodeText=$iso19139->createTextNode("otherRestrictions");
-	$otherConstraints=$iso19139->createElement("gmd:otherConstraints");
-	$otherConstraints_cs=$iso19139->createElement("gco:CharacterString");
-	if (isset($mapbenderMetadata['accessconstraints']) & strtoupper($mapbenderMetadata['accessconstraints']) != 'NONE'){
-			$otherConstraintsText=$iso19139->createTextNode($mapbenderMetadata['accessconstraints']);
-	}
-	else {
-			$otherConstraintsText=$iso19139->createTextNode("no constraints");
-	}
-	$otherConstraints_cs->appendChild($otherConstraintsText);
-	$otherConstraints->appendChild($otherConstraints_cs);
-
-	$MD_RestrictionCode->appendChild($MD_RestrictionCodeText);
-	$accessConstraints->appendChild($MD_RestrictionCode);
-		
-	$MD_LegalConstraints->appendChild($accessConstraints);
-	$MD_LegalConstraints->appendChild($otherConstraints);
-	$resourceConstraints->appendChild($MD_LegalConstraints);
-		
-	$SV_ServiceIdentification->appendChild($resourceConstraints);
-
-	/* example
-	<srv:serviceType>
-    		<gco:LocalName>view</gco:LocalName>
-	</srv:serviceType>*/
-
-	$serviceType=$iso19139->createElement("srv:serviceType");
-	$localName=$iso19139->createElement("gco:LocalName");
-	$serviceTypeText=$iso19139->createTextNode("download");
-	$localName->appendChild($serviceTypeText);
-	$serviceType->appendChild($localName);
-	$SV_ServiceIdentification->appendChild($serviceType);
-
-	$serviceTypeVersion=$iso19139->createElement("srv:serviceTypeVersion");
-	$serviceTypeVersion_cs=$iso19139->createElement("gco:CharacterString");
-	$serviceTypeVersionText=$iso19139->createTextNode("1.1.1");
-
-	$serviceTypeVersion_cs->appendChild($serviceTypeVersionText);
-	$serviceTypeVersion->appendChild($serviceTypeVersion_cs);
-	$SV_ServiceIdentification->appendChild($serviceTypeVersion);
-
-	//Geographical Extent
-	$bbox = array();
-	//initialize if no extent is defined in the database
-	$bbox[0] = -180;
-	$bbox[1] = -90;
-	$bbox[2] = 180;
-	$bbox[3] = 90;
-	if (isset($mapbenderMetadata['bbox']) & ($mapbenderMetadata['bbox'] != '')) {
-		$bbox = explode(',',$mapbenderMetadata['bbox']);
-	}
-	$extent=$iso19139->createElement("srv:extent");
-	$EX_Extent=$iso19139->createElement("gmd:EX_Extent");
-	$geographicElement=$iso19139->createElement("gmd:geographicElement");
-	$EX_GeographicBoundingBox=$iso19139->createElement("gmd:EX_GeographicBoundingBox");
-
-	$westBoundLongitude=$iso19139->createElement("gmd:westBoundLongitude");
-	$wb_dec=$iso19139->createElement("gco:Decimal");
-	$wb_text=$iso19139->createTextNode($mapbenderMetadata['minx']);
-
-	$eastBoundLongitude=$iso19139->createElement("gmd:eastBoundLongitude");
-	$eb_dec=$iso19139->createElement("gco:Decimal");
-	$eb_text=$iso19139->createTextNode($mapbenderMetadata['miny']);
-
-	$southBoundLatitude=$iso19139->createElement("gmd:southBoundLatitude");
-	$sb_dec=$iso19139->createElement("gco:Decimal");
-	$sb_text=$iso19139->createTextNode($mapbenderMetadata['maxx']);
-
-	$northBoundLatitude=$iso19139->createElement("gmd:northBoundLatitude");
-	$nb_dec=$iso19139->createElement("gco:Decimal");
-	$nb_text=$iso19139->createTextNode($mapbenderMetadata['maxy']);
-
-	$wb_dec->appendChild($wb_text);
-	$westBoundLongitude->appendChild($wb_dec);
-	$EX_GeographicBoundingBox->appendChild($westBoundLongitude);
-
-	$eb_dec->appendChild($eb_text);
-	$eastBoundLongitude->appendChild($eb_dec);
-	$EX_GeographicBoundingBox->appendChild($eastBoundLongitude);
-
-	$sb_dec->appendChild($sb_text);
-	$southBoundLatitude->appendChild($sb_dec);
-	$EX_GeographicBoundingBox->appendChild($southBoundLatitude);
-
-	$nb_dec->appendChild($nb_text);
-	$northBoundLatitude->appendChild($nb_dec);
-	$EX_GeographicBoundingBox->appendChild($northBoundLatitude);
-
-	$geographicElement->appendChild($EX_GeographicBoundingBox);
-	$EX_Extent->appendChild($geographicElement);
-	$extent->appendChild($EX_Extent);
-
-	$SV_ServiceIdentification->appendChild($extent);
-
-	//read all metadata entries:
-	$i=0;
-	$sql = <<<SQL
-
-SELECT metadata_id, uuid, link, linktype, md_format, origin, datasetid FROM mb_metadata 
-INNER JOIN (SELECT * from ows_relation_metadata 
-WHERE fkey_layer_id = $recordId ) as relation ON 
-mb_metadata.metadata_id = relation.fkey_metadata_id WHERE mb_metadata.origin IN ('capabilities','external','metador')
-
-SQL;
-	$res_metadataurl = db_query($sql);
-	if ($res_metadataurl != false) {
-		$couplingType=$iso19139->createElement("srv:couplingType");
-		$SV_CouplingType=$iso19139->createElement("srv:SV_CouplingType");
-		$SV_CouplingType->setAttribute("codeList", "SV_CouplingType");
-		$SV_CouplingType->setAttribute("codeListValue", "tight");
-		$couplingType->appendChild($SV_CouplingType);
-		$SV_ServiceIdentification->appendChild($couplingType);
-	}
-	
-	//declare coupling type:
-	/*example from guidance paper:
-<srv:couplingType>
-	<srv:SV_CouplingType codeList="SV_CouplingType" codeListValue="tight"/>
-</srv:couplingType>
-<srv:couplingType gco:nilReason="missing"/>
-<srv:containsOperations gco:nilReason="missing"/>
-<srv:operatesOn xlink:href="http://image2000.jrc.it#image2000_1_nl2_multi"/>*/
-	
-	//to the things which have to be done for integrating the service into a client like portalu ... they have defined another location to put the GetCap URL than INSPIRE does it
-
-	$containsOperation=$iso19139->createElement("srv:containsOperations");
-	$SV_OperationMetadata=$iso19139->createElement("srv:SV_OperationMetadata");
-
-	$operationName=$iso19139->createElement("srv:operationName");
-	$operationName_cs=$iso19139->createElement("gco:CharacterString");
-
-	$operationNameText=$iso19139->createTextNode("GetCapabilities");
-	
-	$operationName_cs->appendChild($operationNameText);
-	$operationName->appendChild($operationName_cs);
-
-	//srv DCP **************************************
-	$DCP=$iso19139->createElement("srv:DCP");
-	$DCPList=$iso19139->createElement("srv:DCPList");
-	$DCPList->setAttribute("codeList", "DCPList");
-	$DCPList->setAttribute("codeListValue", "WebService");
-
-	$DCP->appendChild($DCPList);
-	
-	//connectPoint **********************************
-	$connectPoint=$iso19139->createElement("srv:connectPoint");
-	
-	$CI_OnlineResource=$iso19139->createElement("gmd:CI_OnlineResource");
-
-	$gmd_linkage=$iso19139->createElement("gmd:linkage");
-	$gmd_URL=$iso19139->createElement("gmd:URL");
-
-	//Check if anonymous user has rights to access this layer - if not ? which resource should be advertised? TODO
-	if ($hasPermission) {
-		$gmd_URLText=$iso19139->createTextNode("http://".$_SERVER['HTTP_HOST']."/mapbender/php/wms.php?inspire=1&layer_id=".$mapbenderMetadata['layer_id']."&REQUEST=GetCapabilities&SERVICE=WMS");
-	}
-	else {
-		$serverWithOutPort80 = str_replace(":80","",$_SERVER['HTTP_HOST']);//fix problem when metadata is generated thru curl invocations
-		$gmd_URLText=$iso19139->createTextNode("https://".$serverWithOutPort80."/http_auth/".$mapbenderMetadata['layer_id']."?REQUEST=GetCapabilities&SERVICE=WMS");
-	}
-	$gmd_URL->appendChild($gmd_URLText);
-	$gmd_linkage->appendChild($gmd_URL);
-	$CI_OnlineResource->appendChild($gmd_linkage);
-	$connectPoint->appendChild($CI_OnlineResource);
-
-	$SV_OperationMetadata->appendChild($operationName);
-	$SV_OperationMetadata->appendChild($DCP);
-	$SV_OperationMetadata->appendChild($connectPoint);
-
-	$containsOperation->appendChild($SV_OperationMetadata);
-
-	$SV_ServiceIdentification->appendChild($containsOperation);
-
-	//fill in operatesOn fields with datasetid if given
-	/*INSPIRE example: <srv:operatesOn xlink:href="http://image2000.jrc.it#image2000_1_nl2_multi"/>*/
-	/*INSPIRE demands a href for the metadata record!*/
-	/*TODO: Exchange HTTP_HOST with other baseurl*/
-	while ($row_metadata = db_fetch_array($res_metadataurl)) {
-			switch ($row_metadata['origin']) {
-				case 'capabilities':
-					$operatesOn=$iso19139->createElement("srv:operatesOn");
-					$operatesOn->setAttribute("xlink:href", "http://".$_SERVER['HTTP_HOST']."/mapbender/php/mod_dataISOMetadata.php?outputFormat=iso19139&id=".$row_metadata['uuid']);
-					$operatesOn->setAttribute("uuidref", $row_metadata['datasetid']);
-					$SV_ServiceIdentification->appendChild($operatesOn);
-				break;
-				case 'metador':
-					$operatesOn=$iso19139->createElement("srv:operatesOn");
-					if (defined('METADATA_DEFAULT_CODESPACE')) {
-						$operatesOn->setAttribute("xlink:href", "http://".$_SERVER['HTTP_HOST']."/mapbender/php/mod_dataISOMetadata.php?outputFormat=iso19139&id=".$row_metadata['uuid']);
-						$operatesOn->setAttribute("uuidref", METADATA_DEFAULT_CODESPACE."#".$row_metadata['uuid']);
-					} else {
-						$operatesOn->setAttribute("xlink:href", "http://".$_SERVER['HTTP_HOST']."/mapbender/php/mod_dataISOMetadata.php?outputFormat=iso19139&id=".$row_metadata['uuid']);
-						$operatesOn->setAttribute("uuidref", "http://www.mapbender.org#".$row_metadata['uuid']);
-					}
-					
-					$SV_ServiceIdentification->appendChild($operatesOn);
-				break;
-				case 'external':
-					$operatesOn=$iso19139->createElement("srv:operatesOn");
-					$operatesOn->setAttribute("xlink:href", "http://".$_SERVER['HTTP_HOST']."/mapbender/php/mod_dataISOMetadata.php?outputFormat=iso19139&id=".$row_metadata['uuid']);
-					$operatesOn->setAttribute("uuidref", $row_metadata['uuid']);
-					$SV_ServiceIdentification->appendChild($operatesOn);
-				break;
-				default:
-				break;
-			}
-		}
-	
-/*
-	$serviceTypeVersion_cs->appendChild($serviceTypeVersionText);
-	$serviceTypeVersion->appendChild($serviceTypeVersion_cs);
-	$SV_ServiceIdentification->appendChild($serviceTypeVersion);
-*/
-	$identificationInfo->appendChild($SV_ServiceIdentification);
-
-	//distributionInfo - is demanded from iso19139
-	$gmd_distributionInfo=$iso19139->createElement("gmd:distributionInfo");
-	$MD_Distribution=$iso19139->createElement("gmd:MD_Distribution");
-	$gmd_distributionFormat=$iso19139->createElement("gmd:distributionFormat");
-	$MD_Format=$iso19139->createElement("gmd:MD_Format");
-	$gmd_name=$iso19139->createElement("gmd:name");
-	$gmd_version=$iso19139->createElement("gmd:version");
-	$gmd_name->setAttribute("gco:nilReason", "inapplicable");
-	$gmd_version->setAttribute("gco:nilReason", "inapplicable");//TODO set DataFormat
-	$gmd_transferOptions=$iso19139->createElement("gmd:transferOptions");
-	$MD_DigitalTransferOptions=$iso19139->createElement("gmd:MD_DigitalTransferOptions");
-	$gmd_onLine=$iso19139->createElement("gmd:onLine");
-
-	$CI_OnlineResource=$iso19139->createElement("gmd:CI_OnlineResource");
-
-	$gmd_linkage=$iso19139->createElement("gmd:linkage");
-	$gmd_URL=$iso19139->createElement("gmd:URL");
-
-	//Check if anonymous user has rights to access this layer - if not ? which resource should be advertised? TODO
-	if ($hasPermission) {
-		$gmd_URLText=$iso19139->createTextNode($mapbenderMetadata['datalink_url']);
-	}
-	else {
-		$gmd_URLText=$iso19139->createTextNode("https://".$_SERVER['HTTP_HOST']."/http_auth/".$mapbenderMetadata['layer_id']."?REQUEST=GetCapabilities&SERVICE=WMS");
-	}
-	$gmd_URL->appendChild($gmd_URLText);
-	$gmd_linkage->appendChild($gmd_URL);
-	$CI_OnlineResource->appendChild($gmd_linkage);
-
-	//append things which geonetwork needs to invoke service/layer or what else? - Here the name of the layer and the protocol seems to be needed?
-	//a problem will occur, if the link to get map is not the same as the link to get caps? So how can we handle this? It seems to be very silly! 
-	$gmdProtocol = $iso19139->createElement("gmd:protocol");
-	$gmdProtocol_cs = $iso19139->createElement("gco:CharacterString");
-	$gmdProtocolText = $iso19139->createTextNode("OGC:WMS-1.1.1-http-get-map");//for ever 'OGC:WMS-1.1.1-http-get-map'
-
-	$gmdName=$iso19139->createElement("gmd:name");
-	$gmdName_cs=$iso19139->createElement("gco:CharacterString");
-	$gmdNameText=$iso19139->createTextNode($mapbenderMetadata['layer_name']); //Layername?
-
-	$gmdDescription = $iso19139->createElement("gmd:description");
-	$gmdDescription_cs = $iso19139->createElement("gco:CharacterString");
-	$gmdDescriptionText = $iso19139->createTextNode($mapbenderMetadata['layer_abstract']);//Layer Abstract -TODO use metadata abstract if given
-
-	$gmdProtocol_cs->appendChild($gmdProtocolText);
-	$gmdProtocol->appendChild($gmdProtocol_cs);
-	$CI_OnlineResource->appendChild($gmdProtocol);
-
-	$gmdName_cs->appendChild($gmdNameText);
-	$gmdName->appendChild($gmdName_cs);
-	$CI_OnlineResource->appendChild($gmdName);
-
-	$gmdDescription_cs->appendChild($gmdDescriptionText);
-	$gmdDescription->appendChild($gmdDescription_cs);
-	$CI_OnlineResource->appendChild($gmdDescription);
-	
-//***********************************************************************************
-	$gmd_onLine->appendChild($CI_OnlineResource);
-	$MD_DigitalTransferOptions->appendChild($gmd_onLine);
-	$gmd_transferOptions->appendChild($MD_DigitalTransferOptions);
-	$MD_Format->appendChild($gmd_name);
-	$MD_Format->appendChild($gmd_version);
-	$gmd_distributionFormat->appendChild($MD_Format);
-	$MD_Distribution->appendChild($gmd_distributionFormat);
-	$MD_Distribution->appendChild($gmd_transferOptions);
-	$gmd_distributionInfo->appendChild($MD_Distribution);
-
-	//dataQualityInfo
-	$gmd_dataQualityInfo=$iso19139->createElement("gmd:dataQualityInfo");
-	$DQ_DataQuality=$iso19139->createElement("gmd:DQ_DataQuality");
-	$gmd_scope=$iso19139->createElement("gmd:scope");
-	$DQ_Scope=$iso19139->createElement("gmd:DQ_Scope");
-	$gmd_level=$iso19139->createElement("gmd:level");
-	$MD_ScopeCode=$iso19139->createElement("gmd:MD_ScopeCode");
-	$MD_ScopeCodeText=$iso19139->createTextNode("service");
-	$MD_ScopeCode->setAttribute("codeList", "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#MD_ScopeCode");
-	$MD_ScopeCode->setAttribute("codeListValue", "service");
-	$MD_ScopeCode->appendChild($MD_ScopeCodeText);
-	$gmd_level->appendChild($MD_ScopeCode);
-	$DQ_Scope->appendChild($gmd_level);
-	$gmd_scope->appendChild($DQ_Scope);
-	$DQ_DataQuality->appendChild($gmd_scope);
-
-	//gmd:report in dataQualityInfo
-	$gmd_report=$iso19139->createElement("gmd:report");
-	$DQ_DomainConsistency=$iso19139->createElement("gmd:DQ_DomainConsistency");
-	$DQ_DomainConsistency->setAttribute("xsi:type","gmd:DQ_DomainConsistency_Type");
-	$gmd_result=$iso19139->createElement("gmd:result");
-	$DQ_ConformanceResult=$iso19139->createElement("gmd:DQ_ConformanceResult");
-	$gmd_specification=$iso19139->createElement("gmd:specification");
-	$CI_Citation=$iso19139->createElement("gmd:CI_Citation");
-	$gmd_title=$iso19139->createElement("gmd:title");
-	$gmd_title_cs=$iso19139->createElement("gco:CharacterString");
-	$gmd_titleText=$iso19139->createTextNode("Service Abstract Suite"); //TODO put in the inspire test suites from mb database!
-	$gmd_date=$iso19139->createElement("gmd:date");
-	$CI_Date=$iso19139->createElement("gmd:CI_Date");
-	$gmd_date_2=$iso19139->createElement("gmd:date");
-	$gco_Date=$iso19139->createElement("gco:Date");
-	$gco_DateText=$iso19139->createTextNode("2010-03-10"); //TODO put in the info from database
-	
-	$gmd_dateType=$iso19139->createElement("gmd:dateType");
-	$CI_DateTypeCode=$iso19139->createElement("gmd:CI_DateTypeCode");
-	$CI_DateTypeCode->setAttribute("codeList","http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode");
-	$CI_DateTypeCode->setAttribute("codeListValue","publication");
-	$CI_DateTypeCodeText=$iso19139->createTextNode("publication");
-	
-	$gmd_explanation=$iso19139->createElement("gmd:explanation");
-	$gmd_explanation_cs=$iso19139->createElement("gco:CharacterString");
-	$gmd_explanationText=$iso19139->createTextNode("No explanation available");
-		
-	$gmd_pass=$iso19139->createElement("gmd:pass");
-	$gco_Boolean=$iso19139->createElement("gco:Boolean");
-	$gco_BooleanText=$iso19139->createTextNode("true"); //TODO maybe set here a string cause it can be unevaluated!! See Implementing Rules
-	//generate XML objects
-	$gco_Date->appendChild($gco_DateText);
-	$gmd_date->appendChild($gco_Date);
-	
-	$CI_DateTypeCode->appendChild($CI_DateTypeCodeText);
-	$gmd_dateType->appendChild($CI_DateTypeCode);
-	$CI_Date->appendChild($gmd_date);
-	$CI_Date->appendChild($gmd_dateType);
-	$gmd_date_2->appendChild($CI_Date);
-	$gmd_title_cs->appendChild($gmd_titleText);
-	$gmd_title->appendChild($gmd_title_cs);
-	$CI_Citation->appendChild($gmd_title);
-	$CI_Citation->appendChild($gmd_date_2);
-	$gmd_specification->appendChild($CI_Citation);
-	$gmd_explanation_cs->appendChild($gmd_explanationText);
-	$gmd_explanation->appendChild($gmd_explanation_cs);
-	$gco_Boolean->appendChild($gco_BooleanText);
-	$gmd_pass->appendChild($gco_Boolean);
-	$DQ_ConformanceResult->appendChild($gmd_specification);
-	$DQ_ConformanceResult->appendChild($gmd_explanation);
-	$DQ_ConformanceResult->appendChild($gmd_pass);
-	$gmd_result->appendChild($DQ_ConformanceResult);
-	$DQ_DomainConsistency->appendChild($gmd_result);
-	$gmd_report->appendChild($DQ_DomainConsistency);
-	$DQ_DataQuality->appendChild($gmd_report);
-	$gmd_dataQualityInfo->appendChild($DQ_DataQuality);
-	//$MD_ScopeCode->setAttribute("codeListValue", "service");
-	$MD_Metadata->appendChild($identificationInfo);
-	$MD_Metadata->appendChild($gmd_distributionInfo);
-	$MD_Metadata->appendChild($gmd_dataQualityInfo);
-	return $iso19139->saveXML();
-}
-	//function to give away the xml data
-	function pushISO19139($iso19139Doc, $recordId) {
-		//echo $recordId;
-		header("Content-type: application/xhtml+xml; charset=UTF-8");
-		$xml = fillISO19139($iso19139Doc, $recordId);
-		echo $xml;
-		die();
-	}
-
-	//function to validate against the inspire validation service
-	function validateInspireMetadata($iso19139Doc, $recordId){
-		$validatorUrl = 'http://www.inspire-geoportal.eu/INSPIREValidatorService/resources/validation/inspire';
-		//$validatorUrl2 = 'http://localhost/mapbender/x_geoportal/log_requests.php';
-		//send inspire xml to validator and push the result to requesting user
-		$validatorInterfaceObject = new connector();
-		$validatorInterfaceObject->set('httpType','POST');
-		//$validatorInterfaceObject->set('httpContentType','application/xml');
-		$validatorInterfaceObject->set('httpContentType','multipart/form-data'); // maybe given automatically
-		$xml = fillISO19139($iso19139Doc, $recordId);
-		//first test with data from ram - doesn't function 
-		$fields = array(
-			'dataFile'=>urlencode($xml)
-			);
-		//generate file identifier:
-		$fileId = guid();
-		//generate temporary file under tmp
-		 if($h = fopen(TMPDIR."/".$fileId."iso19139_validate_tmp.xml","w")){
-			if(!fwrite($h,$xml)){
-				$e = new mb_exception("mod_layerISOMetadata: cannot write to file: ".TMPDIR."iso19139_validate_tmp.xml");
-			}
-		fclose($h);
-		}
-		//send file as post like described under http://www.tecbrat.com/?itemid=13&catid=1
-		$fields['dataFile']='@'.TMPDIR.'/'.$fileId.'iso19139_validate_tmp.xml';
-		//if we give a string with parameters
-		//foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; } 
-		//rtrim($fields_string,'&');
-		//$postData = $fields_string;
-		$postData = $fields;
-		//$e = new mb_exception("mod_layerISOMetadata: postData: ".$postData['dataFile']);
-		//number of post fields:
-		//curl_setopt($ch,CURLOPT_POST,count($fields));
-		$validatorInterfaceObject->set('httpPostFieldsNumber',count($postData));
-		$validatorInterfaceObject->set('curlSendCustomHeaders',false);
-		//$validatorInterfaceObject->set('httpPostData', $postData);
-		$validatorInterfaceObject->set('httpPostData', $postData); //give an array
-		$validatorInterfaceObject->load($validatorUrl);
-		header("Content-type: text/html; charset=UTF-8");
-		echo $validatorInterfaceObject->file;
-		//delete file in tmp 
-		//TODO - this normally done by a cronjob
-		die();
-	}
-
-function getEpsgByLayerId ($layer_id) { // from merge_layer.php
-	$epsg_list = "";
-	$sql = "SELECT DISTINCT epsg FROM layer_epsg WHERE fkey_layer_id = $1";
-	$v = array($layer_id);
-	$t = array('i');
-	$res = db_prep_query($sql, $v, $t);
-	while($row = db_fetch_array($res)){
-		$epsg_list .= $row['epsg'] . " ";
-	}
-	return trim($epsg_list);
-}
-function getEpsgArrayByLayerId ($layer_id) { // from merge_layer.php
-	//$epsg_list = "";
-	$epsg_array=array();
-	$sql = "SELECT DISTINCT epsg FROM layer_epsg WHERE fkey_layer_id = $1";
-	$v = array($layer_id);
-	$t = array('i');
-	$res = db_prep_query($sql, $v, $t);
-	$cnt=0;
-	while($row = db_fetch_array($res)){
-		$epsg_array[$cnt] = $row['epsg'];
-		$cnt++;
-	}
-	return $epsg_array;
-}
-
-function guid(){
-    if (function_exists('com_create_guid')){
-        return com_create_guid();
-    }else{
-        mt_srand((double)microtime()*10000);//optional for php 4.2.0 and up.
-        $charid = strtoupper(md5(uniqid(rand(), true)));
-        $hyphen = chr(45);// "-"
-        $uuid = chr(123)// "{"
-                .substr($charid, 0, 8).$hyphen
-                .substr($charid, 8, 4).$hyphen
-                .substr($charid,12, 4).$hyphen
-                .substr($charid,16, 4).$hyphen
-                .substr($charid,20,12)
-                .chr(125);// "}"
-        return $uuid;
-    }
-}
-
-
-//do all the other things which had to be done ;-)
-if ($_REQUEST['VALIDATE'] == "true"){
-	validateInspireMetadata($iso19139Doc, $recordId);
-} else {
-	pushISO19139($iso19139Doc, $recordId); //throw it out to world!
-}
-?>
-

Deleted: trunk/mapbender/http/php/mod_edit_element_vars.php_deprecated
===================================================================
--- trunk/mapbender/http/php/mod_edit_element_vars.php_deprecated	2016-05-27 07:11:28 UTC (rev 9487)
+++ trunk/mapbender/http/php/mod_edit_element_vars.php_deprecated	2016-05-27 07:16:01 UTC (rev 9488)
@@ -1,360 +0,0 @@
-<?php
-# $Id: mod_edit_element_vars.php 7097 2010-11-08 07:48:25Z apour $
-# http://www.mapbender.org/index.php/mod_edit_element_vars.php
-# Copyright (C) 2002 CCGIS
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-
-/*  
- * @security_patch irv open 
- */ 
-// security_patch_log(__FILE__,__LINE__); 
-import_request_variables("PG"); 
-include(dirname(__FILE__)."/../php/mb_validateSession.php");
-?>
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-
-<html>
-<head>
-<meta name="author-mail" content="info at ccgis.de">
-<meta name="author" content="U. Rothstein">
-<meta http-equiv="cache-control" content="no-cache">
-<meta http-equiv="pragma" content="no-cache">
-<meta http-equiv="expires" content="0">
-<?php
-echo '<meta http-equiv="Content-Type" content="text/html; charset='.CHARSET.'">';	
-?>
-<title>Edit Element Vars</title>
-<?php
-include '../include/dyn_css.php';
-?>
-<style type="text/css">
-   <!--
-   body{
-      background-color: #ffffff;
-  		font-family: Arial, Helvetica, sans-serif;
-  		font-size : 12px;
-  		color: #808080
-  	}
-   .guiList1{
-   	position:absolute;
-   	top:30px;
-   	left:10px;
-   	width:200px
-   }
-   .buttonbar{
-   	position:absolute;
-   	top:40px;
-   	left:10px;
-   }
-   .guiList1_text{
-   	position:absolute;
-   	top:10px;
-   	left:10px;
-      font-size:16px;
-      color: #0066cc;
-   }
-   .guiList2{
-   	position:absolute;
-   	top:40px;
-   	left:400px;
-   	width:200px
-   }
-   .all{
-   	position:absolute;
-   	top:38px;
-   	left:610px;
-   }
-   .guiList2_header{
-   	position:absolute;
-   	top:10px;
-   	left:400px;
-      font-size:16px;
-      color: #0066cc;
-   }
-   .myElements{
-   	position:absolute;
-   	top:70px;
-   	left:400px;
-   }
-   .myTable{
-   	border: 1px solid;
-      font-size: 11px;
-   }
-   .myForm{
-   	position:absolute;
-   	top:70px;
-   	left:10px;
-   }
-   .textfield{
-      width:277px
-   }
-   .on{
-      color: #0066cc;
-   }
-   -->
-</style>
-<?php
-# handle database updates etc.....
-if(isset($mySave) && $mySave == '1'){
-	if ($SYS_DBTYPE=='pgsql') { 
-		$sql[0] = "SET AUTOCOMMIT=1;";
-	}
-	else {
-		$sql[0] = "SET AUTOCOMMIT=0;shit happens";
-	}
-	$v[0] = array();
-	$t[0] = array();
-	$sql[1] = "BEGIN;";
-	$v[1] = array();
-	$t[1] = array();
-	$sql[2] = "DELETE FROM gui_element_vars WHERE fkey_e_id = $1 AND fkey_gui_id = $2";
-	$v[2] = array($e_id, $guiList1);
-	$t[2] = array("s", "s");
-
-
-   if($e_left < 1){$e_left = "NULL";}
-   if($e_top < 1){$e_top = "NULL";}
-   if($e_width < 1){$e_width = "NULL";}
-   if($e_height < 1){$e_height = "NULL";}
-   if($e_z_index < 1){$e_z_index = "NULL";}
-	$sql[3] = "INSERT INTO gui_element_vars ";
-	$sql[3] .= "(fkey_gui_id, e_id, e_pos, e_public, e_comment, e_element, e_src, ";
-	$sql[3] .= "e_attributes, e_left, e_top, e_width, e_height, e_z_index, ";
-	$sql[3] .= "e_more_styles, e_content, e_closetag, e_js_file, e_mb_mod, e_target, ";
-	$sql[3] .= "e_requires) ";
-	$sql[3] .= "VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20)";
-	$v[3] = array($guiList1, $e_id, $e_pos, $e_public, db_escape_string($e_comment), $e_element, $e_src, db_escape_string($e_attributes), $e_left, $e_top, $e_width, $e_height, $e_z_index, $e_more_styles, $e_content, $e_closetag, $e_js_file, $e_mb_mod, $e_target, $e_requires);
-	$t[3] = array("s", "s", "i", "s", "s", "s", "s", "s", "i", "i", "i", "i", "i", "s", "s", "s", "s", "s", "s", "s");
-   #echo $sql[3];
-   for ($i = 0; $i < count($sql); $i++) {
-      $res = db_prep_query($sql[$i], $v[$i], $t[$i]);
-   }
-   if($res){
-      $res = db_query( "COMMIT");
-      $res = db_query( "SET AUTOCOMMIT=1");
-   }
-   else{
-      $res = db_query( "ROLLBACK");
-      $res = db_query( "SET AUTOCOMMIT=1");
-   }
-}
-if(isset($myDelete) && $myDelete == '1'){
-   $sql = "DELETE FROM gui_element_vars WHERE fkey_e_id = $1 AND fkey_gui_id = $2 AND var_name= $3";
-   $v = array($e_id, $guiList1, $var_name);
-   $t = array("s", "s", "s");
-   $res = db_prep_query($sql, $v, $t);
-   $e_id = ""; $e_pos = ""; $e_public = ""; $e_comment = ""; $e_element = "";
-   $e_src = ""; $e_attributes = ""; $e_left = ""; $e_top = ""; $e_width = ""; $e_height = ""; $e_z_index = "";
-   $e_more_styles = ""; $e_content = ""; $e_closetag = ""; $e_js_file = ""; $e_mb_mod = ""; $e_target = ""; $e_requires = "";
-}
-if(isset($myShow) && $myShow == '1'){
-	 Mapbender::session()->set("mb_user_myGui",$guiList1);
-   echo "<script language='javascript'>";
-   echo "window.open('../frames/login.php?".strip_tags (SID)."&mb_user_myGui=".$guiList1."','','');";
-   echo "</script>";
-}
-if(isset($all) && $all == '1'){
-   $sql = "SELECT * FROM gui_element_vars WHERE fkey_gui_id = $1 AND fkey_e_id = $2 and var_name= $3;";
-   $v = array($guiList2, $e_id, $var_name);
-   $t = array("s", "s", "s");
-   $res = db_prep_query($sql, $v, $t);
-   $cnt = 0;
-   while(db_fetch_row($res)){
-      $sql_del = "DELETE FROM gui_element_vars WHERE fkey_gui_id = $1 AND fkey_e_id = $2 and var_name= $3";
-      $v = array($guiList1, db_result($res,$cnt,"fkey_e_id"), $var_name);
-      $t = array("s", "s", "s");
-      $res_del = db_prep_query($sql_del, $v, $t);
-      if(db_result($res,$cnt,"e_left") == ""){$myleft = 'NULL';} else{$myleft = db_result($res,$cnt,"e_left");}
-      if(db_result($res,$cnt,"e_top") == ""){$mytop = 'NULL';} else{$mytop = db_result($res,$cnt,"e_top");}
-      if(db_result($res,$cnt,"e_width") == ""){$mywidth = 'NULL';} else{$mywidth = db_result($res,$cnt,"e_width");}
-      if(db_result($res,$cnt,"e_height") == ""){$myheight = 'NULL';} else{$myheight = db_result($res,$cnt,"e_height");}
-      if(db_result($res,$cnt,"e_z_index") == ""){$my_z_index = 'NULL';} else{$my_z_index = db_result($res,$cnt,"e_z_index");}
-
-      $sql_ins = "INSERT INTO gui_element_vars ";
-      $sql_ins .= "(fkey_gui_id, e_id, e_pos,e_public, e_comment, e_element, ";
-      $sql_ins .= "e_src, e_attributes, e_left, e_top, e_width, e_height, ";
-      $sql_ins .= "e_z_index, e_more_styles, e_content, e_closetag, e_js_file, ";
-      $sql_ins .= "e_mb_mod, e_target, e_requires) ";
-      $sql_ins .= "VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, ";
-      $sql_ins .= "$10, $11, $12, $13, $14, $15, $16, $17, $18, ";
-      $sql_ins .= "$19, $20)";
-      $v = array($guiList1, db_result($res,$cnt,"e_id"), db_result($res,$cnt,"e_pos"), db_result($res,$cnt,"e_public"), db_escape_string(db_result($res,$cnt,"e_comment")), db_result($res,$cnt,"e_element"), db_result($res,$cnt,"e_src"), db_escape_string(db_result($res,$cnt,"e_attributes")), $myleft, $mytop, $mywidth, $myheight, $my_z_index, db_result($res,$cnt,"e_more_styles"), db_escape_string(db_result($res,$cnt,"e_content")), db_result($res,$cnt,"e_closetag"), db_result($res,$cnt,"e_js_file"), db_result($res,$cnt,"e_mb_mod"), db_result($res,$cnt,"e_target"), db_result($res,$cnt,"e_requires"));
-      $t = array("s", "s", "s", "s", "s", "s", "s", "s", "i", "i", "i", "i", "i", "s", "s", "s", "s", "s", "s", "s");
-
-      $res_ins = db_prep_query($sql_ins, $v, $t);
-      if (!$res_ins) {
-      	echo db_error($connect); 
-      }
-      $cnt++;
-   }
-}
-# end
-echo "<script language='javascript'>";
-echo "var varIDs = new Array();";
-if(isset($guiList1)){
-   $sql = "SELECT var_name FROM gui_element_vars WHERE fkey_gui_id = $1 AND fkey_e_id = $2";
-   $v = array($guiList1, $e_id);
-   $t = array("s", "s");
-   $res = db_prep_query($sql, $v, $t);
-   $cnt = 0;
-   while(db_fetch_row($res)){
-      echo  "varIDs[".$cnt."] = '".db_result($res,$cnt,"var_name")."'; ";
-      $cnt++;
-   }
-}
-echo "</script>";
-?>
-<script type="text/javascript">
-<!--
-function setGui(val){
-   document.form1.guiList1.value = val;
-   document.form1.submit();
-}
-function clearRadio(){
-   for(var i=0; i< document.form1.elements.length; i++){
-      if(document.form1.elements[i].type == "radio"){
-         document.form1.elements[i].checked = false;
-      }
-   }
-}
-function thisSave(){
-   if(document.form1.e_id.value == ""){
-      alert("ID ? ");
-      document.form1.e_id.focus();
-      return;
-   }
-   var permission = false;
-   var isElement = false;
-   for(var i=0; i<varIDs.length; i++){
-      clearRadio();
-      if(document.form1.var_name.value == varIDs[i]){
-         permission = confirm("update: " + document.form1.var_name.value + " ?");
-         isElement = true;
-         break;
-      }
-   }
-   if(permission == true || isElement == false){
-      document.form1.mySave.value = 1;
-      document.form1.submit();
-   }
-}
-function thisDelete(){
-   clearRadio();
-   var permission =  confirm("delete: " + document.form1.e_id.value + " ?");
-   if(permission == true){
-      document.form1.myDelete.value = 1;
-      document.form1.submit();
-   }
-}
-function thisShow(){
-   document.form1.myShow.value = 1;
-   document.form1.submit();
-}
-function addAll(){
-   var permission =  confirm("add all elements ?");
-   if(permission == true){
-      clearRadio();
-      document.form1.all.value = 1;
-      document.form1.submit();
-   }
-}
-function thisExport(){
-
-   window.open("mod_exportElement.php?element=" + document.forms[0].e_id.value+ "&gui=" +document.forms[0].guiList1.value ,"","");
-}
-// -->
-</script>
-</head>
-<body>
-
-<?php
-echo "<form name='form1' action='" . $self ."' method='get'>";
-
-#Gui to edit
-if(!isset($guiList1)){
-  echo "<div class= 'guiList1_text'>GUI:</div>";
-  echo "<select class='guiList1' size='20' name='guiList1' onchange='setGui(this.value)'>";
-  for ($i=0; $i<$count;$i++){
-     echo "<option value='".$gui_id[$i]."' ";
-     if($guiList1 && $guiList1 == $gui_id[$i]){
-        echo "selected";
-     }
-     echo ">".$gui_name[$i]."</option>";
-  }
-  echo "</select>";
- // echo "<input type='hidden'  name='guiList2' value='' >";
-}
-else{
-   echo "<div class= 'guiList1_text'>Edit Elements: ".$guiList1."</div>";
-   echo "<div class='buttonbar'>";
-   echo "<input type='button' class='' name='' value='save' onclick='thisSave()'> ";
-   echo "<input type='button' class='' name='' value='delete' onclick='thisDelete()'> ";
-   echo "<input type='button' class='' name='' value='show' onclick='thisShow()'> ";
-   echo "<input type='button' class='' name='' value='sql' onclick='thisExport()'> ";
-   echo "</div>";
-   echo "<input type='hidden'  name='guiList1' value='".$guiList1."' >";
-   echo "<input type='hidden'  name='e_id' value='".$e_id."' >";
-}
-#Elements
-if(isset($guiList1)){
-   echo "<div class='guiList2_header'>Templates</div>";
-
-   $sql = "SELECT * FROM gui_element_vars WHERE fkey_gui_id = $1 AND fkey_e_id = $2";
-   $v = array($guiList1, $e_id);
-   $t = array("s", "s");
-   $res = db_prep_query($sql, $v, $t);
-   $cnt = 0;
-   echo "<div class='myElements'><table>";
-   while($row = db_fetch_array($res)){
-      echo "<tr>";
-      echo "<td class='myTable'><input type='radio' name='var_name' value='".$row["var_name"]."' onclick='submit()' ";
-      if($row["var_name"] == $var_name){echo "checked";}
-      echo "></td><td class='myTable'>";
-      //if(db_result($res,$cnt,"e_public") == 1){echo "<div class='on'>on</div>";}
-      echo "</td><td class='myTable'>". $row["var_name"]. "</td><td class='myTable'>" .$row["context"]."</td>";
-      echo "</tr>";
-      $cnt++;
-   }
-   echo "</table></div>";
-}
-#Formular:
-echo "<table class='myForm'>";
-if(isset($guiList1) && isset($var_name)){
-   $sql = "SELECT * FROM gui_element_vars WHERE fkey_gui_id = $1 AND fkey_e_id = '".$e_id."' AND var_name = $2";
-   $v = array($guiList1, $var_name);
-   $t = array("s", "s");
-   //echo $sql;
-   $res = db_prep_query($sql, $v, $t);
-   if($row = db_fetch_array($res)){
-      echo "<tr><td>ID: </td><td><input type='text' class='textfield' readonly name='e_id' value='".$e_id."'></td></tr>";
-      echo "<tr><td>Var Type: </td><td><input type='text' class='textfield' name='type' value='".$row["type"]."'></td></tr>";
-      echo "<tr><td>Var Name: </td><td><input type='text' class='textfield' name='var_name_edit' value='".$row["var_name"]."'></td></tr>";
-      echo "<tr><td>Content: </td><td><textarea cols='32' rows='4'  name='e_content' >".stripslashes($row["var_value"])."</textarea></td></tr>";
-
-   }
-   echo "</table>";
-}
-
-?>
-<input type='hidden' name='myDelete'>
-<input type='hidden' name='mySave'>
-<input type='hidden' name='myShow'>
-<input type='hidden' name='all'>
-
-</form>
-</body>
-</html>
\ No newline at end of file

Deleted: trunk/mapbender/http/php/mod_edit_metadata.php_deprecated
===================================================================
--- trunk/mapbender/http/php/mod_edit_metadata.php_deprecated	2016-05-27 07:11:28 UTC (rev 9487)
+++ trunk/mapbender/http/php/mod_edit_metadata.php_deprecated	2016-05-27 07:16:01 UTC (rev 9488)
@@ -1,562 +0,0 @@
-<?php
-# $Id: mod_edit_metadata.php 7097 2010-11-08 07:48:25Z apour $
-# http://www.mapbender.org/index.php/mod_edit_metadata.php
-# Copyright (C) 2002 CCGIS
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-
-/*  
- * @security_patch irv open 
- */ 
-// security_patch_log(__FILE__,__LINE__); 
-import_request_variables("PG"); 
-include(dirname(__FILE__)."/../php/mb_validateSession.php");
-?>
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-
-<html>
-<head>
-<meta http-equiv="cache-control" content="no-cache">
-<meta http-equiv="pragma" content="no-cache">
-<meta http-equiv="expires" content="0">
-<?php
-echo '<meta http-equiv="Content-Type" content="text/html; charset='.CHARSET.'">';	
-?>
-<title>Edit Metadata</title>
-<?php
-include '../include/dyn_css.php';
-?>
-<style type="text/css">
-   <!--
-   body{
-      background-color: #ffffff;
-  		font-family: Arial, Helvetica, sans-serif;
-  		font-size : 12px;
-  		color: #808080
-  	}
-   .guiList1{
-   	position:absolute;
-   	top:30px;
-   	left:10px;
-   	width:200px
-   }
-   .buttonbar{
-   	position:absolute;
-   	top:40px;
-   	left:10px;
-   }
-   .guiList1_text{
-   	position:absolute;
-   	top:10px;
-   	left:10px;
-      font-size:16px;
-      color: #0066cc;
-   }
-   .guiList2{
-   	position:absolute;
-   	top:40px;
-   	left:400px;
-   	width:200px
-   }
-   .all{
-   	position:absolute;
-   	top:38px;
-   	left:610px;
-   }
-   .guiList2_header{
-   	position:absolute;
-   	top:10px;
-   	left:400px;
-      font-size:16px;
-      color: #0066cc;
-   }
-   .myElements{
-   	position:absolute;
-   	top:70px;
-   	left:400px;
-   }
-   .myTable{
-   	border: 1px solid;
-      font-size: 11px;
-   }
-   .myForm{
-   	position:absolute;
-   	top:70px;
-   	left:10px;
-   }
-   .textfield{
-      width:277px
-   }
-   .textfield_small{
-      width:150px
-   }
-   .on{
-      color: #0066cc;
-   }
-   -->
-</style>
-<?php
-# handle database updates etc.....
-if(isset($mySave) && ($mySave == '1' || $mySave == '2')) {
-   if ($mySave == '1'){
-   	$sql_vars = "SELECT * FROM gui_element_vars WHERE fkey_e_id = $1 AND fkey_gui_id = $2";
-   	$v = array($e_id, $guiList1);
-   	$t = array("s", "s");
-   	$res_vars = db_prep_query($sql_vars, $v, $t);
-   	 //$rows = db_fetch_array($res_vars);
-	$sql = array();
-	$v = array();
-	$t = array();
-	if ($SYS_DBTYPE == "pgsql") {
-		$sql[0] = "SET AUTOCOMMIT=1";
-		$v[0] = array();
-		$t[0] = array();
-	}
-	else {
-		$sql[0] = "SET AUTOCOMMIT=0";
-		$v[0] = array();
-		$t[0] = array();
-	}
-	$sql[1] = "BEGIN";
-	$v[1] = array();
-	$t[1] = array();
-	
-	$sql[2] = "DELETE FROM gui_element WHERE e_id = $1 AND fkey_gui_id = $2";
-	$v[2] = array($e_id, $guiList1);
-	$t[2] = array("s", "s");
-
-	if($e_left < 1){$e_left = "NULL";}
-	if($e_top < 1){$e_top = "NULL";}
-	if($e_width < 1){$e_width = "NULL";}
-	if($e_height < 1){$e_height = "NULL";}
-	if($e_z_index < 1){$e_z_index = "NULL";}
-
-	$sql[3] = "INSERT INTO gui_element (fkey_gui_id, e_id, e_pos, e_public, ";
-	$sql[3] .= "e_comment, e_element, e_src, e_attributes, e_left, e_top, ";
-	$sql[3] .= "e_width, e_height, e_z_index, e_more_styles, e_content, ";
-	$sql[3] .= "e_closetag, e_js_file, e_mb_mod, e_target, e_requires) ";
-	$sql[3] .= "VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, ";
-	$sql[3] .= "$13, $14, $15, $16, $17, $18, $19, $20)";
-	$v[3] = array($guiList1, $e_id, $e_pos, $e_public, db_escape_string($e_comment), $e_element, $e_src, db_escape_string($e_attributes), $e_left, $e_top, $e_width, $e_height, $e_z_index, $e_more_styles, db_escape_string($e_content), $e_closetag, $e_js_file, $e_mb_mod, $e_target, $e_requires);
-	$t[3] = array("s", "s", "s", "s", "s", "s", "s", "s", "i", "i", "i", "i", "i", "s", "s", "s", "s", "s", "s", "s");
-   }
-   # mySave == 2 <=> just save GUI description
-   elseif ($mySave == '2') {
-		$sql = array();
-		$v = array();
-		$t = array();
-		if ($SYS_DBTYPE == "pgsql") {
-			$sql[0] = "SET AUTOCOMMIT=1";
-			$v[0] = array();
-			$t[0] = array();
-		}
-		else {
-			$sql[0] = "SET AUTOCOMMIT=0";
-			$v[0] = array();
-			$t[0] = array();
-		}
-		$sql[1] = "BEGIN";
-		$v[1] = array();
-		$t[1] = array();
-
-		$sql[2] = "UPDATE gui SET gui_description = $1 WHERE gui_id = $2";
-		$v[2] = array($guiDesc, $guiId);
-		$t[2] = array("s", "s");
-	}
-	for ($i = 0; $i < count($sql); $i++) {
-      $res = db_prep_query($sql[$i], $v[$i], $t[$i]);
-      if(!$res){break;}
-   }
-   if($res){
-		$res = db_query( "COMMIT");
-      $res = db_query( "SET AUTOCOMMIT=1");
-   }
-   else{
-      $res = db_query( "ROLLBACK");
-      $res = db_query( "SET AUTOCOMMIT=1");
-   }
-   if(isset($sql_vars)){//sicherstellen das keine Element_Vars gel�scht wurden
-   	 while($row =  db_fetch_array($res_vars)){
-			$securesql = "INSERT INTO gui_element_vars (fkey_gui_id, ";
-			$securesql .= "fkey_e_id, var_name, var_value, context,type) ";
-			$securesql .= "VALUES ($1, $2, $3, $4, $5, $6)";
-			$v = array($guiList1, $e_id, $row["var_name"], $row["var_value"], $row["context"], $row["type"]);
-			$t = array("s", "s", "s", "s", "s", "s");
-			//echo $securesql."<BR>";
-			$secureinsert = db_prep_query($securesql, $v, $t);
-		}
-	}
-      if(!$res){break;}
-
-}
-if(isset($myDelete) && $myDelete == '1'){
-   $sql = "DELETE FROM gui_element WHERE e_id = $1 AND fkey_gui_id = $2";
-   $v = array($e_id, $guiList1);
-   $t = array("s", "s");
-   $res = db_prep_query($sql, $v, $t);
-   $e_id = ""; $e_pos = ""; $e_public = ""; $e_comment = ""; $e_element = "";
-   $e_src = ""; $e_attributes = ""; $e_left = ""; $e_top = ""; $e_width = ""; $e_height = ""; $e_z_index = "";
-   $e_more_styles = ""; $e_content = ""; $e_closetag = ""; $e_js_file = ""; $e_mb_mod = ""; $e_target = ""; $e_requires = "";
-}
-if(isset($myShow) && $myShow == '1'){
-   Mapbender::session()->get("mb_user_myGui") = $guiList1;
-   echo "<script language='javascript'>";
-   echo "window.open('../frames/login.php?".strip_tags (SID)."&mb_user_myGui=".$guiList1."','','');";
-   echo "</script>";
-}
-if(isset($all) && $all == '1'){
-   $sql = "SELECT * FROM gui_element WHERE fkey_gui_id = $1";
-   $v = array($guiList2);
-   $t = array("s");
-   $res = db_prep_query($sql, $v, $t);
-   $cnt = 0;
-   while(db_fetch_row($res)){
-      $sql_del = "DELETE FROM gui_element WHERE fkey_gui_id = $1 AND e_id = $2";
-      $v = array($guiList1, db_result($res,$cnt,"e_id"));
-      $t = array("s", "s");
-      $res_del = db_prep_query($sql_del, $v, $t);
-      if(db_result($res,$cnt,"e_left") == ""){$myleft = 'NULL';} else{$myleft = db_result($res,$cnt,"e_left");}
-      if(db_result($res,$cnt,"e_top") == ""){$mytop = 'NULL';} else{$mytop = db_result($res,$cnt,"e_top");}
-      if(db_result($res,$cnt,"e_width") == ""){$mywidth = 'NULL';} else{$mywidth = db_result($res,$cnt,"e_width");}
-      if(db_result($res,$cnt,"e_height") == ""){$myheight = 'NULL';} else{$myheight = db_result($res,$cnt,"e_height");}
-      if(db_result($res,$cnt,"e_z_index") == ""){$my_z_index = 'NULL';} else{$my_z_index = db_result($res,$cnt,"e_z_index");}
-
-      $sql_ins = "INSERT INTO gui_element (fkey_gui_id, e_id, e_pos, e_public, ";
-      $sql_ins .= "e_comment, e_element, e_src, e_attributes, e_left, e_top, ";
-      $sql_ins .= "e_width, e_height, e_z_index, e_more_styles, e_content, ";
-      $sql_ins .= "e_closetag, e_js_file, e_mb_mod, e_target, e_requires) ";
-      $sql_ins .= "VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, ";
-      $sql_ins .= "$10, $11, $12, $13, $14, $15, $16, $17, $18, $19);";
-      $v = array($guiList1, db_result($res,$cnt,"e_id"), db_result($res,$cnt,"e_pos"), db_result($res,$cnt,"e_public"), db_escape_string(db_result($res,$cnt,"e_comment")), db_result($res,$cnt,"e_element"), db_result($res,$cnt,"e_src"), db_escape_string(db_result($res,$cnt,"e_attributes")), $myleft, $mytop, $mywidth, $myheight, $my_z_index, db_result($res,$cnt,"e_more_styles"), db_escape_string(db_result($res,$cnt,"e_content")), db_result($res,$cnt,"e_closetag"), db_result($res,$cnt,"e_js_file"), db_result($res,$cnt,"e_mb_mod"), db_result($res,$cnt,"e_target"), db_result($res,$cnt,"e_requires"));
-      $t = array("s", "s", "s", "s", "s", "s", "s", "s", "i", "i", "i", "i", "i", "s", "s", "s", "s", "s", "s", "s");
-		
-      $res_ins = db_prep_query($sql_ins, $v, $t);
-      if(!$res_ins){echo db_error($con); }
-      $cnt++;
-   }
-   $sql = "SELECT * FROM gui_element_vars WHERE fkey_gui_id = $1";
-   $v = array($guiList2);
-   $t = array("s");
-      $res = db_prep_query($sql, $v, $t);
-   	$cnt = 0;
-       while(db_fetch_row($res)){
-      $sql_ins2 = "INSERT INTO gui_element_vars (fkey_gui_id, fkey_e_id, ";
-      $sql_ins2 .= "var_name, var_value, context, type) VALUES (";
-      $sql_ins2 .= "$1, $2, $3, $4, $5, $6);";
-      $v = array($guiList1, db_result($res,$cnt,"fkey_e_id"), db_result($res,$cnt,"var_name"), db_escape_string(db_result($res,$cnt,"var_value")), db_escape_string(db_result($res,$cnt,"context")), db_result($res,$cnt,"type"));
-      $t = array("s", "s", "s", "s", "s", "s");
-      $res_ins2 = db_prep_query($sql_ins2, $v, $t);
-      if(!$res_ins2){echo db_error($connect); }
-
-      $cnt++;
-      }
-
-
-}
-# end
-echo "<script language='javascript'>";
-echo "var guiIDs = new Array();";
-if(isset($guiList1)){
-   $sql = "SELECT e_id FROM gui_element WHERE  fkey_gui_id = $1";
-   $v = array($guiList1);
-   $t = array("s");
-   $res = db_prep_query($sql, $v, $t);
-   $cnt = 0;
-   while(db_fetch_row($res)){
-      echo  "guiIDs[".$cnt."] = '".db_result($res,$cnt,"e_id")."'; ";
-      $cnt++;
-   }
-}
-echo "</script>";
-?>
-<script type="text/javascript">
-<!--
-function setGui(val){
-   document.form1.guiList2.value = val;
-   document.form1.submit();
-}
-function clearRadio(){
-   for(var i=0; i< document.form1.elements.length; i++){
-      if(document.form1.elements[i].type == "radio"){
-         document.form1.elements[i].checked = false;
-      }
-   }
-}
-function thisSave(){
-   if(document.form1.e_id.value == ""){
-      alert("ID ? ");
-      document.form1.e_id.focus();
-      return;
-   }
-   var permission = false;
-   var isElement = false;
-   for(var i=0; i<guiIDs.length; i++){
-      clearRadio();
-      if(document.form1.e_id.value == guiIDs[i]){
-         permission = confirm("update: " + document.form1.e_id.value + " ?");
-         isElement = true;
-         break;
-      }
-   }
-   if(permission == true || isElement == false){
-      document.form1.mySave.value = 1;
-      document.form1.submit();
-   }
-}
-
-function thisDelete(){
-   clearRadio();
-   var permission =  confirm("delete: " + document.form1.e_id.value + " ?");
-   if(permission == true){
-      document.form1.myDelete.value = 1;
-      document.form1.submit();
-   }
-}
-function thisShow(){
-   document.form1.myShow.value = 1;
-   document.form1.submit();
-}
-function addAll(){
-   var permission =  confirm("add all elements ?");
-   if(permission == true){
-      clearRadio();
-      document.form1.all.value = 1;
-      document.form1.submit();
-   }
-}
-function thisExport(){
-
-   window.open("mod_exportElement.php?element=" + document.forms[0].e_id.value+ "&gui=" +document.forms[0].guiList1.value ,"","");
-}
-function editDesc(){
-	var newDesc = prompt("Enter new GUI description", document.form1.guiDesc.value);
-	if (newDesc != null) {
-		document.form1.guiDesc.value = newDesc;
-		document.form1.mySave.value = 2;
-		document.form1.submit();
-	}
-}
-
-// -->
-</script>
-</head>
-<body>
-
-<?php
-require_once(dirname(__FILE__)."/../classes/class_administration.php");
-$admin = new administration();
-$ownguis = $admin->getGuisByOwner(Mapbender::session()->get("mb_user_id"),true);
-$permguis = $admin->getGuisByPermission(Mapbender::session()->get("mb_user_id"),true);
-echo "<form name='form1' action='" . $self ."' method='post'>\n";
-
-$sql = "SELECT * from gui WHERE gui.gui_id IN (";
-$v = $ownguis;
-$t = array();
-
-for ($i = 1; $i <= count($ownguis); $i++) {
-	if ($i > 1) {
-		$sql .= ",";
-	}
-	$sql .= "$" . $i;
-	array_push($t, "s");
-}
-$sql .= ")";
-//echo $sql;
-$res = db_prep_query($sql, $v, $t);
-$count=0;
-while(db_fetch_row($res)){
-	$gui_id_own[$count]=db_result($res,$count,"gui_id");
-	$gui_name_own[$count]=db_result($res,$count,"gui_name");
-	$gui_description_own[$count]=db_result($res,$count,"gui_description");
-	$count++;
-}
-
-
-$sql = "SELECT * from gui WHERE gui.gui_id IN (";
-$v = $permguis;
-$t = array();
-
-for ($i = 1; $i <= count($permguis); $i++){
-	if ($i > 1) { 
-		$sql .= ",";
-	}
-	$sql .= "$" . $i;
-	array_push($t, "s");
-}
-$sql .= ")";
-$res = db_prep_query($sql, $v, $t);
-$count=0;
-while($row = db_fetch_array($res)){
-	$gui_id_perm[$count]= $row["gui_id"];
-	$gui_name_perm[$count]=$row["gui_name"];
-	$gui_description_perm[$count]=$row["gui_description"];
-	$count++;
-}
-
-#Gui to edit
-if(!isset($guiList1)){
-	echo "<div class= 'guiList1_text'>GUI:</div>\n";
-	echo "<select class='guiList1' size='20' name='guiList1' onchange='setGui(this.value)'>\n";
-	for ($i=0; $i<count($gui_id_own);$i++){
-		echo "<option value='".$gui_id_own[$i]."' ";
-		if($guiList1 && $guiList1 == $gui_id_own[$i]){
-			echo "selected";
-		}
-		echo ">".$gui_name_own[$i]."</option>\n";
-	}
-	echo "</select>\n";
-
-	for ($i=0; $i<count($gui_id_own);$i++){
-		echo "<input type='hidden'  name='guiDesc_" . $gui_name_own[$i] . "' value='" . $gui_description_own[$i] . "' >\n";
-	    echo "<input type='hidden'  name='guiId_" . $gui_name_own[$i] . "' value='" . $gui_id_own[$i] . "' >\n";
-	}
-	echo "<input type='hidden'  name='guiList2' value='' >\n";
-}
-else{
-   echo "<div class= 'guiList1_text'>";
-   echo 	"Edit Elements: ".$guiList1;
-
-   // set guiDesc and guiId if guiList1 has just been selected
-   if (!$guiDesc) {
-	  $Desc = "guiDesc_" . $guiList1;
-	  $guiDesc = $$Desc;
-   }
-   if (!$guiId) {
-	  $Id = "guiId_" . $guiList1;
-	  $guiId = $$Id;
-   }
-
-   echo 	"  (" . $guiDesc;
-   echo		" <input type='button' class='' name='' value='edit' onclick='editDesc()'> ) \n";
-   echo "</div>\n";
-   echo "<div class='buttonbar'>\n";
-   echo "<input type='button' class='' name='' value='save' onclick='thisSave()'> \n";
-   echo "<input type='button' class='' name='' value='delete' onclick='thisDelete()'> \n";
-   echo "<input type='button' class='' name='' value='show' onclick='thisShow()'> \n";
-   echo "<input type='button' class='' name='' value='sql' onclick='thisExport()'> \n";
-   echo "</div>\n";
-   echo "<input type='hidden'  name='guiList1' value='".$guiList1."' >\n";
-   echo "<input type='hidden'  name='guiId' value='".$guiId."' >\n";
-   echo "<input type='hidden'  name='guiDesc' value='".$guiDesc."' >\n";
-}
-#Depot
-if(isset($guiList1)){
-	echo "<select name='guiList2' class='guiList2' onchange='clearRadio();submit()'>\n";
-	echo "<option>GUI...</option>\n";
-	for ($i=0; $i<count($gui_id_perm);$i++){
-		echo "<option value='".$gui_id_perm[$i]."' ";
-		if($guiList2 && $guiList2 == $gui_id_perm[$i]){
-			echo "selected";
-		}
-		echo ">".$gui_name_perm[$i]."</option>\n";
-	}
-	echo "</select>\n";
-	if($guiList1 != $guiList2){echo "<input class='all' type='button' value='add all elements' onclick='addAll()'>\n";}
-}
-#Elements
-if(isset($guiList2)){
-	if($guiList1 == $guiList2){
-		echo "<div class='guiList2_header'>Edit Element: </div>\n";
-	}
-	else{
-		echo "<div class='guiList2_header'>Templates</div>\n";
-	}
-	$sql = "SELECT * FROM gui_element WHERE fkey_gui_id = $1 ORDER BY e_id";
-	$v = array($guiList2);
-	$t = array("s");
-	$res = db_prep_query($sql, $v, $t);
-	$cnt = 0;
-
-	echo "<div class='myElements'>\n<table>\n";
-
-	while(db_fetch_row($res)){
-		echo "<tr>\n";
-		echo "<td class='myTable'><input type='radio' name='myElement' value='".db_result($res,$cnt,"e_id")."' onclick='submit()' ";
-		if(db_result($res,$cnt,"e_id") == $myElement){echo "checked";}
-		echo "></td>\n";
-		echo "<td class='myTable'>";
-		if(db_result($res,$cnt,"e_public") == 1){echo "<div class='on'>on</div>";}
-		echo "</td>\n";
-		echo "<td class='myTable'>";
- 		echo "<a href=\"mod_EditElementVars.php?fkey_gui_id=".$guiList2."&fkey_e_id=".db_result($res,$cnt,"e_id")."\">";
- 		echo db_result($res,$cnt,"e_id");
-		echo "</a>\n</td>\n";
-		echo "<td class='myTable'>".db_result($res,$cnt,"e_comment")."</td>";
-		echo "</tr>\n";
-		$cnt++;
-	}
-	echo "</table>\n</div>\n";
-}
-#Formular:
-echo "<table class='myForm'>\n";
-if(isset($myElement)){
-   $sql = "SELECT * FROM gui_element WHERE fkey_gui_id = $1 AND e_id = $2";
-   $v = array($guiList2, $myElement);
-   $t = array("s", "s");
-   $res = db_prep_query($sql, $v, $t);
-   if(db_fetch_row($res)){
-      echo "<tr><td>ID: </td><td><input type='text' class='textfield' name='e_id' value='".db_result($res,0,"e_id")."'></td></tr>\n";
-      echo "<tr><td>Position: </td><td><input type='text' class='textfield' name='e_pos' value='".db_result($res,0,"e_pos")."'></td></tr>\n";
-      echo "<tr><td>ON/OFF: </td><td><input type='text' class='textfield' name='e_public' value='".db_result($res,0,"e_public")."'></td></tr>\n";
-      echo "<tr><td>Comment: </td><td><textarea cols='32' rows='5'  name='e_comment' >".stripslashes(db_result($res,0,"e_comment"))."</textarea></td></tr>\n";
-      echo "<tr><td>HTML-TAG: </td><td><input type='text' class='textfield' name='e_element' value='".db_result($res,0,"e_element")."'></td></tr>\n";
-      echo "<tr><td>SRC: </td><td><input type='text' class='textfield' name='e_src' value='".db_result($res,0,"e_src")."'></td></tr>\n";
-      echo "<tr><td>Attributes: </td><td><textarea cols='32' rows='5'  name='e_attributes' >".stripslashes(db_result($res,0,"e_attributes"))."</textarea></td></tr>\n";
-      echo "<tr><td>Left: </td><td><input type='text' class='textfield' name='e_left' value='".db_result($res,0,"e_left")."'></td></tr>\n";
-      echo "<tr><td>Top: </td><td><input type='text' class='textfield' name='e_top' value='".db_result($res,0,"e_top")."'></td></tr>\n";
-      echo "<tr><td>Width: </td><td><input type='text' class='textfield' name='e_width' value='".db_result($res,0,"e_width")."'></td></tr>\n";
-      echo "<tr><td>Height: </td><td><input type='text' class='textfield' name='e_height' value='".db_result($res,0,"e_height")."'></td></tr>\n";
-      echo "<tr><td>Z-INDEX: </td><td><input type='text' class='textfield' name='e_z_index' value='".db_result($res,0,"e_z_index")."'></td></tr>\n";
-      echo "<tr><td>Styles: </td><td><input type='text' class='textfield' name='e_more_styles' value='".db_result($res,0,"e_more_styles")."'></td></tr>\n";
-      echo "<tr><td>Content: </td><td><textarea cols='32' rows='4'  name='e_content' >".stripslashes(db_result($res,0,"e_content"))."</textarea></td></tr>\n";
-      echo "<tr><td>Close-TAG: </td><td><input type='text' class='textfield' name='e_closetag' value='".db_result($res,0,"e_closetag")."'></td></tr>\n";
-      echo "<tr><td>JavaScript: </td><td><input type='text' class='textfield' name='e_js_file' value='".db_result($res,0,"e_js_file")."'></td></tr>\n";
-      echo "<tr><td>Modul: </td><td><input type='text' class='textfield' name='e_mb_mod' value='".db_result($res,0,"e_mb_mod")."'></td></tr>\n";
-      echo "<tr><td>Target: </td><td><input type='text' class='textfield' name='e_target' value='".db_result($res,0,"e_target")."'></td></tr>\n";
-      echo "<tr><td>Requires: </td><td><input type='text' class='textfield' name='e_requires' value='".db_result($res,0,"e_requires")."'></td></tr>\n";
-   }
-   echo "</table>";
-}
-else if(isset($guiList1)){
-      echo "<tr><td>ID: </td><td><input type='text' class='textfield' name='e_id' value='".$e_id."'></td></tr>\n";
-      echo "<tr><td>Position: </td><td><input type='text' class='textfield' name='e_pos' value='".$e_pos."'></td></tr>\n";
-      echo "<tr><td>Public: </td><td><input type='text' class='textfield' name='e_public' value='".$e_public."'></td></tr>\n";
-      echo "<tr><td>Comment: </td><td><textarea cols='32' rows='5'  name='e_comment' >".stripslashes($e_comment)."</textarea></td></tr>\n";
-      echo "<tr><td>HTML-TAG: </td><td><input type='text' class='textfield' name='e_element' value='".$e_element."'></td></tr>\n";
-      echo "<tr><td>SRC: </td><td><input type='text' class='textfield' name='e_src' value='".$e_src."'></td></tr>\n";
-      echo "<tr><td>Attributes: </td><td><textarea cols='32' rows='5'  name='e_attributes' >".stripslashes($e_attributes)."</textarea></td></tr>\n";
-      echo "<tr><td>Left: </td><td><input type='text' class='textfield' name='e_left' value='".$e_left."'></td></tr>\n";
-      echo "<tr><td>Top: </td><td><input type='text' class='textfield' name='e_top' value='".$e_top."'></td></tr>\n";
-      echo "<tr><td>Width: </td><td><input type='text' class='textfield' name='e_width' value='".$e_width."'></td></tr>\n";
-      echo "<tr><td>Height: </td><td><input type='text' class='textfield' name='e_height' value='".$e_height."'></td></tr>\n";
-      echo "<tr><td>Z-INDEX: </td><td><input type='text' class='textfield' name='e_z_index' value='".$e_z_index."'></td></tr>\n";
-      echo "<tr><td>Styles: </td><td><input type='text' class='textfield' name='e_more_styles' value='".$e_more_styles."'></td></tr>\n";
-      echo "<tr><td>Content: </td><td><textarea cols='32' rows='4'  name='e_content' >".stripslashes($e_content)."</textarea></td></tr>\n";
-      echo "<tr><td>Close-TAG: </td><td><input type='text' class='textfield' name='e_closetag' value='".$e_closetag."'></td></tr>\n";
-      echo "<tr><td>JavaScript: </td><td><input type='text' class='textfield' name='e_js_file' value='".$e_js_file."'></td></tr>\n";
-      echo "<tr><td>Modul: </td><td><input type='text' class='textfield' name='e_mb_mod' value='".$e_mb_mod."'></td></tr>\n";
-      echo "<tr><td>Target: </td><td><input type='text' class='textfield' name='e_target' value='".$e_target."'></td></tr>\n";
-      echo "<tr><td>Requires: </td><td><input type='text' class='textfield' name='e_requires' value='".$e_requires."'></td></tr>\n";
-}
-echo "</table>\n";
-?>
-<input type='hidden' name='myDelete'>
-<input type='hidden' name='mySave'>
-<input type='hidden' name='myShow'>
-<input type='hidden' name='all'>
-</form>
-</body>
-</html>
\ No newline at end of file

Deleted: trunk/mapbender/http/php/mod_inspireDownloadFeed.php~
===================================================================
--- trunk/mapbender/http/php/mod_inspireDownloadFeed.php~	2016-05-27 07:11:28 UTC (rev 9487)
+++ trunk/mapbender/http/php/mod_inspireDownloadFeed.php~	2016-05-27 07:16:01 UTC (rev 9488)
@@ -1,1633 +0,0 @@
-<?php
-//2012-06-15-http://localhost/mapbender/php/mod_inspireDownloadFeed.php?id=70e0c3e5-707c-f8e1-8037-7b38702176d9&type=SERVICE&generatefrom=all
-//example: 2013-09-03 http://www.geoportal.rlp.de/mapbender/php/mod_inspireDownloadFeed.php?id=e9d22d13-e045-f0e0-25cc-1f146d681216&type=DATASET&generateFrom=wfs&wfsid=216&OPENSEARCH=true&spatial_dataset_identifier_code=e9d22d13-e045-f0e0-25cc-1f146d681216&spatial_dataset_identifier_namespace=http%3A%2F%2Fwww.geoportal.rlp.de&crs=EPSG:25832&language=de
-//20648
-// $Id: mod_inspireDownloadFeed.php 235
-// http://www.mapbender.org/index.php/
-// Copyright (C) 2002 CCGIS 
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2, or (at your option)
-// any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-//Script to generate a feed for a predefined dataset download as it is demanded in the INSPIRE Download Service guidance 3.0 from 04.05.2012. It will be generated from given wms layers dataurl attributs which are registrated in the mapbender database. The other possibility is, that the wms are used to built the download links. Therefore the wms must support the generation of image/tiff output format with geotiff tags. Many wms do this. These wms must also support a minimum of 1000x1000 pixel for a single getmap request. It works as a webservice. The requested id is the mapbender layers serial id. 
-
-require_once(dirname(__FILE__) . "/../../core/globalSettings.php");
-require_once(dirname(__FILE__) . "/../classes/class_connector.php");
-require_once(dirname(__FILE__) . "/../classes/class_administration.php");
-require_once dirname(__FILE__) . "/../../core/epsg.php";
-require_once(dirname(__FILE__) . "/../classes/class_Uuid.php");
-require_once(dirname(__FILE__) . "/../../conf/mimetype.conf");
-
-//check_epsg_wms_13($tmp_epsg)
-//http://www.weichand.de/inspire/dls/verwaltungsgrenzen.xml
-$con = db_connect(DBSERVER,OWNER,PW);
-db_select_db(DB,$con);
-
-$admin = new administration();
-$mapbenderPath = MAPBENDER_PATH."/";
-
-$imageResolution = 300;
-
-$maxImageSize = 1000;
-
-$maxFeatureCount = 100;
-
-$alterAxisOrder = false;
-
-$numberOfTiles = 0;
-	
-$furtherLink = array();
-
-//pull the needed things from tables datalink, md_metadata, layer, wms
- 
-//parse request parameter
-//make all parameters available as upper case
-foreach($_REQUEST as $key => $val) {
-	$_REQUEST[strtoupper($key)] = $val;
-}
-
-//check if opensearchdescription is requested
-if (isset($_REQUEST['GETOPENSEARCH']) & $_REQUEST['GETOPENSEARCH'] != "") {
-	//validate 
-	$testMatch = $_REQUEST["GETOPENSEARCH"];	
- 	if ($testMatch != "true" && $testMatch != "false"){ 
-		//echo 'GETOPENSEARCH: <b>'.$testMatch.'</b> is not valid.<br/>'; 
-		echo 'Parameter <b>GETOPENSEARCH</b> is not valid (true or false).<br/>'; 
-		die(); 		
- 	}
-	$getOpenSearch = $testMatch;
-	if ($getOpenSearch == 'true') {
-		$getOpenSearch = true;
-	} else {
-		$getOpenSearch = false;
-	}
-	$testMatch = NULL;
-}
-//check if opensearch should be used
-if (isset($_REQUEST['OPENSEARCH']) & $_REQUEST['OPENSEARCH'] != "") {
-	//validate 
-	$testMatch = $_REQUEST["OPENSEARCH"];	
- 	if ($testMatch != "true" && $testMatch != "false"){ 
-		//echo 'OPENSEARCH: <b>'.$testMatch.'</b> is not valid.<br/>'; 
-		echo 'Parameter <b>OPENSEARCH</b> is not valid (true or false).<br/>'; 
-		die(); 		
- 	}
-	$openSearch = $testMatch;
-	if ($openSearch == 'true') {
-		$openSearch = true;
-	} else {
-		$openSearch = false;
-	}
-	$testMatch = NULL;
-}
-
-//validate request params
-if (isset($_REQUEST['ID']) & $_REQUEST['ID'] != "") {
-	//validate uuid
-	$testMatch = $_REQUEST["ID"];
-	$uuid = new Uuid($testMatch);
-	$isUuid = $uuid->isValid();
-	if (!$isUuid) {
-		//echo 'Id: <b>'.$testMatch.'</b> is not a valid mapbender uuid.<br/>'; 
-		echo 'Parameter <b>Id</b> is not a valid mapbender uuid.<br/>'; 
-		die(); 		
- 	}
-	$recordId = $testMatch;
-	$testMatch = NULL;
-}
-
-/*
-//validate request params
-if (isset($_REQUEST['ID']) & $_REQUEST['ID'] != "") {
-	//validate integer
-	$testMatch = $_REQUEST["ID"];
-	$pattern = '/^[\d]*$/';		
- 	if (!preg_match($pattern,$testMatch)){ 
-		echo 'Id: <b>'.$testMatch.'</b> is not valid.<br/>'; 
-		die(); 		
- 	}
-	$recordId = $testMatch;
-	$testMatch = NULL;
-}
-*/
-if (!isset($_REQUEST['TYPE']) || $_REQUEST['TYPE'] == "") {
-	echo '<b>Mandatory parameter type is not set!</b><br>Please set type to <b>DATASET</b> or <b>SERVICE</b>'; 
-	die(); 	
-}
-
-//validate request params
-if (isset($_REQUEST['TYPE']) & $_REQUEST['TYPE'] != "") {
-	//validate type
-	$testMatch = $_REQUEST["TYPE"];	
- 	if ($testMatch != 'SERVICE' && $testMatch != 'DATASET'){ 
-		//echo 'type: <b>'.$testMatch.'</b> is not valid.<br/>'; 
-		echo 'Parameter <b>type</b> is not valid (DATASET or SERVICE).<br/>'; 
-		die(); 		
- 	}
-	$type = $testMatch;
-	$testMatch = NULL;
-}
-
-if (!isset($_REQUEST['GENERATEFROM']) || $_REQUEST['GENERATEFROM'] == "") {
-	echo '<b>Mandatory parameter GENERATEFROM is not set!</b><br>Please set GENERATEFROM to <b>wmslayer</b>, <b>dataurl</b> or <b>wfs</b> '; 
-	die(); 	
-}
-
-//validate request params
-if (isset($_REQUEST['GENERATEFROM']) & $_REQUEST['GENERATEFROM'] != "") {
-	//validate type
-	$testMatch = $_REQUEST["GENERATEFROM"];	
- 	if ($testMatch != 'wmslayer' && $testMatch != 'dataurl'  && $testMatch != 'wfs' && $testMatch != 'all'){ 
-		//echo 'GENERATEFROM: <b>'.$testMatch.'</b> is not valid.<br/>'; 
-		echo 'Parameter <b>GENERATEFROM</b> is not valid (wmslayer,dataurl,wfs,all).<br/>'; 
-		die(); 		
- 	}
-	$generateFrom = $testMatch;
-	$testMatch = NULL;
-}
-
-//parse opensearch parameters - used if $openSearch=true
-//q, spatial_dataset_identifier_namespace, spatial_dataset_identifier_code, crs, language
-if (isset($_REQUEST['q']) & $_REQUEST['q'] != "") {
-	//validate type
-	$testMatch = $_REQUEST["q"];	
- 	/*if ($testMatch != 'wmslayer' && $testMatch != 'dataurl'  && $testMatch != 'wfs' && $testMatch != 'all'){ 
-		//echo 'GENERATEFROM: <b>'.$testMatch.'</b> is not valid.<br/>'; 
-		echo 'Parameter <b>GENERATEFROM</b> is not valid (wmslayer,dataurl,wfs,all).<br/>'; 
-		die(); 		
- 	}*/
-	$osQuery = $testMatch;
-	$testMatch = NULL;
-}
-
-if (isset($_REQUEST['spatial_dataset_identifier_namespace']) & $_REQUEST['spatial_dataset_identifier_namespace'] != "") {
-	//validate type
-	$testMatch = $_REQUEST["spatial_dataset_identifier_namespace"];	
- 	/*if ($testMatch != 'wmslayer' && $testMatch != 'dataurl'  && $testMatch != 'wfs' && $testMatch != 'all'){ 
-		//echo 'GENERATEFROM: <b>'.$testMatch.'</b> is not valid.<br/>'; 
-		echo 'Parameter <b>GENERATEFROM</b> is not valid (wmslayer,dataurl,wfs,all).<br/>'; 
-		die(); 		
- 	}*/
-	$osDatasetNamespace = $testMatch;
-	$testMatch = NULL;
-}
-
-if (isset($_REQUEST['spatial_dataset_identifier_code']) & $_REQUEST['spatial_dataset_identifier_code'] != "") {
-	//validate type
-	$testMatch = $_REQUEST["spatial_dataset_identifier_code"];	
- 	/*if ($testMatch != 'wmslayer' && $testMatch != 'dataurl'  && $testMatch != 'wfs' && $testMatch != 'all'){ 
-		//echo 'GENERATEFROM: <b>'.$testMatch.'</b> is not valid.<br/>'; 
-		echo 'Parameter <b>GENERATEFROM</b> is not valid (wmslayer,dataurl,wfs,all).<br/>'; 
-		die(); 		
- 	}*/
-	$osDatasetIdentifier = $testMatch;
-	$testMatch = NULL;
-}
-
-if (isset($_REQUEST['crs']) & $_REQUEST['crs'] != "") {
-	//validate type TODO
-	$testMatch = $_REQUEST["crs"];	
- 	/*if ($testMatch != 'wmslayer' && $testMatch != 'dataurl'  && $testMatch != 'wfs' && $testMatch != 'all'){ 
-		//echo 'GENERATEFROM: <b>'.$testMatch.'</b> is not valid.<br/>'; 
-		echo 'Parameter <b>GENERATEFROM</b> is not valid (wmslayer,dataurl,wfs,all).<br/>'; 
-		die(); 		
- 	}*/
-	$osCrs = $testMatch;
-	$testMatch = NULL;
-}
-
-if (isset($_REQUEST['language']) & $_REQUEST['language'] != "") {
-	//validate type TODO
-	$testMatch = $_REQUEST["language"];	
- 	/*if ($testMatch != 'wmslayer' && $testMatch != 'dataurl'  && $testMatch != 'wfs' && $testMatch != 'all'){ 
-		//echo 'GENERATEFROM: <b>'.$testMatch.'</b> is not valid.<br/>'; 
-		echo 'Parameter <b>GENERATEFROM</b> is not valid (wmslayer,dataurl,wfs,all).<br/>'; 
-		die(); 		
- 	}*/
-	$osLanguage = $testMatch;
-	$testMatch = NULL;
-}
-
-if ($generateFrom == "wmslayer") {
-	//check if layerId is set too
-	if (isset($_REQUEST['LAYERID']) & $_REQUEST['LAYERID'] != "") {
-		$testMatch = $_REQUEST["LAYERID"];
-		$pattern = '/^[\d]*$/';		
- 		if (!preg_match($pattern,$testMatch)){ 
-			//echo 'LAYERID must be an integer: <b>'.$testMatch.'</b> is not valid.<br/>'; 
-			echo 'LAYERID must be an integer!<br/>'; 
-			die(); 		
- 		}
-		$layerId = $testMatch;
-		$testMatch = NULL;
-	} else {
-		echo 'Mandatory request parameter <b>layerid</b> must be set if download service should be generated by a wms layer!'; 
-		die(); 	
-	}
-}
-
-if ($generateFrom == "wfs") {
-	//check if wfsId is set too
-	if (isset($_REQUEST['WFSID']) & $_REQUEST['WFSID'] != "") {
-		$testMatch = $_REQUEST["WFSID"];
-		$pattern = '/^[\d]*$/';		
- 		if (!preg_match($pattern,$testMatch)){ 
-			//echo 'WFSID must be an integer: <b>'.$testMatch.'</b> is not valid.<br/>'; 
-			echo 'WFSID must be an integer!<br/>'; 
-			die(); 		
- 		}
-		$wfsId = $testMatch;
-		$testMatch = NULL;
-	} else {
-		echo 'Mandatory request parameter <b>WFSID</b> must be set if download service should be generated by using a Web Feature Service!'; 
-		die(); 	
-	}
-}
-
-//Initialize XML document
-$feedDoc = new DOMDocument('1.0');
-$feedDoc->encoding = 'UTF-8';
-$feedDoc->preserveWhiteSpace = false;
-$feedDoc->formatOutput = true;
-
-
-/*function addToQuery($paramName,$queryString,$string,$queryList) {
-	//test if string was part of query before, if so, don't extent the query
-	//TODO: the strings come from json and so they are urlencoded! maybe we have to decode them to find the commata
-	$queryListComma = urldecode($queryList);
-	$queryListC = ",".$queryListComma.",";
-	$pattern = ','.$string.',';	
- 	if (!preg_match($pattern, $queryListC)){
-		//append the new element
-		$queryListNew = $queryListC.$string;
-		//echo "query string new: ".$queryListNew."<br>";
-		//delete the commatas
-		$queryListNew = ltrim($queryListNew,',');
-		//generate the new query string
-		$queryStringNew = str_replace($paramName.'='.$queryList,$paramName.'='.$queryListNew,$queryString);
-		return $queryStringNew;
-	} else {
-		return $queryString;
-	}
-}*/
-
-// function to delete one GET parameter totally from a query url 
-function delTotalFromQuery($paramName,$queryString) {
-	$queryString = "&".$queryString;
-	$queryStringNew = preg_replace('/\b'.$paramName.'\=[^&]+&?/',$str2exchange,$queryString);
-	$queryStringNew = ltrim($queryStringNew,'&');
-	$queryStringNew = rtrim($queryStringNew,'&');
-	return $queryStringNew;
-}
-
-
-function answerOpenSearchRequest () {
-	global $admin, $type, $mapbenderMetadata, $indexMapbenderMetadata, $layerId, $wfsId, $mapbenderPath, $epsgId, $alterAxisOrder, $departmentMetadata, $userMetadata, $hasPermission, $m, $crs, $crsUpper, $countRessource, $furtherLink, $osDatasetIdentifier, $osQuery, $osDatasetNamespace, $osCrs, $osLanguage;
-	//service feed url
-	$serviceFeed = delTotalFromQuery("getopensearch",$mapbenderPath."..".$_SERVER['REQUEST_URI']);//delete GETOPENSEARCH
-	$serviceFeed = delTotalFromQuery("OPENSEARCH",$serviceFeed);
-	//echo $serviceFeed;
-	//die();
-	//datasetfeed url
-	$datasetFeed = str_replace("=SERVICE&","=DATASET&",$serviceFeed);
-	//echo $datasetFeed;
-	//die();
-	$returnFile = false;
-	switch ($generateFrom) {
-				case "dataurl":
-					$mimetype = $formatsMimetype[$mapbenderMetadata[$m]->format];
-				break;
-				case "wmslayer":
-					$mimetype = "image/tiff";
-				break;
-				case "wfs":
-					$mimetype = "application/gml+xml";
-				break;
-	}
-	//check correct headers
-	foreach (apache_request_headers() as $name => $value) {
-		if ($name == "Accept" && $value == $mimetype) {
-			$returnFile = true;
-		}   	 
-	}
-	//TODO comment this line in productive environment - see inspire guidance for opensearch script
-	$returnFile = true;
-	//check for identifier 
-	/*$e = new mb_exception("mod_inspireDownloadFeed.php: osDatasetIdentifier: ".$osDatasetIdentifier);
-	$e = new mb_exception("mod_inspireDownloadFeed.php: osQuery: ".$osQuery);	
-	$e = new mb_exception("mod_inspireDownloadFeed.php: osDatasetNamespace: ".$osDatasetNamespace);	
-	$e = new mb_exception("mod_inspireDownloadFeed.php: numberOfTiles: ".$numberOfTiles);*/
-	if (!$osDatasetIdentifier) {
-		if (!$osQuery) {
-			//redirect to service feed
-			header("Location: ".$serviceFeed);
-			die();
-		}
-		//the query search for an identifier ?
-		$osDatasetIdentifier = $osQuery;
-	}
-	
-	//check namespace
-	if (!$osDatasetNamespace) {
-			echo "No namespace given!";
-			die();
-	}
-	//check crs and language
-	if ($osCrs && $osCrs != $crs) {
-		echo "Dataset not available in requested crs!";
-		die();
-	}
-	if (!$osLanguage || $osLanguage == "*") {
-		$osLanguage = "de";
-	}
-	if ($osLanguage != "de") {
-		echo "Dataset not available in requested language!";
-		die();
-	}
-	//check count of links 
-	//redirect to downloadlink
-	//parse dataset atom feed and count links - maybe one or multiple!!!!
-	$links = getDatasetFeedLinks($datasetFeed);
-	$numberOfTiles = count($links);
-	//$e = new mb_exception("mod_inspireDownloadFeed.php: numberOfTiles: ".$numberOfTiles);
-	if ($numberOfTiles > 1) {
-		//redirect to dataset atom feed 
-		header("Location: ".$datasetFeed);
-	} else {
-		if ($returnFile) {
-			//echo "links[0]:". $links[0];
-			//die();
-			header("Location: ".$links[0]);
-		} else {
-			//redirect to datasetfeed
-			header("Location: ".$datasetFeed);
-		}
-	}	
-	die();
-}
-
-function getDatasetFeedLinks($datasetFeedUrl) {
-	//$links = array();
-	//get feed from remote server
-	$feedConnector = new connector($datasetFeedUrl);
-	$feedConnector->set("timeOut", "10");
-	$feedFile = $feedConnector->file;
-	libxml_use_internal_errors(true);
-	try {
-		$feedXML = simplexml_load_string($feedFile);
-		if ($feedXML === false) {
-			foreach(libxml_get_errors() as $error) {
-        			$err = new mb_exception("mod_inspireDownloadFeed.php:".$error->message);
-    			}
-			throw new Exception("mod_inspireDownloadFeed.php:".'Cannot parse Feed!');
-			return false;
-		}
-	}
-	catch (Exception $e) {
-    		$err = new mb_exception("mod_inspireDownloadFeed.php:".$e->getMessage());
-		return false;
-	}
-	if ($feedXML != false) {
-		$feedXML->registerXPathNamespace("georss", "http://www.georss.org/georss");
-		$feedXML->registerXPathNamespace("inspire_dls", "http://inspire.ec.europa.eu/schemas/inspire_dls/1.0");
-		$feedXML->registerXPathNamespace("defaultns", "http://www.w3.org/2005/Atom");
-		$title = $feedXML->xpath('/defaultns:feed/defaultns:entry/defaultns:title');
-		//TODO: This is only possible, if one entry is available as it is now. Maybe altered later.
-		$title = $title[0];
-		//for ($i=0; $i<=(count($title)-1); $i++) {
-			$links = $feedXML->xpath('/defaultns:feed/defaultns:entry[1]/defaultns:link/@href');
-		//}
-	}
-	return $links;
-}
-
-
-function generateOpenSearchDescription($feedDoc, $recordId, $generateFrom) {
-	global $admin, $type, $mapbenderMetadata, $indexMapbenderMetadata, $layerId, $wfsId, $mapbenderPath, $epsgId, $alterAxisOrder, $departmentMetadata, $userMetadata, $hasPermission, $m, $crs, $crsUpper, $countRessource, $numberOfTiles;
-	switch ($generateFrom) {
-				case "dataurl":
-					$mimetype = $formatsMimetype[$mapbenderMetadata[$m]->format];
-				break;
-				case "wmslayer":
-					$mimetype = "image/tiff";
-				break;
-				case "wfs":
-					$mimetype = "application/gml+xml";
-				break;
-	}
-	//part which generates the feed 
-	$feed =  $feedDoc->createElementNS('http://a9.com/-/spec/opensearch/1.1/', 'OpenSearchDescription');
-	$feed = $feedDoc->appendChild($feed);
-	//$feed->setAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
-	$feed->setAttribute("xmlns:inspire_dls", "http://inspire.ec.europa.eu/schemas/inspire_dls/1.0");
-	$feed->setAttribute("xmlns:xsi", "http://www.w3c.org/2001/XMLSchema-instance");
-	$feed->setAttribute("xsi:schemaLocation", "http://a9.com/-/spec/opensearch/1.1/ OpenSearch.xsd");
-	//ShortName
-	$osShortName = $feedDoc->createElement("ShortName");
-	$osShortNameText = $feedDoc->createTextNode("INSPIRE Download Service.");
-	$osShortName->appendChild($osShortNameText);
-	$feed->appendChild($osShortName);
-	//Description
-	$osDescription = $feedDoc->createElement("Description");
-	$osDescriptionText = $feedDoc->createTextNode("Search Description für INSPIRE Download Service.");
-	$osDescription->appendChild($osDescriptionText);
-	$feed->appendChild($osDescription);
-	//Url - self
-	$urlSelf = $feedDoc->createElement("Url");
-	$urlSelf->setAttribute("type", "application/opensearchdescription+xml");
-	$urlSelf->setAttribute("rel", "self");
-	$urlSelf->setAttribute("template", $mapbenderPath."..".$_SERVER['REQUEST_URI']);
-	$feed->appendChild($urlSelf);
-	//Url - results Atom
-	$urlSelf = $feedDoc->createElement("Url");
-	$urlSelf->setAttribute("type", "application/atom+xml");
-	$urlSelf->setAttribute("rel", "results");
-	$urlSelf->setAttribute("template", str_replace("=SERVICE&","=DATASET&",$mapbenderPath."..".$_SERVER['REQUEST_URI']).str_replace("&","&","&OPENSEARCH=true&q={searchTerms}"));
-	$feed->appendChild($urlSelf);
-	//Url - describedby
-	$urlDescribedby = $feedDoc->createElement("Url");
-	$urlDescribedby->setAttribute("type", "application/atom+xml");
-	$urlDescribedby->setAttribute("rel", "describedby");
-	//see documentation
-	$urlDescribedby->setAttribute("template", str_replace("=SERVICE&","=DATASET&",$mapbenderPath."..".$_SERVER['REQUEST_URI']).str_replace("&","&","&OPENSEARCH=true&spatial_dataset_identifier_code={inspire_dls:spatial_dataset_identifier_code?}&spatial_dataset_identifier_namespace={inspire_dls:spatial_dataset_identifier_namespace?}&crs={inspire_dls:crs?}&language={language?}&q={searchTerms?}"));
-	$feed->appendChild($urlDescribedby);
-	//Url - results single part (e.g. zipfile)
-	$urlResults = $feedDoc->createElement("Url");
-	$urlResults->setAttribute("type", $mimetype);//TODO give reasonable format!! - mimetypes??? geotiff/gml/other - see format of metadata
-	$urlResults->setAttribute("rel", "results");
-	$urlResults->setAttribute("template", str_replace("=SERVICE&","=DATASET&",$mapbenderPath."..".$_SERVER['REQUEST_URI']).str_replace("&","&","&OPENSEARCH=true&spatial_dataset_identifier_code={inspire_dls:spatial_dataset_identifier_code?}&spatial_dataset_identifier_namespace={inspire_dls:spatial_dataset_identifier_namespace?}&crs={inspire_dls:crs?}&language={language?}&q={searchTerms?}"));
-	$feed->appendChild($urlResults);
-	//for firefox?
-	$urlResults = $feedDoc->createElement("Url");
-	$urlResults->setAttribute("type", "text/html");//TODO give reasonable format!! - mimetypes??? geotiff/gml/other - see format of metadata - see https://developer.mozilla.org/de/docs/OpenSearch_Plugin_f%C3%BCr_Firefox_erstellen
-	$urlResults->setAttribute("rel", "results");
-	$urlResults->setAttribute("template", str_replace("=SERVICE&","=DATASET&",$mapbenderPath."..".$_SERVER['REQUEST_URI']).str_replace("&","&","&OPENSEARCH=true&spatial_dataset_identifier_code={inspire_dls:spatial_dataset_identifier_code?}&spatial_dataset_identifier_namespace={inspire_dls:spatial_dataset_identifier_namespace?}&crs={inspire_dls:crs?}&language={language?}&q={searchTerms?}"));
-	$feed->appendChild($urlResults);
-
-	//Url -results multi part
-	/*
-	$urlResults = $feedDoc->createElement("Url");
-	$urlResults->setAttribute("type", "application/atom");
-	$urlResults->setAttribute("rel", "results");
-	$urlResults->setAttribute("template", $mapbenderPath."..".$_SERVER['SCRIPT_NAME']."?spatial_dataset_identifier_code={inspire_dls:spatial_dataset_identifier_code?}&spatial_dataset_identifier_namespace={inspire_dls:spatial_dataset_identifier_namespace?}&crs={inspire_dls:crs?}&language={language?}&q={searchTerms?}");
-	$feed->appendChild($urlResults);
-	*/
-	//Metadata for OpenSearch
-	//Contact
-	$osContact = $feedDoc->createElement("Contact");
-	$osContactText = $feedDoc->createTextNode("kontakt at geoportal.rlp.de");
-	$osContact->appendChild($osContactText);
-	$feed->appendChild($osContact);
-	//Tags
-	$osTags = $feedDoc->createElement("Tags");
-	$osTagsText = $feedDoc->createTextNode("Tags");
-	$osTags->appendChild($osTagsText);
-	$feed->appendChild($osTags);
-	//LongName
-	$osLongName = $feedDoc->createElement("LongName");
-	$osLongNameText = $feedDoc->createTextNode("LongName");
-	$osLongName->appendChild($osLongNameText);
-	$feed->appendChild($osLongName);
-	//Image
-	$osImage = $feedDoc->createElement("Image");
-	$osImage->setAttribute("height", "16");
-	$osImage->setAttribute("width", "16");
-	$osImage->setAttribute("type", "image/png");
-	$osImageText = $feedDoc->createTextNode("http://www.geoportal.rlp.de/fileadmin/design/logo_gdi-rp.png");
-	$osImage->appendChild($osImageText);
-	$feed->appendChild($osImage);
-	//Query
-	//example
-	//$mapbenderMetadata[$m]->datasetid_codespace."#".$mapbenderMetadata[$m]->datasetid;
-	$osQuery = $feedDoc->createElement("Query");
-	$osQuery->setAttribute("inspire_dls:spatial_dataset_identifier_namespace", $mapbenderMetadata[$m]->datasetid_codespace);
-	$osQuery->setAttribute("inspire_dls:spatial_dataset_identifier_code", $mapbenderMetadata[$m]->datasetid);
-	$osQuery->setAttribute("inspire_dls:crs", "EPSG:".$epsgId);
-	$osQuery->setAttribute("language", "de");
-	$osQuery->setAttribute("title", $mapbenderMetadata[$m]->metadata_title);
-	$osQuery->setAttribute("count", "1");
-	//$osQueryText = $feedDoc->createTextNode("Query");
-	//$osQuery->appendChild($osQueryText);
-	$feed->appendChild($osQuery);
-	//Developer
-	$osDeveloper = $feedDoc->createElement("Developer");
-	$osDeveloperText = $feedDoc->createTextNode("Rheinland-Pfalz, Zentrale Stelle GDI-RP");
-	$osDeveloper->appendChild($osDeveloperText);
-	$feed->appendChild($osDeveloper);
-	//Language
-	$osLanguage = $feedDoc->createElement("Language");
-	$osLanguageText = $feedDoc->createTextNode("de");
-	$osLanguage->appendChild($osLanguageText);
-	$feed->appendChild($osLanguage);
-	return $feedDoc->saveXML();
-}
-
-
-function readInfoFromDatabase($recordId, $generateFrom){
-	global $admin, $type, $mapbenderMetadata, $indexMapbenderMetadata, $layerId, $wfsId, $mapbenderPath, $epsgId, $alterAxisOrder, $departmentMetadata, $userMetadata, $hasPermission, $m, $crs, $crsUpper, $countRessource;
-	
-	switch ($generateFrom) {
-		case "dataurl":
-			$sql = <<<SQL
-select *, 'dataurl' as origin from (select * from (select * from (select * from (select mb_metadata.metadata_id, layer_relation.layer_name,layer_relation.inspire_download, layer_relation.fkey_wms_id, layer_relation.layer_id, mb_metadata.uuid as metadata_uuid, mb_metadata.format,mb_metadata.title as metadata_title, mb_metadata.abstract as metadata_abstract, layer_relation.layer_title, layer_relation.layer_abstract, mb_metadata.ref_system as metadata_ref_system, mb_metadata.datasetid, mb_metadata.spatial_res_type, mb_metadata.spatial_res_value, mb_metadata.datasetid_codespace  from (select * from layer inner join ows_relation_metadata on layer.layer_id = ows_relation_metadata.fkey_layer_id) as layer_relation inner join mb_metadata on layer_relation.fkey_metadata_id = mb_metadata.metadata_id where mb_metadata.uuid = $1) as layer_metadata inner join ows_relation_data on ows_relation_data.fkey_layer_id = layer_metadata.layer_id) as layer_relation_data inner join datalink on layer_relatio
 n_data.fkey_datalink_id = datalink.datalink_id) as layer_data inner join wms on layer_data.fkey_wms_id = wms.wms_id)  as layer_wms, layer_epsg where layer_wms.layer_id = layer_epsg.fkey_layer_id and layer_epsg.epsg = 'EPSG:4326';  
-SQL;
-		$generateFromDataurl = true;
-		break;
-
-		case "wmslayer":
-			$sql = <<<SQL
-select *, 'wmslayer' as origin from (select * from (select mb_metadata.metadata_id, layer_relation.layer_name, layer_relation.fkey_wms_id, layer_relation.layer_id,layer_relation.inspire_download, mb_metadata.uuid as metadata_uuid, mb_metadata.format,mb_metadata.title as metadata_title, mb_metadata.abstract as metadata_abstract, layer_relation.layer_title, layer_relation.layer_abstract, mb_metadata.ref_system as metadata_ref_system, mb_metadata.datasetid, mb_metadata.spatial_res_type, mb_metadata.spatial_res_value, mb_metadata.datasetid_codespace  from (select * from layer inner join ows_relation_metadata on layer.layer_id = ows_relation_metadata.fkey_layer_id) as layer_relation inner join mb_metadata on layer_relation.fkey_metadata_id = mb_metadata.metadata_id where mb_metadata.uuid = $1) layer_data inner join wms on layer_data.fkey_wms_id = wms.wms_id)  as layer_wms, layer_epsg where layer_wms.layer_id = layer_epsg.fkey_layer_id and layer_epsg.epsg = 'EPSG:4326' and layer_wms.layer
 _id = $2;  
-SQL;
-		break;
-
-		case "wfs":
-			$sql = <<<SQL
-select *, 'wfs' as origin from (select mb_metadata.metadata_id, featuretype_relation.featuretype_name, featuretype_relation.fkey_wfs_id, featuretype_relation.featuretype_id,featuretype_relation.inspire_download, mb_metadata.uuid as metadata_uuid, mb_metadata.format,mb_metadata.title as metadata_title, mb_metadata.abstract as metadata_abstract, featuretype_relation.featuretype_title, featuretype_relation.featuretype_abstract, mb_metadata.ref_system as metadata_ref_system, mb_metadata.datasetid, mb_metadata.spatial_res_type, mb_metadata.spatial_res_value, mb_metadata.datasetid_codespace,  featuretype_relation.featuretype_latlon_bbox as latlonbbox, featuretype_relation.featuretype_srs from (select * from wfs_featuretype inner join ows_relation_metadata on wfs_featuretype.featuretype_id = ows_relation_metadata.fkey_featuretype_id) as featuretype_relation inner join mb_metadata on featuretype_relation.fkey_metadata_id = mb_metadata.metadata_id where mb_metadata.uuid = $1) as featuretype_
 data inner join wfs on featuretype_data.fkey_wfs_id = wfs.wfs_id where wfs.wfs_id = $2;
-SQL;
-		break;
-
-		case "all":
-			$sql = array();
-			$sql[0] = <<<SQL
-select *, 'dataurl' as origin from (select * from (select * from (select * from (select mb_metadata.metadata_id, layer_relation.layer_name, layer_relation.fkey_wms_id, layer_relation.layer_id,layer_relation.inspire_download, mb_metadata.uuid as metadata_uuid, mb_metadata.format,mb_metadata.title as metadata_title, mb_metadata.abstract as metadata_abstract, layer_relation.layer_title, layer_relation.layer_abstract, mb_metadata.ref_system as metadata_ref_system, mb_metadata.datasetid, mb_metadata.spatial_res_type, mb_metadata.spatial_res_value, mb_metadata.datasetid_codespace  from (select * from layer inner join ows_relation_metadata on layer.layer_id = ows_relation_metadata.fkey_layer_id) as layer_relation inner join mb_metadata on layer_relation.fkey_metadata_id = mb_metadata.metadata_id where mb_metadata.uuid = $1) as layer_metadata inner join ows_relation_data on ows_relation_data.fkey_layer_id = layer_metadata.layer_id) as layer_relation_data inner join datalink on layer_relatio
 n_data.fkey_datalink_id = datalink.datalink_id) as layer_data inner join wms on layer_data.fkey_wms_id = wms.wms_id)  as layer_wms, layer_epsg where layer_wms.layer_id = layer_epsg.fkey_layer_id and layer_epsg.epsg = 'EPSG:4326'				
-SQL;
-			$sql[1] =  <<<SQL
-select *, 'wmslayer' as origin from (select * from (select mb_metadata.metadata_id, layer_relation.layer_name,layer_relation.inspire_download, layer_relation.fkey_wms_id, layer_relation.layer_id, mb_metadata.uuid as metadata_uuid, mb_metadata.format,mb_metadata.title as metadata_title, mb_metadata.abstract as metadata_abstract, layer_relation.layer_title, layer_relation.layer_abstract, mb_metadata.ref_system as metadata_ref_system, mb_metadata.datasetid, mb_metadata.spatial_res_type, mb_metadata.spatial_res_value, mb_metadata.datasetid_codespace  from (select * from layer inner join ows_relation_metadata on layer.layer_id = ows_relation_metadata.fkey_layer_id) as layer_relation inner join mb_metadata on layer_relation.fkey_metadata_id = mb_metadata.metadata_id where mb_metadata.uuid = $1) layer_data inner join wms on layer_data.fkey_wms_id = wms.wms_id)  as layer_wms, layer_epsg where layer_wms.layer_id = layer_epsg.fkey_layer_id and layer_epsg.epsg = 'EPSG:4326';		
-		
-SQL;
-			$sql[2] =  <<<SQL
-select *, 'wfs' as origin from (select mb_metadata.metadata_id, featuretype_relation.featuretype_name, featuretype_relation.fkey_wfs_id, featuretype_relation.inspire_download, featuretype_relation.featuretype_id, mb_metadata.uuid as metadata_uuid, mb_metadata.format,mb_metadata.title as metadata_title, mb_metadata.abstract as metadata_abstract, featuretype_relation.featuretype_title, featuretype_relation.featuretype_abstract, mb_metadata.ref_system as metadata_ref_system, mb_metadata.datasetid, mb_metadata.spatial_res_type, mb_metadata.spatial_res_value, mb_metadata.datasetid_codespace,  featuretype_relation.featuretype_latlon_bbox as latlonbbox, featuretype_relation.featuretype_srs from (select * from wfs_featuretype inner join ows_relation_metadata on wfs_featuretype.featuretype_id = ows_relation_metadata.fkey_featuretype_id) as featuretype_relation inner join mb_metadata on featuretype_relation.fkey_metadata_id = mb_metadata.metadata_id where mb_metadata.uuid = $1) as featuretype
 _data inner join wfs on featuretype_data.fkey_wfs_id = wfs.wfs_id;		
-SQL;
-		break;
-	}
-
-	$row = array();
-	$mapbenderMetadata = array();
-	//initialize number of different download options
-	$indexMapbenderMetadata = 0;
-	switch ($generateFrom) {
-		case "dataurl":
-			//only one sql should be done 
-			$v = array($recordId);
-			$t = array('s');
-			$res = db_prep_query($sql,$v,$t);
-			//$e = new mb_exception("mod_inspireDownloadFeed: Fill mapbender metadata");
-			fillMapbenderMetadata($res, $generateFrom);
-		break;
-		case "wmslayer":
-			//only one sql should be done 
-			$v = array($recordId, $layerId);
-			$t = array('s','i');
-			$res = db_prep_query($sql,$v,$t);
-			fillMapbenderMetadata($res, $generateFrom);
-		break;
-		case "wfs":
-			//only one sql should be done 
-			$v = array($recordId, $wfsId);
-			$t = array('s','i');
-			$res = db_prep_query($sql,$v,$t);
-			fillMapbenderMetadata($res, $generateFrom);
-		break;
-		case "all":	//TODO: Maybe a union is a better way, but the sql must be harmonized before
-			for ($i = 0; $i < 3; $i++) {
-				$v = array($recordId);
-				$t = array('s');
-				$sqlQuery = $sql[$i];
-				$res = db_prep_query($sqlQuery,$v,$t);
-				fillMapbenderMetadata($res);
-			}
-		break;
-
-	}
-	$countRessource = count($mapbenderMetadata); //count of coupled featuretypes, layers or dataurls or both!
-	//echo "<error>".count($mapbenderMetadata)."</error>";
-	//die();
-	//$e = new mb_exception("mod_inspireDownloadFeed: uuid ".$recordId);
-	//$e = new mb_exception("mod_inspireDownloadFeed: datalink_id ".$mapbenderMetadata[0]->datalink_id);
-	//$e = new mb_exception("mod_inspireDownloadFeed: sql ".$sql);
-
-	if ($generateFrom != "wfs") {
-		$countRessource = 1;
-	}
-
-	//for the first entry - top feed level use the first index - right so or do it on another way?
-	$m = 0;
-	
-	if ($generateFromDataurl) {
-		//check if layer_id datalink_id and metadata_id are given and not empty!
-		if (!isset($mapbenderMetadata[$m]->datalink_id) || $mapbenderMetadata[$m]->datalink_id == '') {
-			return "<error>No dataurl element is given for the requested wms layer</error>";
-		}
-	}
-	//TODO - if the wms is a raster based wms and the output format may be geotiff - the feed entries can be generated automatically. We need following information
-	// 1. a raster based wms is given or not - checkbox at metadata editor!
-	// 2. geotiff maybe one of the allowed formats! - layer format
-	// 3. the maximum of pixel which can be served by the wms - maybe 2000x2000px - metadata editor!
-	// 4. The scale hints maybe used to control if a special get map request will produce a picture or not
-	//TODO: In this case we have to generate a feed for every single getmap request. This feed have to be called dynamically too! It will be cool to have the bboxes as get parameter or give a index of the bbox with which the bbox can be calculated again!
-
-	if (!isset($mapbenderMetadata[$m]->metadata_id) || $mapbenderMetadata[$m]->metadata_id == '') {
-		return "<error>The metadataset with id ".$mapbenderMetadata[$m]->metadata_id." has no coupled ".$generateFrom." ressource ".$m."</error>";
-	}
-	$crs = $mapbenderMetadata[$m]->metadata_ref_system;
-	if (!isset($mapbenderMetadata[$m]->metadata_ref_system) || $mapbenderMetadata[$m]->metadata_ref_system == '') {
-		return "<error>For the metadataset with id ".$mapbenderMetadata[$m]->metadata_id." is no reference system defined!</error>";
-	}
-	
-	//Handle CRS - maybe in 'urn:ogc:def:crs:EPSG:6.9:4326' or 'EPSG:4326' or 'epsg:4326' or 'urn:ogc:def:crs:EPSG::4326' format!
-	//TODO test this also in sqls from mapbenders database - see wms 1.3.0 - for layer metadata
-	//explode strings
-	//alter all to uppercase 
-	$crsUpper = str_replace("epsg","EPSG",$crs);
-	//explode strings
-	$crsUpperArray = explode(":",$crsUpper);
-	switch (count($crsUpperArray)) {
-		case 7:
-			$epsgId = $crsUpperArray[6];
-		break;
-		case 2:
-			$epsgId = $crsUpperArray[1];
-		break;	
-	}
-	//check if order have to be altered
-	if (strpos($crsUpper,'urn') !== false) {
-		//check if axis order should be changed 
-		if (check_epsg_wms_13($epsgId)) {
-			//alter order of axis for 4326
-			$alterAxisOrder = true;
-		} else {
-			$alterAxisOrder = false;	
-		}
-	}
-	//infos about the registrating department, check first if a special metadata point of contact is defined in the service table - function from mod_showMetadata - TODO: should be defined in admin class
-	if (!isset($mapbenderMetadata[$m]->fkey_mb_group_id) or is_null($mapbenderMetadata[$m]->fkey_mb_group_id) or $mapbenderMetadata[$m]->fkey_mb_group_id == 0){
-		$e = new mb_exception("mod_inspireDownloadFeed.php: fkey_mb_group_id not found!");
-		//Get information about owning user of the relation mb_user_mb_group - alternatively the defined fkey_mb_group_id from the service must be used!
-		$sqlDep = "SELECT mb_group_name, mb_group_title, mb_group_id, mb_group_logo_path, mb_group_address, mb_group_email, mb_group_postcode, mb_group_city, mb_group_voicetelephone, mb_group_facsimiletelephone FROM mb_group AS a, mb_user AS b, mb_user_mb_group AS c WHERE b.mb_user_id = $1  AND b.mb_user_id = c.fkey_mb_user_id AND c.fkey_mb_group_id = a.mb_group_id AND c.mb_user_mb_group_type=2 LIMIT 1";
-		if ($generateFrom != "wfs") {
-			$vDep = array($mapbenderMetadata[$m]->wms_owner);
-		} else {
-			$vDep = array($mapbenderMetadata[$m]->wfs_owner);
-		}
-
-		$tDep = array('i');
-		$resDep = db_prep_query($sqlDep, $vDep, $tDep);
-		$departmentMetadata = db_fetch_array($resDep);
-	} else {
-		$e = new mb_exception("mod_inspireDownloadFeed.php: fkey_mb_group_id found!");
-		$sqlDep = "SELECT mb_group_name , mb_group_title, mb_group_id, mb_group_logo_path , mb_group_address, mb_group_email, mb_group_postcode, mb_group_city, mb_group_voicetelephone, mb_group_facsimiletelephone FROM mb_group WHERE mb_group_id = $1 LIMIT 1";
-		$vDep = array($mapbenderMetadata[$m]->fkey_mb_group_id);
-		$tDep = array('i');
-		$resDep = db_prep_query($sqlDep, $vDep, $tDep);
-		$departmentMetadata = db_fetch_array($resDep);
-	}
-
-	//infos about the owner of the service - he is the man who administrate the metadata - register the service
-	$sql = "SELECT mb_user_email ";
-	$sql .= "FROM mb_user WHERE mb_user_id = $1";
-	if ($generateFrom != "wfs") {
-			$v = array($mapbenderMetadata[$m]->wms_owner);
-		} else {
-			$v = array($mapbenderMetadata[$m]->wfs_owner);
-	}
-	$t = array('i');
-	$res = db_prep_query($sql,$v,$t);
-	$userMetadata = db_fetch_array($res);
-	
-	//check if resource is freely available to anonymous user - which are all users who search thru metadata catalogues:
-	if ($generateFrom != "wfs") {
-		$hasPermission=$admin->getLayerPermission($mapbenderMetadata[$m]->fkey_wms_id,$mapbenderMetadata[$m]->layer_name,PUBLIC_USER);
-	} else {
-		$hasPermission = true;
-	}
-
-}
-
-//Some needfull functions to pull metadata out of the database.
-//List of data which is needed to build the feed:
-//header part ******
-// - feed title: Generated from dataset name - either mb_metadata.title or layer.layer_title
-// - feed subtitle: Generated from dataset name - either mb_metadata.title or layer.layer_title, organisation name - mapbender group information (metadata contact) - cause it is generated from data of a registrated wms
-// - link to ISO19139 service metadata - this will be created dynamically by given layer_id as this script itself
-// - link to opensearch description for this download service - as before the layer_id will be used as a parameter
-// - id - link to the script itself
-// - rights - the access constraints of the view service are used - they should also give information about the access constraints for the usage of the data
-// - updated : last date the feed was updated - use current timestamp of the wms as the feed will be generated from dataurl entry of the layer object - wms.wms_timestamp
-//datalink.random_id - this is newly created when layers are updated ! - new
-//author - use information from mapbender group - metadata point of contact - registrating organization
-//entry part ******
-// - entry title: Generated from dataset name - either mb_metadata.title or layer.layer_title - in combination e.g. with "Feed for ..."
-// - link to the dataset feed - invoked by layer id as this is done before
-// - summary -  Generated by some infomation: mb_metadata.format, mb_metadata.ref_sytem, ...., datalink.datalink_format
-// - updated - timestamp of wms as done before
-// - 
-
-function generateFeed($feedDoc, $recordId, $generateFrom) {
-	global $admin, $type, $imageResolution, $maxImageSize, $maxFeatureCount, $mapbenderMetadata, $indexMapbenderMetadata, $layerId, $wfsId, $mapbenderPath, $epsgId, $alterAxisOrder, $departmentMetadata, $userMetadata, $hasPermission, $m, $crs, $crsUpper,$countRessource, $numberOfTiles, $furtherLink;
-	
-	//part which generates the feed 
-	$feed =  $feedDoc->createElementNS('http://www.w3.org/2005/Atom', 'feed');
-	$feed = $feedDoc->appendChild($feed);
-	//$feed->setAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
-	$feed->setAttribute("xmlns:georss", "http://www.georss.org/georss");
-	if ($type == 'SERVICE') {
-		$feed->setAttribute("xmlns:inspire_dls", "http://inspire.ec.europa.eu/schemas/inspire_dls/1.0");
-	}
-	$feed->setAttribute("xmlns:lang", "de");
-	//echo "<test>".$mapbenderMetadata['fkey_wms_id'].":".$mapbenderMetadata['wms_owner']."</test>";
-	//qualifying id of the referenced ressource: Either dataset id or the id of the metadata record 
-	if (isset($mapbenderMetadata[$m]->datasetid) && $mapbenderMetadata[$m]->datasetid != '' ) {
-		$ressourceId = $mapbenderMetadata[$m]->datasetid_codespace."#".$mapbenderMetadata[$m]->datasetid;
-	}
-
-	//check if the metadata set has a title and abstract if not given (in case of dataurl, use layer information!)
-	//first use metadata title then layer title
-	if (isset($mapbenderMetadata[$m]->metadata_title) && $mapbenderMetadata[$m]->metadata_title != '' ) {
-		$ressourceTitle = $mapbenderMetadata[$m]->metadata_title;
-	} else {
-		//TODO check wfs title....
-		
-		if (isset($mapbenderMetadata[$m]->layer_title) && $mapbenderMetadata[$m]->layer_title != '' ) {
-		$ressourceTitle = $mapbenderMetadata[$m]->layer_title;
-		} else {
-			$ressourceTitle = "Title of dataset cannot be found!";
-		}
-	}
-		
-
-	//first use metadata abstract then layer abstract
-	if (isset($mapbenderMetadata[$m]->metadata_abstract) && $mapbenderMetadata[$m]->metadata_abstract != '' ) {
-		$ressourceAbstract = $mapbenderMetadata[$m]->metadata_abstract;
-	} else {
-		if (isset($mapbenderMetadata[$m]->layer_abstract) && $mapbenderMetadata[$m]->layer_abstract != '' ) {
-			$ressourceAbstract = $mapbenderMetadata[$m]->layer_abstract;
-		} else {
-			$ressourceAbstract = "Abstract of dataset cannot be found!";
-		}
-	}
-	//Begin generation of feed content *********************************************************************************************
-	//feed title - 5.1.1 / 5.2
-	//<title>XYZ Example INSPIRE Download Service</title>
-	//<title>XYZ Example INSPIRE Dataset ABC Download</title>
-	$feedTitle = $feedDoc->createElement("title");
-	//$feedTitle->setAttribute("xml:lang", "de");
-	if ($type == 'SERVICE') {
-		$feedTitleText = $feedDoc->createTextNode("INSPIRE Download Service Feed für  ".$ressourceTitle);
-	} else { //DATASET
-		$feedTitleText = $feedDoc->createTextNode("INSPIRE Datensatz Feed für ".$ressourceTitle);
-	}
-	$feedTitle->appendChild($feedTitleText);
-	$feed->appendChild($feedTitle);
-	//feed subtitle - 5.1.2 / 5.2
-	//<subtitle xml:lang="en">INSPIRE Download Service of organisation XYZ providing a data set for the Hydrography theme</subtitle>
-	//<subtitle>INSPIRE Download Service, of organisation XYZ providing dataset ABC for the Hydrography theme</subtitle>
-	$feedSubTitle = $feedDoc->createElement("subtitle");
-	//$feedSubTitle->setAttribute("xml:lang", "de");
-	if ($type == 'SERVICE') {
-		$feedSubTitleText = $feedDoc->createTextNode("INSPIRE Download Service von ".$departmentMetadata['mb_group_title']."");
-	} else { //DATASET
-		$feedSubTitleText = $feedDoc->createTextNode("INSPIRE Download Service von: ".$departmentMetadata['mb_group_title']." zur Bereitstellung des Datensatzes: ".$ressourceTitle);
-	}
-	//TODO maybe add topic
-	$feedSubTitle->appendChild($feedSubTitleText);
-	$feed->appendChild($feedSubTitle);
-
-	//links
-	//metadata
-
-	//service metadata - 5.1.3 / dataset metadata 5.2.1
-	//<link href="http://xyz.org/metadata" rel="describedby" type="application/vnd.iso.19139+xml"/>
-	$feedLink = $feedDoc->createElement("link");
-	if ($type == 'SERVICE') {
-		if ($generateFrom == 'wfs') {
-			$feedLink->setAttribute("href", $mapbenderPath."php/mod_inspireAtomFeedISOMetadata.php?Id=".$recordId."&outputFormat=iso19139&generateFrom=".$generateFrom."&wfsid=".$wfsId);
-		} else {
-			$feedLink->setAttribute("href", $mapbenderPath."php/mod_inspireAtomFeedISOMetadata.php?Id=".$recordId."&outputFormat=iso19139&generateFrom=".$generateFrom."&layerid=".$layerId);
-		}
-		
-		
-	} else { //DATASET
-		$feedLink->setAttribute("href", $mapbenderPath."php/mod_dataISOMetadata.php?id=".$mapbenderMetadata[$m]->metadata_uuid."&outputFormat=iso19139");
-	}
-	$feedLink->setAttribute("rel", "describedby");
-	$feedLink->setAttribute("type", "application/vnd.iso.19139+xml");
-	//$feedLink->setAttribute("title", "Metadaten");
-	//$feedLink->setAttribute("hreflang", "de");
-	$feed->appendChild($feedLink);
-
-	//self reference - 5.1.4 / 5.2
-	if ($type == 'SERVICE') {
-		$selfReference = $mapbenderPath."..".$_SERVER['SCRIPT_NAME']."?ID=".$recordId."&type=SERVICE&generatefrom=".$generateFrom;
-	} else { //DATASET
-		$selfReference = $mapbenderPath."..".$_SERVER['SCRIPT_NAME']."?ID=".$recordId."&type=DATASET&generatefrom=".$generateFrom;
-		switch($generateFrom) {
-			case "wmslayer":
-				$selfReference .= "&layerid=".$mapbenderMetadata[$m]->layer_id;
-			break;
-			case "wfs":
-				$selfReference .= "&wfsid=".$mapbenderMetadata[$m]->wfs_id;
-			break;
-		}
-	}
-
-	//<link href="http://xyz.org/data" rel="self" type="application/atom+xml" hreflang="en" title="This document"/>
-	$feedLink = $feedDoc->createElement("link");
-	$feedLink->setAttribute("href", $selfReference);
-	$feedLink->setAttribute("rel", "self");
-	$feedLink->setAttribute("type", "application/atom+xml");
-	$feedLink->setAttribute("hreflang", "de");
-	$feedLink->setAttribute("title", "Selbstreferenz");
-	$feed->appendChild($feedLink);
-	
-	//opensearch descriptionlink 5.1.5
-	if ($type == 'SERVICE') {
-		$feedLink = $feedDoc->createElement("link");
-		$feedLink->setAttribute("href", $mapbenderPath."..".$_SERVER['SCRIPT_NAME']."?id=".$recordId."&type=".$type."&generateFrom=".$generateFrom."&wfsid=".$wfsId."&layerid=".$layerId."&getopensearch=true");
-		$feedLink->setAttribute("rel", "search");
-		$feedLink->setAttribute("type", "application/opensearchdescription+xml");
-		//$feedLink->setAttribute("hreflang", "de");
-		$feedLink->setAttribute("title", "Open Search Beschreibung des INSPIRE Download Dienstes für den Datensatz ".$ressourceTitle);
-		$feed->appendChild($feedLink);
-	} else { //5.2.2
-
-	//description of datatypes - if given??? What todo when there is no description available - some html page have to be referenced?
-		$feedLink = $feedDoc->createElement("link");
-		$feedLink->setAttribute("href", $mapbenderPath."php/mod_showMetadata.php?languageCode=de&resource=layer&layout=tabs&id=".$recordId); //TODO show metadata in form of html content - switch for each type
-		$feedLink->setAttribute("rel", "describedby");
-		$feedLink->setAttribute("type", "text/html");
-		$feedLink->setAttribute("hreflang", "de");
-		$feedLink->setAttribute("title", "Nähere Beschreibung des Datensatzes");
-		$feed->appendChild($feedLink);
-	}
-	//5.1.6 - 5.1.7
-	//other -- not needed cause only one language is defined
-	//<link href="http://xyz.org/data/de" rel="alternate" type="application/atom+xml" hreflang="de" title="The download service information in German"/>
-	//<link href="http://xyz.org/data/index.html" rel="alternate" type="text/html" hreflang="en" title="An HTML version of this document"/>
-	//<link href="http://xyz.org/data/index.de.html" rel="alternate" type="text/html" hreflang="de"	title="An HTML version of this document in German"/>
-	
-	//<!-- identifier -->
-	//<id>http://xyz.org/data</id> - also self reference - see 5.1.8 on page 39 of INSPIRE GD for Download Services V 3.0
-	// and 5.2.1
-	if ($type == 'SERVICE') {
-		$feedId = $feedDoc->createElement("id");
-		$feedIdText = $feedDoc->createTextNode($selfReference);
-		$feedId->appendChild($feedIdText);
-		$feed->appendChild($feedId);
-	} else { //use inspire resource identifier?
-		$feedId = $feedDoc->createElement("id");
-		$feedIdText = $feedDoc->createTextNode($selfReference);
-		$feedId->appendChild($feedIdText);
-		$feed->appendChild($feedId);
-	}
-	//<!-- rights, access restrictions -->
-	//<rights>Copyright (c) 2011, XYZ; all rights reserved</rights> -- see 5.1.9 on page 39 of INSPIRE GD for Download Services V 3.0 - only accessconstraints should be used
-	$feedRights = $feedDoc->createElement("rights");
-	$feedRightsText = $feedDoc->createTextNode($mapbenderMetadata[$m]->accessconstraints);
-	$feedRights->appendChild($feedRightsText);
-	$feed->appendChild($feedRights);
-
-	//<!-- date/time of last update of feed--> -- see 5.1.10 on page 40 of INSPIRE GD for Download Services V 3.0 - maybe date of metadata should be used - first we use current date!
-	//<updated>2011-09-24T13:45:03Z</updated>
-	$feedUpdated = $feedDoc->createElement("updated");
-	$feedUpdatedText = $feedDoc->createTextNode(date(DATE_ATOM,time()));
-	$feedUpdated->appendChild($feedUpdatedText);
-	$feed->appendChild($feedUpdated);
-
-	//<!-- author info --> 5.1.11 
-	//<author>
-	//	<name>John Doe</name>
-	//	<email>doe at xyz.org</email>
-	//</author>
-	$feedAuthor = $feedDoc->createElement("author");
-	$feedAuthorName = $feedDoc->createElement("name");
-	$feedAuthorName->appendChild($feedDoc->createTextNode($departmentMetadata["mb_group_title"]));
-	$feedAuthorEmail = $feedDoc->createElement("email");
-	$feedAuthorEmail->appendChild($feedDoc->createTextNode($departmentMetadata["mb_group_email"]));
-	$feedAuthor->appendChild($feedAuthorName);
-	$feedAuthor->appendChild($feedAuthorEmail);
-	$feed->appendChild($feedAuthor);
-	
-	//<!-- pre-defined dataset - a entry for each pre-defined dataset - in the case of dataURL only one entry is used! -->
-	//if dataurl not given and a raster wms is defined - calculate the number of entries
-	if ($type == 'DATASET' && $generateFrom == "wmslayer") {
-		$numberOfEntries = 1; //only one entry with many links!!
-		//calculate number of entries and the bboxes
-		if ($mapbenderMetadata[$m]->spatial_res_type != 'groundDistance' & $mapbenderMetadata[$m]->spatial_res_type != 'scaleDenominator') {
-			echo "<error>WMS footprints cannot be calculated, cause kind of resolution is not given.</error>";
-		} else {
-			if (!is_int((integer)$mapbenderMetadata[$m]->spatial_res_value)) {
-				echo "<error>WMS footprints cannot be calculated, cause resolution is no integer.</error>";
-			} else {
-				$maxImageSize = (integer)$mapbenderMetadata[$m]->wms_max_imagesize;
-				//calculate the bboxes
-				//transform layer_bbox to mb_metadata epsg
-				/*$georssPolygon = $mapbenderMetadata["minx"]." ".$mapbenderMetadata["miny"]." ".$mapbenderMetadata["maxx"]." ".$mapbenderMetadata["miny"]." ";
-				$georssPolygon .= $mapbenderMetadata["maxx"]." ".$mapbenderMetadata["maxy"]." ".$mapbenderMetadata["minx"]." ".$mapbenderMetadata["maxy"]." ";
-				$georssPolygon .= $mapbenderMetadata["minx"]." ".$mapbenderMetadata["miny"];
-				echo $georssPolygon;*/
-				//TODO: check if epsg, and bbox are filled correctly!
-
-				$sqlMinx = "SELECT X(transform(GeometryFromText('POINT(".$mapbenderMetadata[$m]->minx." ".$mapbenderMetadata[$m]->miny.")',4326),".$epsgId.")) as minx";
-				$resMinx = db_query($sqlMinx);
-				$minx = floatval(db_result($resMinx,0,"minx"));
-			
-				$sqlMiny = "SELECT Y(transform(GeometryFromText('POINT(".$mapbenderMetadata[$m]->minx." ".$mapbenderMetadata[$m]->miny.")',4326),".$epsgId.")) as miny";
-				$resMiny = db_query($sqlMiny);
-				$miny = floatval(db_result($resMiny,0,"miny"));
-				
-				$sqlMaxx = "SELECT X(transform(GeometryFromText('POINT(".$mapbenderMetadata[$m]->maxx." ".$mapbenderMetadata[$m]->maxy.")',4326),".$epsgId.")) as maxx";
-				$resMaxx = db_query($sqlMaxx);
-				$maxx = floatval(db_result($resMaxx,0,"maxx"));
-				
-				$sqlMaxy = "SELECT Y(transform(GeometryFromText('POINT(".$mapbenderMetadata[$m]->maxx." ".$mapbenderMetadata[$m]->maxy.")',4326),".$epsgId.")) as maxy";
-				$resMaxy = db_query($sqlMaxy);
-				$maxy = floatval(db_result($resMaxy,0,"maxy"));
-
-	
-				$diffX = $maxx - $minx; //in m
-				$diffY = $maxy - $miny;	//in m
-				//$e = new mb_exception($diffX);
-				//echo $diffX .":". $diffY;
-				//calculate target number of pixels for x and y
-				switch ($mapbenderMetadata[$m]->spatial_res_type) {
-					case "scaleDenominator":
-						//transform to pixel
-						$diffXPx = $diffX / (float)$mapbenderMetadata[$m]->spatial_res_value / (float)0.0254 * floatval($imageResolution);
-						$diffYPx = $diffY / (float)$mapbenderMetadata[$m]->spatial_res_value / (float)0.0254 * floatval($imageResolution);
-					break;
-					case "groundDistance":
-						//transform to pixel
-						$diffXPx = $diffX / floatval($mapbenderMetadata[$m]->spatial_res_value);
-						$diffYPx = $diffY / floatval($mapbenderMetadata[$m]->spatial_res_value);
-						
-					break;
-				}
-				$e = new mb_notice($diffXPx.":".$diffYPx);
-				
-				$nRows = ceil($diffYPx / floatval($maxImageSize));
-				$nCols = ceil($diffXPx / floatval($maxImageSize));
-				$e = new mb_notice($nRows.":".$nCols);
-				$bboxWms = array();
-				$bboxWmsWGS84 = array();
-				/*echo $diffXPx.":".$diffYPx.",";
-				echo $nRows.":".$nCols.",";
-				echo $minx.":".$miny.",";
-				echo $maxx.":".$maxy.",";*/
-				$incX = $diffX / ($diffXPx / floatval($maxImageSize));
-				$incY = $diffY / ($diffYPx / floatval($maxImageSize));
-				for ($j = 0; $j < $nRows; $j++) {
-					for ($k = 0; $k < $nCols; $k++) {
-						//echo "j: ".$k.",k: ".$j;
-						$minxWms = $minx + $k * $incX;
-						//echo "minxWms: ". $minxWms .",";
-						$minyWms = $miny + $j * $incY;
-						//echo "minyWms: ". $minyWms .",";
-						$maxxWms = $minx + ($k+1) * $incX;
-						//echo "maxxWms: ". $maxxWms .",";
-						$maxyWms = $miny + ($j+1) * $incY;
-						//echo "maxyWms: ". $maxyWms .",";
-						$bboxWms[] = $minxWms.",".$minyWms.",".$maxxWms.",".$maxyWms;
-						$bboxWmsWGS84[] = transformBbox($minxWms.",".$minyWms.",".$maxxWms.",".$maxyWms,intval($epsgId),4326);
-						
-					}
-				}
-			}
-		}
-		//generate wgs84 bbox again - transform it from projected coords
-		$numberOfTiles = count($bboxWms);
-	} else {
-		if ($type == 'DATASET' && $generateFrom == "wfs") {
-			$numberOfEntries = 1;
-			//generate Download Links for the different featuretypes
-			//first calculate the number of tiles for the different featureTypes
-			$featureHits = array();
-			$getFeatureLink = array();
-			$featureTypeName = array();
-			$featureTypeBbox = array();
-			$featureTypeBboxWGS84 = array();
-			//For each featuretype which was found! Maybe more than one!
-			for ($i = 0; $i < $countRessource; $i++) {
-				//overwrite feature count with information from database
-				$maxFeatureCount = (integer)$mapbenderMetadata[$i]->wfs_max_features;
-				
-				$crs = $mapbenderMetadata[$i]->metadata_ref_system;
-				//use featuretype ref system?
-				$crs = $mapbenderMetadata[$i]->featuretype_srs;
-				//log ref system of metadata - is this a good idea?
-				$e = new mb_exception("Ref system of featuretype ".$mapbenderMetadata[$i]->featuretype_name." : ".$crs);
-				//
-				//handle other definitions of epsg ids
-				//urn:ogc:def:crs:EPSG::31467
-				//Handle CRS
-				//alter all to uppercase 
-				$crsUpper = str_replace("epsg","EPSG",$crs);
-				//Exchange :: with :
-				$crsUpper = str_replace("::",":",$crsUpper);
-				$epsgId = explode('EPSG:',$crsUpper);
-				$epsgId = end($epsgId);
-				//check if order have to be altered
-				if (strpos($crsUpper,'urn') !== false) {
-					$e = new mb_exception("urn - found");
-					//check if axis order should be changed 
-					if (check_epsg_wms_13($epsgId)) {
-						//alter order of axis for 4326
-						//$alterAxisOrder = true;
-					} else {
-						$alterAxisOrder = false;	
-					}
-				}
-				$e = new mb_notice("Epsg id of featuretype ".$mapbenderMetadata[$i]->featuretype_name." : ".$epsgId);
-				if (!($mapbenderMetadata[$i]->wfs_version) || $mapbenderMetadata[$i]->wfs_version == '' || $mapbenderMetadata[$i]->wfs_version == '1.0.0') {
-				return "<error>Version of WFS : ".$mapbenderMetadata[$i]->wfs_version." is not supported to generate inspire download services for predefined datasets!</error>";
-			}
-				//define request to get number of hits per featuretype
-				$gHLink = $mapbenderMetadata[$i]->wfs_getfeature."SERVICE=WFS&REQUEST=GetFeature&VERSION=";
-				$gHLink .= $mapbenderMetadata[$i]->wfs_version."&typeName=";
-				$gHLink .= $mapbenderMetadata[$i]->featuretype_name."&resultType=hits";
-				$startRequestTime = time();
-				$hitConnector = new connector($gHLink);
-				$hitXml = $hitConnector->file;
-				$e = new mb_notice($gHLink);
-				$endRequestTime = time();
-				$diffTime = $endRequestTime-$startRequestTime;
-				$e = new mb_notice("Time for counting objects of featuretype ".$mapbenderMetadata[$i]->featuretype_name." : ".$diffTime." seconds!");
-				//parse hits
-				try {
-					$featureTypeHits =  new SimpleXMLElement($hitXml);
-					if ($featureTypeHits == false) {
-						throw new Exception('Cannot parse WFS number of hits request!');
-					}
-				}
-				catch (Exception $e) {
-    					$e = new mb_exception($e->getMessage());
-				}
-				$hits = $featureTypeHits->xpath('/wfs:FeatureCollection/@numberOfFeatures');
-				$featureHits[$i] = (integer)$hits[0];
-				$e = new mb_notice($featureHits[$i]." hits for featuretype ".$mapbenderMetadata[$i]->featuretype_name);
-				//calculate further bboxes if the # of hits extents some value
-				//minimum number of single tiles:
-				$countTiles = ceil($featureHits[$i]/$maxFeatureCount);
-				//calculate number of rows and columns from x / y ratio
-				if ($epsgId == '4326' && $alterAxisOrder) {
-					//no transformation needed only change order
-					$minx = $mapbenderMetadata[$i]->miny;
-					$miny = $mapbenderMetadata[$i]->minx;
-					$maxx = $mapbenderMetadata[$i]->maxy;
-					$maxy = $mapbenderMetadata[$i]->maxx;
-				} else {
-					//no transformation needed normal order
-					if ($epsgId == '4326') {
-						$minx = $mapbenderMetadata[$i]->minx;
-						$miny = $mapbenderMetadata[$i]->miny;
-						$maxx = $mapbenderMetadata[$i]->maxx;
-						$maxy = $mapbenderMetadata[$i]->maxy;
-					} else {
-						//transformation needed and axis order changed
-						if ($alterAxisOrder) {
-							$e = new mb_exception("axis_order_altered");
-							$minxI = $mapbenderMetadata[$i]->miny;
-							$minyI = $mapbenderMetadata[$i]->minx;
-							$maxxI = $mapbenderMetadata[$i]->maxy;
-							$maxyI = $mapbenderMetadata[$i]->maxx;
-							$mapbenderMetadata[$i]->miny = $minyI;
-							$mapbenderMetadata[$i]->minx = $minxI;
-							$mapbenderMetadata[$i]->maxy = $maxyI;
-							$mapbenderMetadata[$i]->maxx = $maxxI;
-						}
-						$sqlMinx = "SELECT X(transform(GeometryFromText('POINT(".$mapbenderMetadata[$i]->minx." ".$mapbenderMetadata[$i]->miny.")',4326),".$epsgId.")) as minx";
-						$resMinx = db_query($sqlMinx);
-						$minx = floatval(db_result($resMinx,0,"minx"));
-				
-						$sqlMiny = "SELECT Y(transform(GeometryFromText('POINT(".$mapbenderMetadata[$i]->minx." ".$mapbenderMetadata[$i]->miny.")',4326),".$epsgId.")) as miny";
-						$resMiny = db_query($sqlMiny);
-						$miny = floatval(db_result($resMiny,0,"miny"));
-				
-						$sqlMaxx = "SELECT X(transform(GeometryFromText('POINT(".$mapbenderMetadata[$i]->maxx." ".$mapbenderMetadata[$i]->maxy.")',4326),".$epsgId.")) as maxx";
-						$resMaxx = db_query($sqlMaxx);
-						$maxx = floatval(db_result($resMaxx,0,"maxx"));
-				
-						$sqlMaxy = "SELECT Y(transform(GeometryFromText('POINT(".$mapbenderMetadata[$i]->maxx." ".$mapbenderMetadata[$i]->maxy.")',4326),".$epsgId.")) as maxy";
-						$resMaxy = db_query($sqlMaxy);
-						$maxy = floatval(db_result($resMaxy,0,"maxy"));
-					}
-				}		
-				//only calculate new boxes if countTiles > 1
-				if ($countTiles > 1) {
-					$diffX = $maxx - $minx; //in m - depends on given epsg code
-					$diffY = $maxy - $miny;	//in m
-					$width = ceil(sqrt(($diffX * $diffY) / $countTiles));
-					$nRows = ceil($diffY / $width);
-					$nCols = ceil($diffX / $width);
-					$bboxWfs = array();
-					$countBbox = 0;
-					for ($j = 0; $j < $nRows; $j++) {
-						for ($k = 0; $k < $nCols; $k++) {
-							//echo "j: ".$k.",k: ".$j;
-							$minxWfs = $minx + $k * $width;
-							//echo "minxWms: ". $minxWms .",";
-							$minyWfs = $miny + $j * $width;
-							//echo "minyWms: ". $minyWms .",";
-							$maxxWfs = $minx + ($k+1) * $width;
-							//echo "maxxWms: ". $maxxWms .",";
-							$maxyWfs = $miny + ($j+1) * $width;
-							//echo "maxyWms: ". $maxyWms .",";
-							$bboxWfs[$mapbenderMetadata[$i]->featuretype_name][$countBbox] = $minxWfs.",".$minyWfs.",".$maxxWfs.",".$maxyWfs;
-							//transform bbox back to geographic coordinates
-							$lonLatBbox = transformBbox($minxWfs.",".$minyWfs.",".$maxxWfs.",".$maxyWfs,intval($epsgId),4326);
-							$lonLatBbox = explode(',',$lonLatBbox);
-							//georss needs latitude longitude
-							$featureTypeBboxWGS84[] = $lonLatBbox[1].",".$lonLatBbox[0].",".$lonLatBbox[3].",".$lonLatBbox[2];
-							//switch bbox to lat/lon cause inspire demands ist
-							$countBbox++;	
-						}
-					}
-				} else {
-					//only normal extent used
-					$bboxWfs[$mapbenderMetadata[$i]->featuretype_name][0] = $minx.",".$miny.",".$maxx.",".$maxy;
-					//transform bbox back to geographic coordinates
-					$lonLatBbox = transformBbox($minx.",".$miny.",".$maxx.",".$maxy,intval($epsgId),4326);
-					$lonLatBbox = explode(',',$lonLatBbox);
-					//georss needs latitude longitude
-					$featureTypeBboxWGS84[] = $lonLatBbox[1].",".$lonLatBbox[0].",".$lonLatBbox[3].",".$lonLatBbox[2];		
-				}
-				//$getFeatureLink = array();
-				/*TODO for ($i = 0; $i < $countRessource-1; $i++) {
-					$gFLink = $mapbenderMetadata[$i]->wfs_getfeature."SERVICE=WFS&REQUEST=GetFeature&VERSION=";
-					$gFLink .= $mapbenderMetadata[$i]->wfs_version."&typeName=".$mapbenderMetadata[$i]->featuretype_name;
-					$gFLink .= "&maxFeatures=".$featureHits[$i]."&srsName=".$mapbenderMetadata[$i]->featuretype_srs;
-					$getFeatureLink[] = $gFLink;
-				}*/
-				//echo count($bboxWfs[$mapbenderMetadata[$i]->featuretype_name]);
-				for ($l = 0; $l < count($bboxWfs[$mapbenderMetadata[$i]->featuretype_name]); $l++) {
-					//generate bbox Filter:
-					//<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc"><ogc:BBOX><gml:Box xmlns:gml="http://www.opengis.net/gml" srsName="EPSG:3785"><gml:coordinates decimal="." cs="," ts=" ">-8033496.4863128,5677373.0653376 -7988551.5136872,5718801.9346624</gml:coordinates></gml:Box></ogc:BBOX></ogc:Filter>
-
-					$bboxFilter = '<Filter xmlns:gml="http://www.opengis.net/gml"><BBOX>';
-					//$bboxFilter .= '<gml:Box srsName="EPSG:'.$epsgId[1].'"';
-					$bboxFilter .= '<ogc:PropertyName>the_geom</ogc:PropertyName>';
-					$bboxFilter .= '<gml:Box>';
-					$bboxFilter .= '<gml:coordinates>';
-					$currentBbox = explode(',',$bboxWfs[$mapbenderMetadata[$i]->featuretype_name][$l]);
-					
-					$e = new mb_notice("Bounding box ".$l." : ".$l.$bboxWfs[$mapbenderMetadata[$i]->featuretype_name][$l]);
-					$bboxFilter .= $currentBbox[0].','.$currentBbox[1].' '.$currentBbox[2].','.$currentBbox[3];
-					$bboxFilter .= '</gml:coordinates></gml:Box></BBOX></Filter>';
-					$bboxFilter = urlencode($bboxFilter);
-
-					$gFLink = $mapbenderMetadata[$i]->wfs_getfeature."SERVICE=WFS&REQUEST=GetFeature&VERSION=";
-					$gFLink .= $mapbenderMetadata[$i]->wfs_version."&typeName=".$mapbenderMetadata[$i]->featuretype_name;
-					$gFLink .= "&maxFeatures=".$featureHits[$i]."&srsName=".$mapbenderMetadata[$i]->featuretype_srs;
-					$gFLink .= "&FILTER=".$bboxFilter;
-					$getFeatureLink[] = $gFLink;
-					$featureTypeName[] = $mapbenderMetadata[$i]->featuretype_name;
-					$featureTypeBbox[] = $bboxWfs[$mapbenderMetadata[$i]->featuretype_name][$l];
-					
-				}
-				//$numberOfTiles = count($bboxWfs[$mapbenderMetadata[$i]->featuretype_name]);
-				//$e = new mb_exception("Number of tiles for wfs predefined download service: ".$numberOfTiles);
-			}
-			
-		} else { //type SERVICE was set - generate one entry for each coupled resource - they are distinguished by names, titles, ids, bbox, type of download! 
-			$numberOfEntries = count($mapbenderMetadata);
-		}
-	}
-	$e = new mb_notice("Count of bboxes: ".$numberOfEntries);
-	for ($i = 0; $i < $numberOfEntries; $i++) {
-		//<entry> 5.1.12 / 5.2.3
-		$feedEntry = $feedDoc->createElement("entry");
-		//<!-- title for pre-defined dataset -->
-		//<title xml:lang="en">Water network ABC</title>
-		//<title>Water network in CRS EPSG:4258 (GML)</title>
-		$feedEntryTitle = $feedDoc->createElement("title");
-		//$feedEntryTitle->setAttribute("xml:lang", "de");
-		if ($type == 'SERVICE') {
-			//generate one entry for each possible download variant
-			switch ($mapbenderMetadata[$i]->origin) {
-				case "wmslayer":
-					$ressourceServiceFeedEntryTitle = $ressourceTitle." - generiert aus WMS Datenquelle";
-				break;
-				case "dataurl":
-					$ressourceServiceFeedEntryTitle = $ressourceTitle." - generiert aus WMS Capabilities dataURL Element";
-				break;
-				case "wfs":
-					$ressourceServiceFeedEntryTitle = $ressourceTitle." - generiert über WFS GetFeature Aufrufe";
-				break;
-			}
-			$feedEntryTitle->appendChild($feedDoc->createTextNode("Feed Entry fuer: ".$ressourceServiceFeedEntryTitle)); //TODO: maybe add some category?
-		} else {
-			switch ($mapbenderMetadata[$i]->origin) {
-				case "wmslayer":
-					$ressourceDataFeedEntryTitle = $ressourceTitle." - generiert aus WMS Datenquelle";
-				break;
-				case "dataurl":
-					$ressourceDataFeedEntryTitle = $ressourceTitle." - generiert aus WMS Capabilities dataURL Element";
-				break;
-				case "wfs":
-					$ressourceDataFeedEntryTitle = $ressourceTitle." - generiert über WFS GetFeature Aufrufe";
-				break;
-			}
-			$feedEntryTitle->appendChild($feedDoc->createTextNode($ressourceDataFeedEntryTitle. " im CRS ".$mapbenderMetadata[$i]->metadata_ref_system." und Format ".$mapbenderMetadata[$i]->format)); //TODO: maybe add some category?	
-		}
-		$feedEntry->appendChild($feedEntryTitle);
-
-		/*For Service: <!—Spatial Dataset Unique Resourse Identifier for this dataset-->
-		<inspire_dls:spatial_dataset_identifier_code>wn_id1</inspire_dls:spatial_dataset_identifier_code>
-		<inspire_dls:spatial_dataset_identifier_namespace>http://xyz.org/</inspire_dls:spatial_dataset_identifier_namespace>
-		<!-- link to dataset metadata record -->
-		<link href="http://xyz.org/metadata/abcISO19139.xml" rel="describedby" type="application/vnd.iso.19139+xml"
-		<!-- link to "Dataset Feed" for pre-defined dataset -->
-		<link rel="alternate" href="http://xyz.org/data/waternetwork_feed.xml" type="application/atom+xml" hreflang="en" title="Feed containing the pre-defined waternetwork dataset (in one or more downloadable formats)"/>
-		<!-- identifier for "Dataset Feed" for pre-defined dataset -->
-		<id>http://xyz.org/data/waternetwork_feed.xml</id>*/
-
-		//or link to dataset 5.2.3
-
-		//<link rel="alternate" href="http://xyz.org/data/abc/waternetwork_WGS84.shp" type="application/x-shp" hreflang="en" title="Water Network encoded as a ShapeFile in WGS84geographic coordinates (http://www.opengis.net/def/crs/OGC/1.3/CRS84)"/>
-			
-		$datasetFeedLink = $mapbenderPath."..".$_SERVER['SCRIPT_NAME']."?id=".$recordId."&type=DATASET&generatefrom=".$mapbenderMetadata[$i]->origin;
-		switch($mapbenderMetadata[$i]->origin) {
-			case "wmslayer":
-				$datasetFeedLink .= "&layerid=".$mapbenderMetadata[$i]->layer_id;
-			break;
-			case "wfs":
-				$datasetFeedLink .= "&wfsid=".$mapbenderMetadata[$i]->wfs_id;
-			break;
-		}
-		$datasetLink = $mapbenderMetadata[$i]->datalink_url;
-		
-		if ($type == 'SERVICE') {
-			//insert resource identifier for service / dataset coupling!!
-			$feedEntryIdCode = $feedDoc->createElement("inspire_dls:spatial_dataset_identifier_code");
-			$feedEntryIdCodeText = $feedDoc->createTextNode($mapbenderMetadata[$i]->datasetid);
-			$feedEntryIdCode->appendChild($feedEntryIdCodeText);
-			$feedEntry->appendChild($feedEntryIdCode);
-
-			$feedEntryIdNamespace = $feedDoc->createElement("inspire_dls:spatial_dataset_identifier_namespace");
-			$feedEntryIdNamespaceText = $feedDoc->createTextNode($mapbenderMetadata[$i]->datasetid_codespace);
-			$feedEntryIdNamespace->appendChild($feedEntryIdNamespaceText);
-			$feedEntry->appendChild($feedEntryIdNamespace);
-
-
-			$metadataLink = $mapbenderPath."php/mod_dataISOMetadata.php?outputFormat=iso19139&id=".$mapbenderMetadata[$m]->metadata_uuid;
-			$feedEntryMetadataLink = $feedDoc->createElement("link");
-			$feedEntryMetadataLink->setAttribute("href",$metadataLink);
-			$feedEntryMetadataLink->setAttribute("rel", "describedby");
-			$feedEntryMetadataLink->setAttribute("type", "application/vnd.iso.19139+xml");
-			$feedEntry->appendChild($feedEntryMetadataLink);
-
-			$furtherLink = $datasetFeedLink;
-			$furtherLinkType = "application/atom+xml";
-			$furtherLinkTitle = "Feed für den pre-defined Datensatz ".$ressourceTitle;
-			$feedEntryLink = $feedDoc->createElement("link");
-			$feedEntryLink->setAttribute("rel", "alternate");
-			$feedEntryLink->setAttribute("href", $furtherLink);
-			$feedEntryLink->setAttribute("type", $furtherLinkType);
-			$feedEntryLink->setAttribute("hreflang", "de");
-			$feedEntryLink->setAttribute("title", $furtherLinkTitle);
-			$feedEntry->appendChild($feedEntryLink);
-		} else { //DATASET
-			switch ($generateFrom) {
-				case "dataurl":
-					$furtherLink = $datasetLink;
-					$furtherLinkType = $mapbenderMetadata[$i]->datalink_format;
-					$furtherLinkTitle = $ressourceTitle." im CRS ".$mapbenderMetadata[$i]->metadata_ref_system."(".$mapbenderMetadata[$m]->format.")";
-					//generate content link 
-					$feedEntryLink = $feedDoc->createElement("link");
-					$feedEntryLink->setAttribute("rel", "section");
-					$feedEntryLink->setAttribute("href", $furtherLink);
-					$feedEntryLink->setAttribute("type", $furtherLinkType);
-					$feedEntryLink->setAttribute("hreflang", "de");
-					$feedEntryLink->setAttribute("title", $furtherLinkTitle);
-					//$feedEntryLink->setAttribute("bbox", $newBox);
-					$feedEntry->appendChild($feedEntryLink);	
-				break;
-				case "wmslayer":
-					//example:
-					//http://localhost/cgi-bin/mapserv?map=/data/umn/geoportal/karte_rp/testinspiredownload.map&VERSION=1.1.1&REQUEST=GetMap&SERVICE=WMS&LAYERS=inspirewms&STYLES=&SRS=EPSG:4326&BBOX=6.92134,50.130465,6.93241,50.141535000000005&WIDTH=200&HEIGHT=200&FORMAT=image/png&BGCOLOR=0xffffff&TRANSPARENT=TRUE&EXCEPTIONS=application/vnd.ogc.se_inimage
-					//generate further links, one for each tile which was computed before
-					$furtherLink = array();
-					$furtherLinkType = array();
-					$furtherLinkTitle = array();
-					$furtherLinkBbox = array();
-					if ($numberOfTiles > 1) {
-						$feedEntryContent = $feedDoc->createElement("content");
-						$feedEntryContentText = $feedDoc->createTextNode("Datensatz wird in  in ".$numberOfTiles." einzelnen Teilen ausgeliefert.");
-						$feedEntryContent->appendChild($feedEntryContentText);
-						$feedEntry->appendChild($feedEntryContent);
-					}
-					for ($m = 0; $m < $numberOfTiles; $m++ ) {
-						//check if proxy is used, if so exchange urls with proxy urls
-						if ($mapbenderMetadata[$i]->wms_owsproxy <> NULL && $mapbenderMetadata[$i]->wms_getmap != '') {
-							$getMapUrl = str_replace(":80","",HTTP_AUTH_PROXY)."/".$mapbenderMetadata[$i]->layer_id."?";
-							//TODO check why :80 is part of the http_host - maybe apache rewrite
-						} else {
-							$getMapUrl = $mapbenderMetadata[$i]->wms_getmap;
-						}
-						$furtherLink[$m] = $getMapUrl."REQUEST=GetMap&VERSION=".$mapbenderMetadata[$i]->wms_version."&SERVICE=WMS&LAYERS=".$mapbenderMetadata[$i]->layer_name;
-						$furtherLink[$m] .= "&STYLES=&SRS=".trim($crs)."&BBOX=".$bboxWms[$m]."&WIDTH=".$maxImageSize."&HEIGHT=".$maxImageSize."&FORMAT=image/tiff&";
-						$furtherLink[$m] .= "BGCOLOR=0xffffff&TRANSPARENT=TRUE&EXCEPTIONS=application/vnd.ogc.se_inimage";
-						$furtherLinkType[$m] = "image/tiff"; //formats from layer_format - geotiff
-						$currentTileIndex = $m+1;
-						$furtherLinkTitle[$m] = $ressourceTitle." im CRS ".$mapbenderMetadata[$i]->metadata_ref_system." - ".$mapbenderMetadata[$i]->format." - Teil ".$currentTileIndex." von ".$numberOfTiles."";
-						//$furtherLinkBbox[$m] = $bboxWms[$m];
-						$furtherLinkBbox[$m] = $bboxWmsWGS84[$m];
-						//exchange lon lat with lat long for georss
-						$newBox = explode(',',$furtherLinkBbox[$m]);
-						//georss needs latitude longitude
-						$newBox = $newBox[1].",".$newBox[0].",".$newBox[3].",".$newBox[2];
-						//generate content link 
-						$feedEntryLink = $feedDoc->createElement("link");
-						if ($numberOfTiles > 1) {
-							$feedEntryLink->setAttribute("rel", "section");
-						} else {
-							$feedEntryLink->setAttribute("rel", "alternate");
-						}
-						$feedEntryLink->setAttribute("href", $furtherLink[$m]);
-						$feedEntryLink->setAttribute("type", $furtherLinkType[$m]);
-						$feedEntryLink->setAttribute("hreflang", "de");
-						$feedEntryLink->setAttribute("title", $furtherLinkTitle[$m]);
-						$feedEntryLink->setAttribute("bbox", $newBox);
-						$feedEntry->appendChild($feedEntryLink);	
-					}
-				break;
-				case "wfs":
-					//example:
-					//http://localhost/cgi-bin/mapserv?map=/data/umn/geoportal/karte_rp/testinspiredownload.map&VERSION=1.1.1&REQUEST=GetMap&SERVICE=WMS&LAYERS=inspirewms&STYLES=&SRS=EPSG:4326&BBOX=6.92134,50.130465,6.93241,50.141535000000005&WIDTH=200&HEIGHT=200&FORMAT=image/png&BGCOLOR=0xffffff&TRANSPARENT=TRUE&EXCEPTIONS=application/vnd.ogc.se_inimage
-					$furtherLink = array();
-					$furtherLinkType = array();
-					$furtherLinkTitle = array();
-					$furtherLinkBbox = array();
-					//loop for each featuretype
-					$e = new mb_notice("Count of wfs links: ".count($getFeatureLink));
-					if (count($getFeatureLink) > 1) {
-						$feedEntryContent = $feedDoc->createElement("content");
-						$feedEntryContentText = $feedDoc->createTextNode("Datensatz wird in  in ".count($getFeatureLink)." einzelnen Teilen ausgeliefert.");
-						$feedEntryContent->appendChild($feedEntryContentText);
-						$feedEntry->appendChild($feedEntryContent);
-					}
-					for ($m = 0; $m < count($getFeatureLink); $m++ ) {
-						$furtherLink[$m] = $getFeatureLink[$m];//was computed before
-						//discard filter if only one request is needed - problem with epsg codes? TODO solve problem
-						if (count($getFeatureLink) == 1) {
-							$splittedLink = explode('&FILTER=',$furtherLink[$m]);
-							$furtherLink[$m] = $splittedLink[0];
-						}
-						$furtherLinkType[$m] = "application/gml+xml";//inspire media type registry http://inspire.ec.europa.eu/media-types/
-						$currentIndex = $m+1;
-						$furtherLinkTitle[$m] = $ressourceTitle." im CRS ".$mapbenderMetadata[$i]->metadata_ref_system." - ".$mapbenderMetadata[$i]->format." - Teil ".$currentIndex." von ".count($getFeatureLink)."";//TODO: set right format for wfs version!
-						//$furtherLinkBbox[$m] = $featureTypeBbox[$m];
-						$furtherLinkBbox[$m] = $featureTypeBboxWGS84[$m];
-						//generate content links
-						$feedEntryLink = $feedDoc->createElement("link");
-						if (count($getFeatureLink) > 1) {
-							$feedEntryLink->setAttribute("rel", "section");
-						} else {
-							$feedEntryLink->setAttribute("rel", "alternate");
-						}
-						$feedEntryLink->setAttribute("href", $furtherLink[$m]);
-						$feedEntryLink->setAttribute("type", $furtherLinkType[$m]);
-						$feedEntryLink->setAttribute("hreflang", "de");
-						$feedEntryLink->setAttribute("title", $furtherLinkTitle[$m]);
-						$feedEntryLink->setAttribute("bbox", $furtherLinkBbox[$m]);
-						$feedEntry->appendChild($feedEntryLink);	
-					}
-				break;
-			}
-		}
-		//In the case of dynamically build entries for a raster based wms - not the dataurl but another the dyn ulrs will be used in the next feed
-		//5.1.14 / 5.2
-		//<!-- identifier for pre-defined dataset -->
-		//<id>http://xyz.org/data/waternetwork.gml/id>
-		//insert self reference
-		$feedEntryId = $feedDoc->createElement("id");
-		$feedEntryId->appendChild($feedDoc->createTextNode($datasetFeedLink));
-		$feedEntry->appendChild($feedEntryId);
-
-		//<!-- rights, access restrictions -->
-		//<rights>Copyright (c) 2011, XYZ; all rights reserved</rights> -- see 5.1.9 on page 39 of INSPIRE GD for Download Services V 3.0 - only accessconstraints should be used
-		$feedEntryRights = $feedDoc->createElement("rights");
-		$feedEntryRightsText = $feedDoc->createTextNode($mapbenderMetadata[$i]->accessconstraints);
-		$feedEntryRights->appendChild($feedEntryRightsText);
-		$feedEntry->appendChild($feedEntryRights);
-		
-		//5.1.14 / 5.2  - updated
-		//<!-- last date/time pre-defined dataset was updated -->
-		//<updated>2011-06-14T12:22:09Z</updated>
-		$feedEntryUpdated = $feedDoc->createElement("updated");
-		$feedEntryUpdated->appendChild($feedDoc->createTextNode(date(DATE_ATOM,time())));
-		$feedEntry->appendChild($feedEntryUpdated);
-
-		//5.1.15 / 
-		//<!-- summary -->
-		//<summary>This is the entry for water network ABC Dataset</summary>
-		if ($type == 'SERVICE') {
-			$feedEntrySummary = $feedDoc->createElement("summary");
-			$feedEntrySummary->appendChild($feedDoc->createTextNode("Nähere Beschreibung des Feedinhaltes: ".$ressourceAbstract));
-			$feedEntry->appendChild($feedEntrySummary);
-		}
-
-		//5.1.16 / 5.2?
-		//<!-- optional GeoRSS-Simple bounding box of the pre-defined dataset. Must be lat lon -->
-		//<georss:polygon>47.202 5.755 55.183 5.755 55.183 15.253 47.202 15.253 47.202 5.755</georss:polygon>
-		//TODO: Get this out of mb_metadata! If not given get it from layer bbox - but normally they should be identical!
-		$feedEntryBbox = $feedDoc->createElement("georss:polygon");
-		$e = new mb_notice('mapbender minx: '.$mapbenderMetadata[$i]->minx);
-		$e = new mb_notice('mapbender i: '.$i);
-		$e = new mb_notice('mapbender origin: '.$mapbenderMetadata[$i]->origin);
-		$georssPolygon = $mapbenderMetadata[$i]->miny." ".$mapbenderMetadata[$i]->minx." ".$mapbenderMetadata[$i]->maxy." ".$mapbenderMetadata[$i]->minx." ";
-		$georssPolygon .= $mapbenderMetadata[$i]->maxy." ".$mapbenderMetadata[$i]->maxx." ".$mapbenderMetadata[$i]->miny." ".$mapbenderMetadata[$i]->maxx." ";
-		$georssPolygon .= $mapbenderMetadata[$i]->miny." ".$mapbenderMetadata[$i]->minx;	
-		$feedEntryBbox->appendChild($feedDoc->createTextNode($georssPolygon));
-		$feedEntry->appendChild($feedEntryBbox);
-	
-		//category entry for crs (from mb_metadata) 5.1.17
-		/*<!-- CRSs in which the pre-defined Dataset is available --> <category term="EPSG:25832" scheme="http://www.opengis.net/def/crs/" label="EPSG/0/25832"/> <category term="EPSG:4258" scheme="http://www.opengis.net/def/crs/" label="EPSG/0/4258"/>*/
-		
-		$feedEntryCategory = $feedDoc->createElement("category");
-		$feedEntryCategory->setAttribute("term", "http://www.opengis.net/def/crs/EPSG/".$epsgId);
-		$feedEntryCategory->setAttribute("label", "EPSG/0/".$epsgId);
-		$feedEntry->appendChild($feedEntryCategory);
-
-		//<!-- INSPIRE Spatial Object Types contained in the pre-defined dataset -->
-		//<category term="Watercourse" scheme="http://inspire-registry.jrc.ec.europa.eu/registers/FCD/" label="Watercourse" xml:lang="en"/>
-		//only applicable for inspire conformant datasets!
-		//Generate List of inspire themes of the given layer!
-		/*$sql = "SELECT inspire_category.inspire_category_id, inspire_category.inspire_category_code_en FROM inspire_category, layer_inspire_category WHERE layer_inspire_category.fkey_layer_id=$1 AND layer_inspire_category.fkey_inspire_category_id=inspire_category.inspire_category_id";
-		$v = array((integer)$mapbenderMetadata['layer_id']);
-		$t = array('i');
-		$res = db_prep_query($sql,$v,$t);
-		while ($row = db_fetch_array($res)) {
-			//part for the name of the inspire category
-			$feedEntryCategory = $feedDoc->createElement("category");
-			$feedEntryCategory->setAttribute("term", $row['inspire_category_code_en']);
-			$feedEntryCategory->setAttribute("scheme", "http://www.eionet.europa.eu/gemet/theme_concepts?langcode=en&ns=5&th=".$row['inspire_category_id']);
-			$feedEntryCategory->setAttribute("label", $row['inspire_category_code_en']);
-			$feedEntryCategory->setAttribute("xml:lang", "en");
-			$feedEntry->appendChild($feedEntryCategory);
-		}
-		*/
-		/*$feedEntryCategory = $feedDoc->createElement("category");
-		$feedEntryCategory->setAttribute("term", "Watercourse");
-		$feedEntryCategory->setAttribute("scheme", "http://inspire-registry.jrc.ec.europa.eu/registers/FCD/");
-		$feedEntryCategory->setAttribute("label", "Watercourse");
-		$feedEntryCategory->setAttribute("xml:lang", "en");
-		$feedEntry->appendChild($feedEntryCategory);
-		//<category term="StandingWater" scheme="http://inspire-registry.jrc.ec.europa.eu/registers/FCD/" label="Standing Water" xml:lang="en"/>
-		$feedEntryCategory = $feedDoc->createElement("category");
-		$feedEntryCategory->setAttribute("term", "StandingWater");
-		$feedEntryCategory->setAttribute("scheme", "http://inspire-registry.jrc.ec.europa.eu/registers/FCD/");
-		$feedEntryCategory->setAttribute("label", "Standing Water");
-		$feedEntryCategory->setAttribute("xml:lang", "en");
-		$feedEntry->appendChild($feedEntryCategory);*/
-	//</entry>
-
-		$feed->appendChild($feedEntry);
-	}
-	//}
-	return $feedDoc->saveXML();
-}
-
-
-//function to give away the xml data
-function pushOpenSearch($feedDoc, $recordId, $generateFrom) {
-	header("Content-type: application/opensearchdescription+xml; charset=UTF-8");
-	$xml = generateOpenSearchDescription($feedDoc, $recordId, $generateFrom);
-	echo $xml;
-	die();
-}
-
-//function to give away the xml data
-function pushFeed($feedDoc, $recordId, $generateFrom) {
-	header("Content-type: application/xhtml+xml; charset=UTF-8");
-	$xml = generateFeed($feedDoc, $recordId, $generateFrom);
-	echo $xml;
-	die();
-}
-
-function transformBbox($oldBbox, $fromCRS, $toCRS) {
-	//Transform the given BBOX to $toCRS
-	$arrayBbox = explode(',',$oldBbox);
-	//$e = new mb_exception($oldBbox);
-	//$e = new mb_exception(count($arrayBbox));
-	//$e = new mb_exception($arrayBbox[0]);
-	$sql = "select asewkt(transform(GeometryFromText ( 'LINESTRING ( ".$arrayBbox[0]." ".$arrayBbox[1].",".$arrayBbox[2]." ".$arrayBbox[3]." )', $fromCRS ),".intval($toCRS)."))";
-	//$e = new mb_exception("inspireDownload sql transform: ".$sql);
-	//$sql = "select asewkt(transform(GeometryFromText ( 'LINESTRING ( $1 $2, $3 $4 )', $5 ),$6))";
-	//$v = array($arrayBbox[0],$arrayBbox[1],$arrayBbox[2],$arrayBbox[3],$fromCRS,$toCRS);
-	//$t = array('s','s','s','s','i','i');
-	$res = db_query($sql,$v,$t);
-	//read out result
-	$textBbox = db_fetch_row($res);
-	//$e = new mb_exception("inspireDownload sql result: ".$textBbox[0]);
-	$pattern = '~LINESTRING\((.*)\)~i';
-	preg_match($pattern, $textBbox[0], $subpattern);
-	//exchange blancs
-	$newBbox = str_replace(" ", ",", $subpattern[1]);
-	//set new BBOX
-	//$arrayBboxNew = explode(',',$newBbox);
-	return $newBbox;
-}
-
-
-function fillMapbenderMetadata($dbResult, $generateFrom) {
-	//function increments $indexMapbenderMetadata !!!
-	global $mapbenderMetadata, $indexMapbenderMetadata;
-	//echo "<error>fill begins</error>";
-	while ($row = db_fetch_assoc($dbResult)) {
-		//get relevant information 
-		//echo "<error>".$indexMapbenderMetadata."</error>";
-		if ($row['inspire_download'] == '1') {
-		$mapbenderMetadata[$indexMapbenderMetadata]->origin = $row['origin']; 
-		$mapbenderMetadata[$indexMapbenderMetadata]->latlonbbox = $row['latlonbbox']; 
-		$mapbenderMetadata[$indexMapbenderMetadata]->datalink_id = $row['datalink_id']; 
-		$mapbenderMetadata[$indexMapbenderMetadata]->metadata_id = $row['metadata_id']; 
-		$mapbenderMetadata[$indexMapbenderMetadata]->metadata_ref_system = $row['metadata_ref_system']; 		
-		$mapbenderMetadata[$indexMapbenderMetadata]->fkey_mb_group_id = $row['fkey_mb_group_id'];
-		$mapbenderMetadata[$indexMapbenderMetadata]->wms_owner = $row['wms_owner'];
-		$mapbenderMetadata[$indexMapbenderMetadata]->wfs_owner = $row['wfs_owner'];
-		$mapbenderMetadata[$indexMapbenderMetadata]->fkey_wms_id = $row['fkey_wms_id'];
-		$mapbenderMetadata[$indexMapbenderMetadata]->layer_id = $row['layer_id'];
-		$mapbenderMetadata[$indexMapbenderMetadata]->layer_name = $row['layer_name'];
-		$mapbenderMetadata[$indexMapbenderMetadata]->datasetid = $row['datasetid'];
-		$mapbenderMetadata[$indexMapbenderMetadata]->datasetid_codespace = $row['datasetid_codespace'];
-		$mapbenderMetadata[$indexMapbenderMetadata]->metadata_uuid = $row['metadata_uuid'];
-		$mapbenderMetadata[$indexMapbenderMetadata]->minx = $row['minx'];
-		$mapbenderMetadata[$indexMapbenderMetadata]->miny = $row['miny'];
-		$mapbenderMetadata[$indexMapbenderMetadata]->maxx = $row['maxx'];
-		$mapbenderMetadata[$indexMapbenderMetadata]->maxy = $row['maxy'];
-		$mapbenderMetadata[$indexMapbenderMetadata]->metadata_title = $row['metadata_title'];
-		$mapbenderMetadata[$indexMapbenderMetadata]->layer_title = $row['layer_title'];
-		$mapbenderMetadata[$indexMapbenderMetadata]->metadata_abstract = $row['metadata_abstract'];
-		$mapbenderMetadata[$indexMapbenderMetadata]->layer_abstract = $row['layer_abstract'];
-		$mapbenderMetadata[$indexMapbenderMetadata]->accessconstraints = $row['accessconstraints'];
-		$mapbenderMetadata[$indexMapbenderMetadata]->metadata_uuid = $row['metadata_uuid'];
-		$mapbenderMetadata[$indexMapbenderMetadata]->spatial_res_type = $row['spatial_res_type'];
-		$mapbenderMetadata[$indexMapbenderMetadata]->spatial_res_value = $row['spatial_res_value'];
-		$mapbenderMetadata[$indexMapbenderMetadata]->metadata_ref_system = $row['metadata_ref_system'];
-		$mapbenderMetadata[$indexMapbenderMetadata]->format = $row['format'];
-		$mapbenderMetadata[$indexMapbenderMetadata]->datalink_url = $row['datalink_url'];
-		$mapbenderMetadata[$indexMapbenderMetadata]->wms_getmap = $row['wms_getmap'];
-		$mapbenderMetadata[$indexMapbenderMetadata]->wms_owsproxy = $row['wms_owsproxy'];
-		$mapbenderMetadata[$indexMapbenderMetadata]->wms_version = $row['wms_version'];
-		$mapbenderMetadata[$indexMapbenderMetadata]->wms_max_imagesize = $row['wms_max_imagesize'];
-		$mapbenderMetadata[$indexMapbenderMetadata]->layer_name = $row['layer_name'];
-		$mapbenderMetadata[$indexMapbenderMetadata]->datalink_format = $row['datalink_format'];
-		$mapbenderMetadata[$indexMapbenderMetadata]->metadata_ref_system = $row['metadata_ref_system'];
-		$mapbenderMetadata[$indexMapbenderMetadata]->format = $row['format'];
-		$mapbenderMetadata[$indexMapbenderMetadata]->featuretype_name = $row['featuretype_name'];
-		$mapbenderMetadata[$indexMapbenderMetadata]->featuretype_srs = $row['featuretype_srs'];
-		$mapbenderMetadata[$indexMapbenderMetadata]->featuretype_title = $row['featuretype_title'];
-		$mapbenderMetadata[$indexMapbenderMetadata]->wfs_title = $row['wfs_title'];
-		$mapbenderMetadata[$indexMapbenderMetadata]->wfs_id = $row['wfs_id'];
-		$mapbenderMetadata[$indexMapbenderMetadata]->wfs_abstract = $row['wfs_abstract'];
-		$mapbenderMetadata[$indexMapbenderMetadata]->wfs_getfeature = $row['wfs_getfeature'];
-		$mapbenderMetadata[$indexMapbenderMetadata]->wfs_version = $row['wfs_version'];
-		$mapbenderMetadata[$indexMapbenderMetadata]->wfs_max_features = $row['wfs_max_features'];
-		//$mapbenderMetadata[$indexMapbenderMetadata]->format = $row['format'];
-		//check if codespace was given in metadata or it must be generated from uuid and default codespace
-		if (($mapbenderMetadata[$indexMapbenderMetadata]->datasetid_codespace == '' or !isset($mapbenderMetadata[$indexMapbenderMetadata]->datasetid_codespace)) or ($mapbenderMetadata[$indexMapbenderMetadata]->datasetid == '' or !isset($mapbenderMetadata[$indexMapbenderMetadata]->datasetid))) {
-			//generate one:
-			$mapbenderMetadata[$indexMapbenderMetadata]->datasetid_codespace = METADATA_DEFAULT_CODESPACE;
-			$mapbenderMetadata[$indexMapbenderMetadata]->datasetid = $mapbenderMetadata[$indexMapbenderMetadata]->metadata_uuid;
-		}
-		if ($generateFrom == "wfs" or $mapbenderMetadata[$indexMapbenderMetadata]->origin == "wfs") {
-			$latlonbbox = explode(",",$mapbenderMetadata[$indexMapbenderMetadata]->latlonbbox);
-			$mapbenderMetadata[$indexMapbenderMetadata]->minx = $latlonbbox[0];
-			$mapbenderMetadata[$indexMapbenderMetadata]->miny = $latlonbbox[1];
-			$mapbenderMetadata[$indexMapbenderMetadata]->maxx = $latlonbbox[2];
-			$mapbenderMetadata[$indexMapbenderMetadata]->maxy = $latlonbbox[3];
-		}
-		$indexMapbenderMetadata++;
-		}
-	}
-}
-
-if ($openSearch) {
-	readInfoFromDatabase($recordId, $generateFrom);
-	//generate rss to get number of tiles!
-	//generateFeed($feedDoc, $recordId, $generateFrom);//TODO: maybe call feed from cache first - we have to parse the feed - it is mor simple than generate it !!!!
-	answerOpenSearchRequest($feedDoc, $recordId, $generateFrom);
-	
-} else {
-	if ($getOpenSearch) {
-		readInfoFromDatabase($recordId, $generateFrom);
-		pushOpenSearch($feedDoc, $recordId, $generateFrom);
-	} else {
-		readInfoFromDatabase($recordId, $generateFrom);
-		pushFeed($feedDoc, $recordId, $generateFrom); //throw it out to world!
-	}
-}
-
-?>
-

Deleted: trunk/mapbender/http/php/mod_inspireWmsDownloadFeed.php
===================================================================
--- trunk/mapbender/http/php/mod_inspireWmsDownloadFeed.php	2016-05-27 07:11:28 UTC (rev 9487)
+++ trunk/mapbender/http/php/mod_inspireWmsDownloadFeed.php	2016-05-27 07:16:01 UTC (rev 9488)
@@ -1,650 +0,0 @@
-<?php
-//http://www.geoportal.rlp.de/mapbender/php/mod_inspireWmsDownloadFeed.php?ID=20578&type=SERVICE
-//http://www.geoportal.rlp.de/mapbender/php/mod_inspireWmsDownloadFeed.php?ID=20578&type=DATASET
-//http://localhost/mapbender/php/mod_inspireWmsDownloadFeed.php?ID=20578&type=DATASET
-//http://localhost/mapbender/php/mod_inspireWmsDownloadFeed.php?ID=20648&type=SERVICE
-//20648
-// $Id: mod_inspireWmsDownloadFeed.php 235
-// http://www.mapbender.org/index.php/
-// Copyright (C) 2002 CCGIS 
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2, or (at your option)
-// any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-//Script to generate a feed for a predefined dataset download as it is demanded in the INSPIRE Download Service guidance 3.0 from 04.05.2012. It will be generated from given wms layers dataurl attributs which are registrated in the mapbender database. The other possibility is, that the wms are used to built the download links. Therefore the wms must support the generation of image/tiff output format with geotiff tags. Many wms do this. These wms must also support a minimum of 1000x1000 pixel for a single getmap request. It works as a webservice. The requested id is the mapbender layers serial id. 
-
-require_once(dirname(__FILE__) . "/../../core/globalSettings.php");
-require_once(dirname(__FILE__) . "/../classes/class_connector.php");
-require_once(dirname(__FILE__) . "/../classes/class_administration.php");
-
-$con = db_connect(DBSERVER,OWNER,PW);
-db_select_db(DB,$con);
-
-$admin = new administration();
-
-$imageResolution = 100;
-
-$maxImageSize = 1000;
-
-//pull the needed things from tables datalink, md_metadata, layer, wms
- 
-//parse request parameter
-//make all parameters available as upper case
-foreach($_REQUEST as $key => $val) {
-	$_REQUEST[strtoupper($key)] = $val;
-}
-//validate request params
-if (isset($_REQUEST['ID']) & $_REQUEST['ID'] != "") {
-	//validate integer
-	$testMatch = $_REQUEST["ID"];
-	$pattern = '/^[\d]*$/';		
- 	if (!preg_match($pattern,$testMatch)){ 
-		echo 'Id: <b>'.$testMatch.'</b> is not valid.<br/>'; 
-		die(); 		
- 	}
-	$recordId = $testMatch;
-	$testMatch = NULL;
-}
-
-if (!isset($_REQUEST['TYPE']) || $_REQUEST['TYPE'] == "") {
-	echo '<b>Mandatory parameter type is not set!</b><br>Please set type to <b>DATASET</b> or <b>SERVICE</b>'; 
-	die(); 	
-}
-
-//validate request params
-if (isset($_REQUEST['TYPE']) & $_REQUEST['TYPE'] != "") {
-	//validate type
-	$testMatch = $_REQUEST["TYPE"];	
- 	if ($testMatch != 'SERVICE' && $testMatch != 'DATASET'){ 
-		echo 'type: <b>'.$testMatch.'</b> is not valid.<br/>'; 
-		die(); 		
- 	}
-	$type = $testMatch;
-	$testMatch = NULL;
-}
-
-
-//Initialize XML document
-$feedDoc = new DOMDocument('1.0');
-$feedDoc->encoding = 'UTF-8';
-
-
-//Feed Example from the Guidance Paper 3.0 page 33/34
-//
-/*
-<!-- Example "Download Service Feed" -->
-<feed xmlns="http://www.w3.org/2005/Atom" xmlns:georss="http://www.georss.org/georss" xml:lang="en"> <!-- feed title -->
-<title>XYZ Example INSPIRE Download Service</title>
-<!-- feed subtitle -->
-<subtitle>INSPIRE Download Service of organisation XYZ providing Hydrography data</subtitle>
-<!-- link to service ISO 19139 metadata -->
-<link href="http://xyz.org/metadata/iso19139_document.xml" rel="describedby" type=”application/xml”/>
-<!-- self-referencing link to this feed -->
-<link href="http://xyz.org/download/en.xml" rel="self" type="application/atom+xml" hreflang="en" title="This document"/>
-<!-- link to Open Search definition file for this service-->
-<link rel="search" href="http://xyz.org/search/opensearchdescription.xml" type="application/opensearchdescription+xml" title="Open Search Description for XYZ download service"/>
-<!-- link to this feed in another language -->
-<link href="http://xyz.org/download/de.xml" rel="alternate" type="application/atom+xml" hreflang="de" title="The download service information in German"/> <!-- link to another representation of this feed (HTML) -->
-<link href="http://xyz.org/download/index.html" rel="alternate" type="text/html" hreflang="en" title="An HTML version of this document"/> <!-- link to this feed in HTML in another language-->
-<link href="http://xyz.org/download/index.de.html" rel="alternate" type="text/html" hreflang="de" title="An HTML version of this document in German"/>
-<!-- identifier -->
-<id>http://xyz.org/download/en.xml</id>
-<!-- rights, access restrictions --> <rights>Copyright (c) 2012, XYZ; all rights reserved</rights>
-<!-- date/time this feed was last updated -->
-<updated>2012-03-31T13:45:03Z</updated> 
-<!-- author contact information --> <author>
-<name>John Doe</name> <email>doe at xyz.org</email>
-</author>
-<!-- entry for a "Dataset Feed" for a pre-defined dataset -->
-<entry>
-<!-- title for "Dataset Feed" for pre-defined dataset -->
-<title>Water network ABC Dataset Feed</title>
-<!-- link to "Dataset Feed" for pre-defined dataset -->
-<link rel="alternate" href="http://xyz.org/data/waternetwork_feed.xml" type="application/atom+xml" hreflang="en" title="Feed containing the pre-defined waternetwork dataset (in one or more downloadable formats)"/>
-<!-- identifier for "Dataset Feed" for pre-defined dataset -->
-<id>http://xyz.org/data/waternetwork_feed.xml</id>
-<!-- rights, access info for pre-defined dataset -->
-<rights>Copyright (c) 2002-2011, XYZ; all rights reserved</rights> 
-<!-- last date/time this entry was updated -->
-<updated>2012-03-31T13:45:03Z</updated>
-<!-- summary -->
-<summary>This is the entry for water network ABC Dataset</summary>
-<!-- optional GeoRSS-Simple polygon outlining the bounding box of the pre-defined dataset described by the entry. Must be lat lon --> <georss:polygon>47.202 5.755 55.183 5.755 55.183 15.253 55.183 5.755 47.202 5.755</georss:polygon>
-<!-- CRSs in which the pre-defined Dataset is available -->
-<category term="EPSG:25832" scheme="http://www.opengis.net/def/crs/" label="EPSG/0/25832"/>
-<category term="EPSG:4258" scheme="http://www.opengis.net/def/crs/" label="EPSG/0/4258"/>
-</entry>
-<!-- Any number of "Dataset Feeds" for different pre-defined datasets may be added here as separate entries -->
-</feed>
-*/
-
-//Some needfull functions to pull metadata out of the database.
-//List of data which is needed to build the feed:
-//header part ******
-// - feed title: Generated from dataset name - either mb_metadata.title or layer.layer_title
-// - feed subtitle: Generated from dataset name - either mb_metadata.title or layer.layer_title, organisation name - mapbender group information (metadata contact) - cause it is generated from data of a registrated wms
-// - link to ISO19139 service metadata - this will be created dynamically by given layer_id as this script itself
-// - link to opensearch description for this download service - as before the layer_id will be used as a parameter
-// - id - link to the script itself
-// - rights - the access constraints of the view service are used - they should also give information about the access constraints for the usage of the data
-// - updated : last date the feed was updated - use current timestamp of the wms as the feed will be generated from dataurl entry of the layer object - wms.wms_timestamp
-//datalink.random_id - this is newly created when layers are updated ! - new
-//author - use information from mapbender group - metadata point of contact - registrating organization
-//entry part ******
-// - entry title: Generated from dataset name - either mb_metadata.title or layer.layer_title - in combination e.g. with "Feed for ..."
-// - link to the dataset feed - invoked by layer id as this is done before
-// - summary -  Generated by some infomation: mb_metadata.format, mb_metadata.ref_sytem, ...., datalink.datalink_format
-// - updated - timestamp of wms as done before
-// - 
-
-function generateFeed($feedDoc, $recordId, $generateFromDataurl = false) {
-	global $admin, $type, $imageResolution, $maxImageSize;
-	
-
-	if ($generateFromDataurl) {
-
-		$sql = <<<SQL
-
-select * from (select * from (select * from (select * from (select mb_metadata.metadata_id, layer_relation.layer_name, layer_relation.fkey_wms_id, layer_relation.layer_id, mb_metadata.uuid as metadata_uuid, mb_metadata.format,mb_metadata.title as metadata_title, mb_metadata.abstract as metadata_abstract, layer_relation.layer_title, layer_relation.layer_abstract, mb_metadata.ref_system as metadata_ref_system, mb_metadata.datasetid, mb_metadata.spatial_res_type, mb_metadata.spatial_res_value  from (select * from layer inner join ows_relation_metadata on layer.layer_id = ows_relation_metadata.fkey_layer_id where layer.layer_id = $1) as layer_relation inner join mb_metadata on layer_relation.fkey_metadata_id = mb_metadata.metadata_id) as layer_metadata inner join ows_relation_data on ows_relation_data.fkey_layer_id = layer_metadata.layer_id) as layer_relation_data inner join datalink on layer_relation_data.fkey_datalink_id = datalink.datalink_id) as layer_data inner join wms on layer_da
 ta.fkey_wms_id = wms.wms_id)  as layer_wms, layer_epsg where layer_wms.layer_id = layer_epsg.fkey_layer_id and layer_epsg.epsg = 'EPSG:4326';  
-
-SQL;
-	} else { //dataurl is not given, therefor don't ask for such an entry ;-)
-	
-		$sql = <<<SQL
-
-select * from (select * from (select mb_metadata.metadata_id, layer_relation.layer_name, layer_relation.fkey_wms_id, layer_relation.layer_id, mb_metadata.uuid as metadata_uuid, mb_metadata.format,mb_metadata.title as metadata_title, mb_metadata.abstract as metadata_abstract, layer_relation.layer_title, layer_relation.layer_abstract, mb_metadata.ref_system as metadata_ref_system, mb_metadata.datasetid, mb_metadata.spatial_res_type, mb_metadata.spatial_res_value  from (select * from layer inner join ows_relation_metadata on layer.layer_id = ows_relation_metadata.fkey_layer_id where layer.layer_id = $1) as layer_relation inner join mb_metadata on layer_relation.fkey_metadata_id = mb_metadata.metadata_id) layer_data inner join wms on layer_data.fkey_wms_id = wms.wms_id)  as layer_wms, layer_epsg where layer_wms.layer_id = layer_epsg.fkey_layer_id and layer_epsg.epsg = 'EPSG:4326';  
-
-SQL;
-
-	}
-
-	$v = array((integer)$recordId);
-	$t = array('i');
-	$res = db_prep_query($sql,$v,$t);
-	$mapbenderMetadata = db_fetch_array($res);
-
-	
-	if ($generateFromDataurl) {
-		//check if layer_id datalink_id and metadata_id are given and not empty!
-		if (!isset($mapbenderMetadata['datalink_id']) || $mapbenderMetadata['datalink_id'] == '') {
-			return "<error>No dataurl element is given for the requested wms layer</error>";
-		}
-	}
-	//TODO - if the wms is a raster based wms and the output format may be geotiff - the feed entries can be generated automatically. We need following information
-	// 1. a raster based wms is given or not - checkbox at metadata editor!
-	// 2. geotiff maybe one of the allowed formats! - layer format
-	// 3. the maximum of pixel which can be served by the wms - maybe 2000x2000px - metadata editor!
-	// 4. The scale hints maybe used to control if a special get map request will produce a picture or not
-	//TODO: In this case we have to generate a feed for every single getmap request. This feed have to be called dynamically too! It will be cool to have the bboxes as get parameter or give a index of the bbox with which the bbox can be calculated again!
-
-	if (!isset($mapbenderMetadata['metadata_id']) || $mapbenderMetadata['metadata_id'] == '') {
-		return "<error>The requested wms layer has no coupled metadataset</error>";
-	}
-	//if (!isset($mapbenderMetadata['datalink_id'] || $mapbenderMetadata['datalink_id'] == '') {
-	//	return "<error>The requested wms layer has no coupled metadataset</error>";
-	//}
-	$crs = $mapbenderMetadata['metadata_ref_system'];
-	$epsgId = explode(':',$crs);
-	//Get other needed information out of mapbender database (if not already defined in the select above):
-	//service data
-	if ($wmsView != '') {
-		$sql = "SELECT contactorganization, contactelectronicmailaddress ";
-		$sql .= "FROM wms WHERE wms_id = $1";
-		$v = array((integer)$mapbenderMetadata['wms_id']);
-		$t = array('i');
-		$res = db_prep_query($sql,$v,$t);
-		$serviceMetadata = db_fetch_array($res);
-	}
-	//infos about the registrating department, check first if a special metadata point of contact is defined in the service table - function from mod_showMetadata - TODO: should be defined in admin class
-	if (!isset($mapbenderMetadata['fkey_mb_group_id']) or is_null($mapbenderMetadata['fkey_mb_group_id']) or $mapbenderMetadata['fkey_mb_group_id'] == 0){
-		$e = new mb_exception("mod_inspireWmsDownloadFeed.php: fkey_mb_group_id not found!");
-		//Get information about owning user of the relation mb_user_mb_group - alternatively the defined fkey_mb_group_id from the service must be used!
-		$sqlDep = "SELECT mb_group_name, mb_group_title, mb_group_id, mb_group_logo_path, mb_group_address, mb_group_email, mb_group_postcode, mb_group_city, mb_group_voicetelephone, mb_group_facsimiletelephone FROM mb_group AS a, mb_user AS b, mb_user_mb_group AS c WHERE b.mb_user_id = $1  AND b.mb_user_id = c.fkey_mb_user_id AND c.fkey_mb_group_id = a.mb_group_id AND c.mb_user_mb_group_type=2 LIMIT 1";
-		$vDep = array($mapbenderMetadata['wms_owner']);
-		$tDep = array('i');
-		$resDep = db_prep_query($sqlDep, $vDep, $tDep);
-		$departmentMetadata = db_fetch_array($resDep);
-	} else {
-		$e = new mb_exception("mod_inspireWmsDownloadFeed.php: fkey_mb_group_id found!");
-		$sqlDep = "SELECT mb_group_name , mb_group_title, mb_group_id, mb_group_logo_path , mb_group_address, mb_group_email, mb_group_postcode, mb_group_city, mb_group_voicetelephone, mb_group_facsimiletelephone FROM mb_group WHERE mb_group_id = $1 LIMIT 1";
-		$vDep = array($mapbenderMetadata['fkey_mb_group_id']);
-		$tDep = array('i');
-		$resDep = db_prep_query($sqlDep, $vDep, $tDep);
-		$departmentMetadata = db_fetch_array($resDep);
-	}
-
-	//infos about the owner of the service - he is the man who administrate the metadata - register the service
-	$sql = "SELECT mb_user_email ";
-	$sql .= "FROM mb_user WHERE mb_user_id = $1";
-	$v = array((integer)$mapbenderMetadata['wms_owner']);
-	$t = array('i');
-	$res = db_prep_query($sql,$v,$t);
-	$userMetadata = db_fetch_array($res);
-	$generateFromDataurl = false;
-	
-	//check if resource is freely available to anonymous user - which are all users who search thru metadata catalogues:
-	$hasPermission=$admin->getLayerPermission($mapbenderMetadata['fkey_wms_id'],$mapbenderMetadata['layer_name'],PUBLIC_USER);
-	
-	$feed =  $feedDoc->createElementNS('http://www.w3.org/2005/Atom', 'feed');
-	$feed = $feedDoc->appendChild($feed);
-	//$feed->setAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
-	$feed->setAttribute("xmlns:georss", "http://www.georss.org/georss");
-	//echo "<test>".$mapbenderMetadata['fkey_wms_id'].":".$mapbenderMetadata['wms_owner']."</test>";
-	//qualifying id of the referenced ressource: Either dataset id or the id of the metadata record 
-	if (isset($mapbenderMetadata["datasetid"]) && $mapbenderMetadata["datasetid"] != '' ) {
-		$ressourceId = $mapbenderMetadata["datasetid"];
-	} else {
-		if (isset($mapbenderMetadata["metadata_uuid"]) && $mapbenderMetadata["metadata_uuid"] != '' ) {
-			$ressourceId = $mapbenderMetadata["metadata_uuid"];
-		} else {
-			$ressourceId = "ID of dataset cannot be found!";
-		}
-	}
-
-	//first use metadata title then layer title
-	if (isset($mapbenderMetadata["metadata_title"]) && $mapbenderMetadata["metadata_title"] != '' ) {
-		$ressourceTitle = $mapbenderMetadata["metadata_title"];
-	} else {
-		if (isset($mapbenderMetadata["layer_title"]) && $mapbenderMetadata["layer_title"] != '' ) {
-			$ressourceTitle = $mapbenderMetadata["layer_title"];
-		} else {
-			$ressourceTitle = "Title of dataset cannot be found!";
-		}
-	}
-
-	//first use metadata abstract then layer abstract
-	if (isset($mapbenderMetadata["metadata_abstract"]) && $mapbenderMetadata["metadata_abstract"] != '' ) {
-		$ressourceAbstract = $mapbenderMetadata["metadata_abstract"];
-	} else {
-		if (isset($mapbenderMetadata["layer_abstract"]) && $mapbenderMetadata["layer_abstract"] != '' ) {
-			$ressourceAbstract = $mapbenderMetadata["layer_abstract"];
-		} else {
-			$ressourceAbstract = "Abstract of dataset cannot be found!";
-		}
-	}
-
-
-	//feed title - 5.1.1 / 5.2
-	//<title>XYZ Example INSPIRE Download Service</title>
-	//<title>XYZ Example INSPIRE Dataset ABC Download</title>
-	$feedTitle = $feedDoc->createElement("title");
-	//$feedTitle->setAttribute("xml:lang", "de");
-	//echo "<error>".$type."</error>";
-	//return;
-	if ($type == 'SERVICE') {
-		$feedTitleText = $feedDoc->createTextNode("INSPIRE Download Service: ".$ressourceTitle);
-	} else { //DATASET
-		$feedTitleText = $feedDoc->createTextNode("INSPIRE Datensatz Download: ".$ressourceTitle);
-	}
-	$feedTitle->appendChild($feedTitleText);
-	$feed->appendChild($feedTitle);
-	
-	//feed subtitle - 5.1.2 / 5.2
-	//<subtitle xml:lang="en">INSPIRE Download Service of organisation XYZ providing a data set for the Hydrography theme</subtitle>
-	//<subtitle>INSPIRE Download Service, of organisation XYZ providing dataset ABC for the Hydrography theme</subtitle>
-	$feedSubTitle = $feedDoc->createElement("subtitle");
-	//$feedSubTitle->setAttribute("xml:lang", "de");
-	if ($type == 'SERVICE') {
-		$feedSubTitleText = $feedDoc->createTextNode("INSPIRE Download Service von ".$departmentMetadata['mb_group_title']."");
-	} else { //DATASET
-		$feedSubTitleText = $feedDoc->createTextNode("INSPIRE Download Service von: ".$departmentMetadata['mb_group_title']." zur Bereitstellung des Datensatzes: ".$ressourceTitle);
-	}
-
-	$feedSubTitle->appendChild($feedSubTitleText);
-	$feed->appendChild($feedSubTitle);
-
-	//links
-
-	//metadata
-	//service metadata - 5.1.3 / dataset metadata 5.2.1
-	//<link href="http://xyz.org/metadata" rel="describedby" type="application/xml"/>
-	$feedLink = $feedDoc->createElement("link");
-	if ($type == 'SERVICE') {
-		$feedLink->setAttribute("href", "http://".$_SERVER['HTTP_HOST']."/mapbender/php/mod_dataLinkDownloadISOMetadata.php?Id=".$recordId."&outputFormat=iso19139");
-	} else { //DATASET
-		$feedLink->setAttribute("href", "http://".$_SERVER['HTTP_HOST']."/mapbender/php/mod_dataISOMetadata.php?id=".$mapbenderMetadata['metadata_uuid']."&outputFormat=iso19139");
-	}
-	$feedLink->setAttribute("rel", "describedby");
-	$feedLink->setAttribute("rel", "application/xml");
-	$feedLink->setAttribute("title", "Metadaten");
-	$feedLink->setAttribute("hreflang", "de");
-	$feed->appendChild($feedLink);
-
-	//self reference - 5.1.4 / 5.2
-	if ($type == 'SERVICE') {
-		$selfReference = "http://".$_SERVER['HTTP_HOST']."/mapbender/php/mod_inspireWmsDownloadFeed.php?ID=".$recordId."&type=SERVICE";
-	} else { //DATASET
-		$selfReference = "http://".$_SERVER['HTTP_HOST']."/mapbender/php/mod_inspireWmsDownloadFeed.php?ID=".$recordId."&type=DATASET";
-	}
-
-	//<link href="http://xyz.org/data" rel="self" type="application/atom+xml" hreflang="en" title="This document"/>
-	$feedLink = $feedDoc->createElement("link");
-	$feedLink->setAttribute("href", $selfReference);
-	$feedLink->setAttribute("rel", "self");
-	$feedLink->setAttribute("type", "application/atom+xml");
-	$feedLink->setAttribute("hreflang", "de");
-	$feedLink->setAttribute("title", "Selbstreferenz");
-	$feed->appendChild($feedLink);
-	
-	//opensearch descriptionlink 5.1.5
-	if ($type == 'SERVICE') {
-		$feedLink = $feedDoc->createElement("link");
-		$feedLink->setAttribute("href", "http://".$_SERVER['HTTP_HOST']."/mapbender/php/mb_datalinkOpensearchDescription.php?ID=".$recordId);
-		$feedLink->setAttribute("rel", "search");
-		$feedLink->setAttribute("type", "application/opensearchdescription+xml");
-		$feedLink->setAttribute("hreflang", "de");
-		$feedLink->setAttribute("title", "Open Search Beschreibung des INSPIRE Download Dienstes für den Datensatz ".$ressourceTitle);
-		$feed->appendChild($feedLink);
-	} else { //5.2.2
-
-	//description of datatypes - if given??? What todo when there is no description available - some html page have to be referenced?
-		$feedLink = $feedDoc->createElement("link");
-		$feedLink->setAttribute("href", "http://".$_SERVER['HTTP_HOST']."/mapbender/php/mod_showMetadata.php?languageCode=de&resource=layer&layout=tabs&id=".$recordId);
-		$feedLink->setAttribute("rel", "describedby");
-		$feedLink->setAttribute("type", "text/html");
-		$feedLink->setAttribute("hreflang", "de");
-		$feedLink->setAttribute("title", "Beschreibung des Datensatzes");
-		$feed->appendChild($feedLink);
-	}
-	//5.1.6 - 5.1.7
-	//other -- not needed cause only one language is defined
-	//<link href="http://xyz.org/data/de" rel="alternate" type="application/atom+xml" hreflang="de" title="The download service information in German"/>
-	//<link href="http://xyz.org/data/index.html" rel="alternate" type="text/html" hreflang="en" title="An HTML version of this document"/>
-	//<link href="http://xyz.org/data/index.de.html" rel="alternate" type="text/html" hreflang="de"	title="An HTML version of this document in German"/>
-	
-
-	//<!-- identifier -->
-	//<id>http://xyz.org/data</id> - also self reference - see 5.1.8 on page 39 of INSPIRE GD for Download Services V 3.0
-	// and 5.2.1
-	$feedId = $feedDoc->createElement("id");
-	$feedIdText = $feedDoc->createTextNode($ressourceId);
-	$feedId->appendChild($feedIdText);
-	$feed->appendChild($feedId);
-
-	//<!-- rights, access restrictions -->
-	//<rights>Copyright (c) 2011, XYZ; all rights reserved</rights> -- see 5.1.9 on page 39 of INSPIRE GD for Download Services V 3.0 - only accessconstraints should be used
-	$feedRights = $feedDoc->createElement("rights");
-	$feedRightsText = $feedDoc->createTextNode($mapbenderMetadata['accessconstraints']);
-	$feedRights->appendChild($feedRightsText);
-	$feed->appendChild($feedRights);
-
-	//<!-- date/time of last update of feed--> -- see 5.1.10 on page 40 of INSPIRE GD for Download Services V 3.0 - maybe date of metadata should be used - first we use current date!
-	//<updated>2011-09-24T13:45:03Z</updated>
-	$feedUpdated = $feedDoc->createElement("updated");
-	$feedUpdatedText = $feedDoc->createTextNode(date(DATE_ATOM,time()));
-	$feedUpdated->appendChild($feedUpdatedText);
-	$feed->appendChild($feedUpdated);
-
-	//<!-- author info --> 5.1.11 
-	//<author>
-	//	<name>John Doe</name>
-	//	<email>doe at xyz.org</email>
-	//</author>
-	$feedAuthor = $feedDoc->createElement("author");
-	$feedAuthorName = $feedDoc->createElement("name");
-	$feedAuthorName->appendChild($feedDoc->createTextNode($departmentMetadata["mb_group_title"]));
-	$feedAuthorEmail = $feedDoc->createElement("email");
-	$feedAuthorEmail->appendChild($feedDoc->createTextNode($departmentMetadata["mb_group_email"]));
-	$feedAuthor->appendChild($feedAuthorName);
-	$feedAuthor->appendChild($feedAuthorEmail);
-	$feed->appendChild($feedAuthor);
-
-	//<!-- pre-defined dataset - a entry for each pre-defined dataset - in the case of dataURL only one entry is used! -->
-	//if dataurl not given and a raster wms is defined - calculate the number of entries
-	if ($generateFromDataurl != true && $type == 'DATASET') {
-		//calculate number of entries and the bboxes
-		if ($mapbenderMetadata['spatial_res_type'] != 'groundDistance' & $mapbenderMetadata['spatial_res_type'] != 'scaleDenominator') {
-			echo "<error>WMS footprints cannot be calculated, cause kind of resolution is not given.</error>";
-		} else {
-			if (!is_int((integer)$mapbenderMetadata['spatial_res_value'])) {
-				echo "<error>WMS footprints cannot be calculated, cause resolution is no integer.</error>";
-			} else {
-				//calculate the bboxes
-				//transform layer_bbox to mb_metadata epsg
-				/*$georssPolygon = $mapbenderMetadata["minx"]." ".$mapbenderMetadata["miny"]." ".$mapbenderMetadata["maxx"]." ".$mapbenderMetadata["miny"]." ";
-				$georssPolygon .= $mapbenderMetadata["maxx"]." ".$mapbenderMetadata["maxy"]." ".$mapbenderMetadata["minx"]." ".$mapbenderMetadata["maxy"]." ";
-				$georssPolygon .= $mapbenderMetadata["minx"]." ".$mapbenderMetadata["miny"];
-				echo $georssPolygon;*/
-				//TODO: check if epsg, and bbox are filled correctly!
-
-				$sqlMinx = "SELECT X(transform(GeometryFromText('POINT(".$mapbenderMetadata["minx"]." ".$mapbenderMetadata["miny"].")',4326),".$epsgId[1].")) as minx";
-				$resMinx = db_query($sqlMinx);
-				$minx = floatval(db_result($resMinx,0,"minx"));
-				
-				$sqlMiny = "SELECT Y(transform(GeometryFromText('POINT(".$mapbenderMetadata["minx"]." ".$mapbenderMetadata["miny"].")',4326),".$epsgId[1].")) as miny";
-				$resMiny = db_query($sqlMiny);
-				$miny = floatval(db_result($resMiny,0,"miny"));
-				
-				$sqlMaxx = "SELECT X(transform(GeometryFromText('POINT(".$mapbenderMetadata["maxx"]." ".$mapbenderMetadata["maxy"].")',4326),".$epsgId[1].")) as maxx";
-				$resMaxx = db_query($sqlMaxx);
-				$maxx = floatval(db_result($resMaxx,0,"maxx"));
-				
-				$sqlMaxy = "SELECT Y(transform(GeometryFromText('POINT(".$mapbenderMetadata["maxx"]." ".$mapbenderMetadata["maxy"].")',4326),".$epsgId[1].")) as maxy";
-				$resMaxy = db_query($sqlMaxy);
-				$maxy = floatval(db_result($resMaxy,0,"maxy"));
-
-	
-				$diffX = $maxx - $minx; //in m
-				$diffY = $maxy - $miny;	//in m
-				//echo $diffX .":". $diffY;
-				//calculate target number of pixels for x and y
-				switch ($mapbenderMetadata['spatial_res_type']) {
-					case "scaleDenominator":
-						//transform to pixel
-						$diffXPx = $diffX / (float)$mapbenderMetadata['spatial_res_value'] / (float)0.0254 * floatval($imageResolution);
-						$diffYPx = $diffY / (float)$mapbenderMetadata['spatial_res_value'] / (float)0.0254 * floatval($imageResolution);
-					break;
-					case "groundDistance":
-						//transform to pixel
-						$diffXPx = $diffX / floatval($mapbenderMetadata['spatial_res_value']);
-						$diffYPx = $diffY / floatval($mapbenderMetadata['spatial_res_value']);
-						
-					break;
-				}
-				//echo $diffXPx.":".$diffYPx;
-				
-				$nRows = ceil($diffYPx / floatval($maxImageSize));
-				$nCols = ceil($diffXPx / floatval($maxImageSize));
-				//echo $nRows.":".$nCols;
-				$bboxWms = array();
-				/*echo $diffXPx.":".$diffYPx.",";
-				echo $nRows.":".$nCols.",";
-				echo $minx.":".$miny.",";
-				echo $maxx.":".$maxy.",";*/
-				$incX = $diffX / ($diffXPx / floatval($maxImageSize));
-				$incY = $diffY / ($diffYPx / floatval($maxImageSize));
-				for ($j = 0; $j < $nRows; $j++) {
-					for ($k = 0; $k < $nCols; $k++) {
-						//echo "j: ".$k.",k: ".$j;
-						$minxWms = $minx + $k * $incX;
-						//echo "minxWms: ". $minxWms .",";
-						$minyWms = $miny + $j * $incY;
-						//echo "minyWms: ". $minyWms .",";
-						$maxxWms = $minx + ($k+1) * $incX;
-						//echo "maxxWms: ". $maxxWms .",";
-						$maxyWms = $miny + ($j+1) * $incY;
-						//echo "maxyWms: ". $maxyWms .",";
-						$bboxWms[] = $minxWms.",".$minyWms.",".$maxxWms.",".$maxyWms;
-					}
-				}
-			}
-		}
-		$numberOfEntries = count($bboxWms);
-	} else {
-		$numberOfEntries = 1;
-	}
-
-	for ($i = 0; $i < $numberOfEntries; $i++) {
-		//<entry> 5.1.12 / 5.2.3
-	
-		$feedEntry = $feedDoc->createElement("entry");
-	
-		//<!-- title for pre-defined dataset -->
-		//<title xml:lang="en">Water network ABC</title>
-		//<title>Water network in CRS EPSG:4258 (GML)</title>
-		$feedEntryTitle = $feedDoc->createElement("title");
-		//$feedEntryTitle->setAttribute("xml:lang", "de");
-		if ($type == 'SERVICE') {
-			$feedEntryTitle->appendChild($feedDoc->createTextNode("Feed Entry für: ".$ressourceTitle)); //TODO: maybe add some category?
-		} else {
-			$feedEntryTitle->appendChild($feedDoc->createTextNode($ressourceTitle. " im CRS ".$mapbenderMetadata['metadata_ref_system']." und Format ".$mapbenderMetadata['format'])); //TODO: maybe add some category?
-		}
-		$feedEntry->appendChild($feedEntryTitle);
-	
-		//<!-- link to a single dataset feed - see 5.1.13 on page 41 of INSPIRE GD for Download Services V 3.0 -->
-		//<link rel="alternate" href="http://xyz.org/data/waternetwork_feed.xml" type="application/atom+xml" hreflang="en" title="Feed containing the pre-defined waternetwork dataset (in one or more downloadable formats)"/>
-		
-		//or link to dataset 5.2.3
-
-		//<link rel="alternate" href="http://xyz.org/data/abc/waternetwork_WGS84.shp" type="application/x-shp" hreflang="en" title="Water Network encoded as a ShapeFile in WGS84geographic coordinates (http://www.opengis.net/def/crs/OGC/1.3/CRS84)"/>
-			
-		$datasetFeedLink = "http://".$_SERVER['HTTP_HOST']."/mapbender/php/mod_inspireWmsDownloadFeed.php?id=".$recordId."&type=DATASET";
-		$datasetLink = $mapbenderMetadata['datalink_url'];
-		
-		if ($type == 'SERVICE') {
-			$furtherLink = $datasetFeedLink;
-			$furtherLinkType = "application/xml";
-			$furtherLinkTitle = "Feed für den pre-defined Datensatz ".$ressourceTitle;
-		} else {
-			if ($generateFromDataurl == true) {
-				$furtherLink = $datasetLink;
-				$furtherLinkType = $mapbenderMetadata['datalink_format'];
-				$furtherLinkTitle = $ressourceTitle." im CRS ".$mapbenderMetadata['metadata_ref_system']."(".$mapbenderMetadata['format'].")";
-			} else {
-				$furtherLink = $datasetLink; // dynamic generated links
-				//example:
-				//http://localhost/cgi-bin/mapserv?map=/data/umn/geoportal/karte_rp/testinspiredownload.map&VERSION=1.1.1&REQUEST=GetMap&SERVICE=WMS&LAYERS=inspirewms&STYLES=&SRS=EPSG:4326&BBOX=6.92134,50.130465,6.93241,50.141535000000005&WIDTH=200&HEIGHT=200&FORMAT=image/png&BGCOLOR=0xffffff&TRANSPARENT=TRUE&EXCEPTIONS=application/vnd.ogc.se_inimage
-				$furtherLink = $mapbenderMetadata['wms_getmap']."REQUEST=GetMap&VERSION=".$mapbenderMetadata['wms_version']."&SERVICE=WMS&LAYERS=".$mapbenderMetadata['layer_name'];
-				$furtherLink .= "&STYLES=&SRS=".$crs."&BBOX=".$bboxWms[$i]."&WIDTH=".$maxImageSize."&HEIGHT=".$maxImageSize."&FORMAT=image/tiff&";
-				$furtherLink .= "BGCOLOR=0xffffff&TRANSPARENT=TRUE&EXCEPTIONS=application/vnd.ogc.se_inimage";
-				$furtherLinkType = $mapbenderMetadata['datalink_format']; //formats from layer_format - geotiff
-				$furtherLinkTitle = $ressourceTitle." im CRS ".$mapbenderMetadata['metadata_ref_system']."(".$mapbenderMetadata['format'].")";
-			}
-		}
-		//In the case of dynamically build entries for a raster based wms - not the dataurl but another the dyn ulrs will be used in the next feed
-
-		$feedEntryLink = $feedDoc->createElement("link");
-		$feedEntryLink->setAttribute("rel", "alternate");
-		$feedEntryLink->setAttribute("href", $furtherLink);
-		$feedEntryLink->setAttribute("type", $furtherLinkType);
-		$feedEntryLink->setAttribute("hreflang", "de");
-		$feedEntryLink->setAttribute("title", $furtherLinkTitle);
-		$feedEntry->appendChild($feedEntryLink);
-
-		//5.1.14 / 5.2
-		//<!-- identifier for pre-defined dataset -->
-		//<id>http://xyz.org/data/waternetwork.gml/id>
-		$feedEntryId = $feedDoc->createElement("id");
-		$feedEntryId->appendChild($feedDoc->createTextNode($ressourceId."_tile_".$i));
-		$feedEntry->appendChild($feedEntryId);
-
-		//5.1.15 / 
-		//<!-- summary -->
-		//<summary>This is the entry for water network ABC Dataset</summary>
-		if ($type == 'SERVICE') {
-			$feedEntrySummary = $feedDoc->createElement("summary");
-			$feedEntrySummary->appendChild($feedDoc->createTextNode("Nähere Beschreibung des Feedinhaltes: ".$ressourceAbstract));
-			$feedEntry->appendChild($feedEntrySummary);
-		}
-		//5.1.14 / 5.2  - updated
-		//<!-- last date/time pre-defined dataset was updated -->
-		//<updated>2011-06-14T12:22:09Z</updated>
-		$feedEntryUpdated = $feedDoc->createElement("updated");
-		$feedEntryUpdated->appendChild($feedDoc->createTextNode(date(DATE_ATOM,time())));
-		$feedEntry->appendChild($feedEntryUpdated);
-
-		//5.1.16 / 5.2?
-		//<!-- optional GeoRSS-Simple bounding box of the pre-defined dataset. Must be lat lon -->
-		//<georss:polygon>47.202 5.755 55.183 5.755 55.183 15.253 47.202 15.253 47.202 5.755</georss:polygon>
-		//TODO: Get this out of mb_metadata! If not given get it from layer bbox - but normally they should be identical!
-		$feedEntryBbox = $feedDoc->createElement("georss:polygon");
-		if ($generateFromDataurl == true) {
-			$georssPolygon = $mapbenderMetadata["minx"]." ".$mapbenderMetadata["miny"]." ".$mapbenderMetadata["maxx"]." ".$mapbenderMetadata["miny"]." ";
-			$georssPolygon .= $mapbenderMetadata["maxx"]." ".$mapbenderMetadata["maxy"]." ".$mapbenderMetadata["minx"]." ".$mapbenderMetadata["maxy"]." ";
-			$georssPolygon .= $mapbenderMetadata["minx"]." ".$mapbenderMetadata["miny"];
-		} else {
-			//dynamically generated bboxes - for the raster wms
-			//$georssPolygon = $mapbenderMetadata["minx"]." ".$mapbenderMetadata["miny"]." ".$mapbenderMetadata["maxx"]." ".$mapbenderMetadata["miny"]." ";
-			//$georssPolygon .= $mapbenderMetadata["maxx"]." ".$mapbenderMetadata["maxy"]." ".$mapbenderMetadata["minx"]." ".$mapbenderMetadata["maxy"]." ";
-			//$georssPolygon .= $mapbenderMetadata["minx"]." ".$mapbenderMetadata["miny"];
-			//TODO: Transform them to epsg:4326 to be conform to georss polygon
-			$corners = $bboxWms[$i];
-			$corners = explode(",",$corners);
-			$georssPolygon = $corners[1]." ".$corners[0]." ".$corners[3]." ".$corners[0]." ";
-			$georssPolygon .= $corners[3]." ".$corners[2]." ".$corners[1]." ".$corners[2]." ";
-			$georssPolygon .= $corners[1]." ".$corners[0];
-		}
-		$feedEntryBbox->appendChild($feedDoc->createTextNode($georssPolygon));
-		$feedEntry->appendChild($feedEntryBbox);
-	
-		//category entry for crs (from mb_metadata) 5.1.17
-		/*<!-- CRSs in which the pre-defined Dataset is available --> <category term="EPSG:25832" scheme="http://www.opengis.net/def/crs/" label="EPSG/0/25832"/> <category term="EPSG:4258" scheme="http://www.opengis.net/def/crs/" label="EPSG/0/4258"/>*/
-		
-		$feedEntryCategory = $feedDoc->createElement("category");
-		$feedEntryCategory->setAttribute("term", $epsgId[1]);
-		$feedEntryCategory->setAttribute("scheme", "http://www.opengis.net/def/crs/");
-		$feedEntryCategory->setAttribute("label", "EPSG/0/".$epsgId[1]);
-		$feedEntry->appendChild($feedEntryCategory);
-
-		//<!-- INSPIRE Spatial Object Types contained in the pre-defined dataset -->
-		//<category term="Watercourse" scheme="http://inspire-registry.jrc.ec.europa.eu/registers/FCD/" label="Watercourse" xml:lang="en"/>
-		//only applicable for inspire conformant datasets!
-		//Generate List of inspire themes of the given layer!
-		/*$sql = "SELECT inspire_category.inspire_category_id, inspire_category.inspire_category_code_en FROM inspire_category, layer_inspire_category WHERE layer_inspire_category.fkey_layer_id=$1 AND layer_inspire_category.fkey_inspire_category_id=inspire_category.inspire_category_id";
-		$v = array((integer)$mapbenderMetadata['layer_id']);
-		$t = array('i');
-		$res = db_prep_query($sql,$v,$t);
-		while ($row = db_fetch_array($res)) {
-			//part for the name of the inspire category
-			$feedEntryCategory = $feedDoc->createElement("category");
-			$feedEntryCategory->setAttribute("term", $row['inspire_category_code_en']);
-			$feedEntryCategory->setAttribute("scheme", "http://www.eionet.europa.eu/gemet/theme_concepts?langcode=en&ns=5&th=".$row['inspire_category_id']);
-			$feedEntryCategory->setAttribute("label", $row['inspire_category_code_en']);
-			$feedEntryCategory->setAttribute("xml:lang", "en");
-			$feedEntry->appendChild($feedEntryCategory);
-		}
-		*/
-		/*$feedEntryCategory = $feedDoc->createElement("category");
-		$feedEntryCategory->setAttribute("term", "Watercourse");
-		$feedEntryCategory->setAttribute("scheme", "http://inspire-registry.jrc.ec.europa.eu/registers/FCD/");
-		$feedEntryCategory->setAttribute("label", "Watercourse");
-		$feedEntryCategory->setAttribute("xml:lang", "en");
-		$feedEntry->appendChild($feedEntryCategory);
-		//<category term="StandingWater" scheme="http://inspire-registry.jrc.ec.europa.eu/registers/FCD/" label="Standing Water" xml:lang="en"/>
-		$feedEntryCategory = $feedDoc->createElement("category");
-		$feedEntryCategory->setAttribute("term", "StandingWater");
-		$feedEntryCategory->setAttribute("scheme", "http://inspire-registry.jrc.ec.europa.eu/registers/FCD/");
-		$feedEntryCategory->setAttribute("label", "Standing Water");
-		$feedEntryCategory->setAttribute("xml:lang", "en");
-		$feedEntry->appendChild($feedEntryCategory);*/
-	//</entry>
-
-		$feed->appendChild($feedEntry);
-	}
-	return $feedDoc->saveXML();
-}
-
-//function to give away the xml data
-function pushFeed($feedDoc, $recordId) {
-	header("Content-type: application/xhtml+xml; charset=UTF-8");
-	$xml = generateFeed($feedDoc, $recordId);
-	echo $xml;
-	die();
-}
-
-//do all the other things which had to be done ;-)
-pushFeed($feedDoc, $recordId); //throw it out to world!
-
-?>
-

Deleted: trunk/mapbender/http/php/mod_printView1.php_deprecated
===================================================================
--- trunk/mapbender/http/php/mod_printView1.php_deprecated	2016-05-27 07:11:28 UTC (rev 9487)
+++ trunk/mapbender/http/php/mod_printView1.php_deprecated	2016-05-27 07:16:01 UTC (rev 9488)
@@ -1,100 +0,0 @@
-<?php
-# $Id: mod_printView1.php 7097 2010-11-08 07:48:25Z apour $
-# http://www.mapbender.org/index.php/Administration
-# Copyright (C) 2002 CCGIS 
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-
-/*  
- * @security_patch irv open 
- */ 
-// security_patch_log(__FILE__,__LINE__); 
-import_request_variables("PG"); 
-require_once(dirname(__FILE__)."/../php/mb_validateSession.php");
-include(dirname(__FILE__)."/../../conf/print.conf");
-Mapbender::session()->set("mb_print_url",$map_url);
-Mapbender::session()->set("mb_print_resolution",$quality);
-
-?>
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-
-<html>
-<head>
-<meta name="author-mail" content="info at ccgis.de">
-<meta name="author" content="U. Rothstein">
-<meta http-equiv="cache-control" content="no-cache">
-<meta http-equiv="pragma" content="no-cache">
-<meta http-equiv="expires" content="0">
-<?php
-echo '<meta http-equiv="Content-Type" content="text/html; charset='.CHARSET.'">';	
-?>
-<title>Print Settings</title>
-<?php
-include '../include/dyn_css.php';
-?>
-<style type="text/css">
-	<!--
-
-	.bg_header{
-		background-color: white;
-	}
-	.bg{
-		background-color: black;
-	}
-	body{
-		font-family: Arial, Helvetica, sans-serif;
-	}
-	-->
-</style>
-</head>
-<body leftmargin="0" topmargin="0"> 
-<?php
-
-$printOffset_top = intval($_REQUEST["printOffset_top"]) * $deformation;
-$printOffset_left = intval($_REQUEST["printOffset_left"]) * $deformation;
-$header_height = intval($_REQUEST["header_height"]) * $deformation;
-$map_width = intval($_REQUEST["map_width"]) * $deformation;
-$map_height = intval($_REQUEST["map_height"]) * $deformation;
-$date = date("d.m.y");
-#map
-echo "<img style='position:absolute; top:".($printOffset_top + $header_height)."px; left:".($printOffset_left+1)."px; z-index:3;' src='../extensions/ext_weldMaps.php?". SID."' width='".$map_width."' height='".$map_height."'>";
-echo "<img style='position:absolute; top:".($printOffset_top + $header_height)."px; left:".($printOffset_left+1)."px; z-index:2;' src='../img/white.gif' width='".$map_width."' height='".$map_height."'>";
-
-echo "<img class='bg' style='position: absolute; top:".($printOffset_top - 1)."px;left:".($printOffset_left-1)."px; z-index:1;width:".($map_width+3)."px; height:".($map_height +$header_height +2)."px;' src='../img/black.gif'>";
-#header
-
-
-echo "<img class='bg_header' style='position: absolute; top:".($printOffset_top+1)."px;left:".($printOffset_left+1)."px; z-index:1;width:".($map_width/2-1)."px; height:".($header_height -2)."px;' src='../img/white.gif'>";
-
-echo "<div  style='position: absolute; top:".($printOffset_top+1)."px;left:".($printOffset_left+1)."px; z-index:1;width:".($map_width/2-1)."px; height:".($header_height -2)."px;'>";
-echo "<div style='position:relative;left:5px; font-weight:bold; font-size:20px;z-index:3;'>".htmlentities($printTitle, ENT_QUOTES) . "</div>";
-echo "<div style='position:relative;left:5px;z-index:3;'>Datum: ".$date . "</div>";
-echo "<div style='position:relative;left:5px;z-index:3;'>Ma�stab: 1:". htmlentities($map_scale, ENT_QUOTES) . "</div>";
-echo"</div>"; 
-
-echo "<img class='bg_header' style='position: absolute; top:".($printOffset_top+1)."px;left:".($printOffset_left + $map_width/2+2)."px; z-index:1;width:".($map_width/2-1)."px; height:".($header_height -2)."px;' src='../img/white.gif'>";
-echo "<div style='position: absolute; top:".($printOffset_top+1)."px;left:".($printOffset_left + $map_width/2+2)."px; z-index:1;width:".($map_width/2-1)."px; height:".($header_height -2)."px;' >";
-echo "<div style='position:relative;left:5px;z-index:3;'>". htmlentities($printComment, ENT_QUOTES) . "</div>";
-echo"</div>"; 
-
-echo "<div style='position: absolute; top:".($printOffset_top + $header_height + $map_height+5)."px;left:".($printOffset_left+2)."px; z-index:3;font-size:10px' >";
-echo htmlentities($footer, ENT_QUOTES);
-echo "</div>";
-#$myfactor = 37.81;
-#echo "<img style='position: absolute; top:".($printOffset_top + $header_height + $map_height+10)."px;left:".($printOffset_left+2)."px; '  src='../img/black.gif' height='2' width='".(10 * $myfactor)."'>"; 
-?>
-</body>
-</html>

Deleted: trunk/mapbender/http/php/mod_saveWKT.php_deprecated
===================================================================
--- trunk/mapbender/http/php/mod_saveWKT.php_deprecated	2016-05-27 07:11:28 UTC (rev 9487)
+++ trunk/mapbender/http/php/mod_saveWKT.php_deprecated	2016-05-27 07:16:01 UTC (rev 9488)
@@ -1,254 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<?php
-# $Id: mod_saveWKT.php 7090 2010-11-04 14:39:22Z apour $
-# http://www.mapbender.org/index.php/Administration
-# Copyright (C) 2002 CCGIS 
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-
-die("This script has many security issues and should not be used! Activate it at your own risk!");
-
-require_once(dirname(__FILE__)."/../php/mb_validateSession.php");
-?>
-<html>
-<head>
-<meta http-equiv="cache-control" content="no-cache">
-<meta http-equiv="pragma" content="no-cache">
-<meta http-equiv="expires" content="0">
-<?php
-echo '<meta http-equiv="Content-Type" content="text/html; charset='.CHARSET.'">';	
-?>
-<title>mod_saveWKT</title>
-<?php
-include '../include/dyn_css.php';
-?>
-<script type="text/javascript">
-<!--
-function validate(){
-	 document.forms[0].x.value = "";
-     document.forms[0].y.value = "";
-     for(var i=0; i<window.opener.mod_measure_RX.length;i++){
-        if(i>0){ document.forms[0].x.value += ",";}
-        document.forms[0].x.value += window.opener.mod_measure_RX[i];
-     }
-     for(var i=0; i<window.opener.mod_measure_RY.length;i++){
-        if(i>0){ document.forms[0].y.value += ",";}
-        document.forms[0].y.value += window.opener.mod_measure_RY[i];
-     }
-     document.forms[0].save.value='true';
-     document.forms[0].src_epsg.value=window.opener.mod_measure_epsg.substr(5,5); //NEW!!!
-     document.forms[0].submit();
-}
-var geoType;
-function checkGeom(){
-   if(window.opener.mod_measure_RX.length == 1){
-      geoType = "POINT";
-   }
-   if(window.opener.mod_measure_RX.length > 1 && (window.opener.mod_measure_RX[0] =! window.opener.mod_measure_RX[window.opener.mod_measure_RX.length -1])){
-      geoType = "MULTILINESTRING";
-   }
-   if(window.opener.mod_measure_RX.length > 1 && (window.opener.mod_measure_RX[0] == window.opener.mod_measure_RX[window.opener.mod_measure_RX.length -1])){
-      geoType = "MULTIPOLYGON";
-   }
-   if(document.forms[0].myGeometryType.value != geoType){
-      alert("Falscher Geometrietyp!");
-   }      
-}
-// -->
-</script>
-</head>
-<!-- <body onload='checkGeom()'>  
-//NEW!!! Bei Erstaufruf ist die ausgew�hlte Tabelle (und deren Geometrie) noch nicht bekannt! 
-Deshalb zuvor eine Fehlermeldung.  Jetzt als PHP-Code, siehe if($save)   -->
-<body> 
-<?php 
-/*****************************************************************************
-personal postgresql parameters - pers�nliche Postgresql-Einstellungen    */
-$host = "localhost";
-$port = "5432";
-define("DBname", "databasename");
-$user = "username";
-$password = "password";
-//personal example: pick only certain (working-) tables, here: tables which start with "mapbender_"
-$tblmb="mapbender_%";  
-//*****************************************************************************
-
-/*
- * @security_patch irv open
- */
-security_patch_log(__FILE__,__LINE__);
-import_request_variables("P");
-
-$con_string = "host=$host port=$port dbname=DBname user=$user password=$password";
-$con = pg_connect ($con_string) or die ("Error while connecting database DBname");
-
-/*
- * @security_patch sqli done
- */
-
-$sql = "SELECT f_table_name, f_geometry_column,type,srid FROM geometry_columns 
-        where f_table_name like '".pg_escape_string($tblmb)."'"; //pick only certain tables (see above)
-//$sql = "SELECT f_table_name, f_geometry_column,type,srid FROM geometry_columns";
-$res = pg_query($con,$sql);
-$cnt = 0;
-echo "<form action='".$self."' method='POST'>";
-#echo "Selektieren: <input name='actionType' type='radio' value='select'>";
-#echo "Speichern: <input name='actionType' type='radio' value='create'><br>";
-echo "<select name='tablenames' onchange='submit()'>";
-echo "<option value=''>Bitte Tabelle auswählen...</option>";
-while(pg_fetch_row($res)){   
-   echo "<option value='".pg_result($res,$cnt,"f_table_name")."' ";
-   if($tablenames == pg_result($res,$cnt,"f_table_name")){
-      echo "selected";
-      $geometry = pg_result($res,$cnt,"f_geometry_column");
-      $geometryType = pg_result($res,$cnt,"type");
-      $epsg = pg_result($res,$cnt,"srid");
-   }
-   echo ">".pg_result($res,$cnt,"f_table_name")."</option>";
-   $cnt++;
-}
-echo "</select>";
-
-/*
- * @security_patch sqli done
- */
-if(isset($tablenames)){
-   $sql = "SELECT * from ".pg_escape_string($tablenames)." limit 1";
-   $res = pg_query($con,$sql);
-   $num = pg_num_fields($res);
-   
-   echo "<table>";
-   $cnt = 0;
-   for($i=0; $i<$num; $i++){
-      echo "<tr>";
-      echo "<td>".pg_fieldname($res,$i)."</td><td><input type='text' name='".pg_fieldname($res,$i)."'></td><td>".pg_fieldtype($res,$i)."</td>";
-      echo "</tr>";
-      if(!isset($str_names)){
-         $str_names = pg_fieldname($res,$i);
-      }
-      else{
-         $str_names .= ",".pg_fieldname($res,$i);
-      }
-      $cnt++;        
-   }
-   echo "</table>";
-   echo "<br>";
-   echo "<input type='button' value='save' onclick='validate()'>";
-   echo "<input type='hidden' value='' name='save'>";
-   echo "<input type='text' value='".$x."' name='x'>";  //NEW!!!
-   echo "<input type='text' value='".$y."' name='y'>";  //NEW!!!
-   echo "<input type='text' value='".$geometry."' name='myGeometry'>";
-   echo "<input type='text' value='".$geometryType."' name='myGeometryType'>";
-   echo "<input type='text' value='".$src_epsg."' name='src_epsg'>";   //NEW!!!
-   echo "<input type='text' value='".$epsg."' name='epsg'>";   
-   echo "<input name='myStrColumns' type='text' value='".$str_names."'>";   
-}
-if($save){
- $myColumns = explode(",",$myStrColumns); 
- $myX = explode(",", $x);
- $myY = explode(",", $y);
- $myxcount = count($myX);
- 
- if ($myxcount == 1) {
-	$geoType = 'POINT';
- }
- if ($myxcount > 1 && $myX[0] != $myX[$myxcount-1]) {
-	$geoType = 'MULTILINESTRING';
-    if ($geometryType == 'LINESTRING') { $geoType = 'LINESTRING'; } //NEW!! funktioniert aber nur solange, wie keine wirklichen MULTILINESTRING's digitalisiert werden
- }
- if ($myxcount > 1 && $myX[0] == $myX[$myxcount-1]) {
-	$geoType = 'MULTIPOLYGON';
-    if ($geometryType == 'POLYGON') { $geoType = 'POLYGON'; } //NEW!! funktioniert aber nur...
- }
- //NEW!!! in Tabellen vom GEOMETRY-Typ lassen sich (datensatzweise) verschiedene Geometrien abspeichern
- if ($geometryType != $geoType && $geometryType != 'GEOMETRY') { 
-	echo "<br>";
-	echo "Geometrie (".$geoType.") stimmt nicht mit der der Tabelle (".$geometryType.") �berein!";
-	die;
- }
-
- if(count(myX) != count(myY)){
-   echo "Geometrie verschl�sselt.....................";
-   die;
- }
- $sql = "INSERT INTO ".$tablenames."(";
- for($i=0; $i<count($myColumns); $i++){
-   if($i>0){
-      $sql .= ",";
-   }
-   $sql .= $myColumns[$i]; 
- }
- $sql .= ") ";
- $sql .= "VALUES (";
- for($i=0; $i<count($myColumns); $i++){
-   if($i>0){
-      $sql .= ",";
-   } 
-
-   if($myColumns[$i] == $myGeometry){
-		//NEW!!  $geoType anstelle von $geometryType, um a) auch in Tabellen mit Geometrietyp 'Geometry' abspeichern zu k�nnen
-		if ($geoType == "POINT") { 
-			$sql .= "transform(GeometryFromText('".$geoType."("; //$geoType anstelle von $geometryType s. o.
-		} elseif ($geoType == "LINESTRING") { 
-			$sql .= "transform(GeometryFromText('".$geoType."("; 
-		} elseif ($geoType == "MULTILINESTRING") { 
-			$sql .= "transform(GeometryFromText('".$geoType."(("; 
-		} elseif ($geoType == "POLYGON") { 
-			$sql .= "transform(GeometryFromText('".$geoType."(("; 
-		} elseif ($geoType == "MULTIPOLYGON") { 
-			$sql .= "transform(GeometryFromText('".$geoType."((("; 
-		}
-     	for($j=0; $j<count($myX); $j++){  
-     		if($j > 0){$sql .= ", ";}
-  	   	$sql .= $myX[$j] . " " . $myY[$j];
-     	}  	
-		if ($geoType == "POINT") {
-//			$sql .= ")))',".$src_epsg."),".$epsg.")"; //OLD!!!  so funktioniert es mit postgis Version 0.9 !!
-			$sql .= ")',".$src_epsg."),".$epsg.")"; //NEW!!! aber nur so mit 1.0.0 RC6
-			} elseif ($geoType == "LINESTRING") { //NEW!!!
-			$sql .= ")',".$src_epsg."),".$epsg.")"; 
-			} elseif ($geoType == "MULTILINESTRING") { 
-//			$sql .= "))))',".$src_epsg."),".$epsg.")";  // 0.9
-			$sql .= "))',".$src_epsg."),".$epsg.")"; // postgis 1.0.0
-			} elseif ($geoType == "POLYGON") { 
-			$sql .= "))',".$src_epsg."),".$epsg.")"; //NEW!!!
-			} elseif ($geoType == "MULTIPOLYGON") { 
-//			$sql .= ")))))',".$src_epsg."),".$epsg.")";  // 0.9
-			$sql .= ")))',".$src_epsg."),".$epsg.")"; // postgis 1.0.0
-		} 
-/* Linestrings lassen sich in MULTILINESTRING, Polygone in MULTIPOLYGON-Tabellen abspeichern, wenn gegen $geoType gepr�ft wird, ergibt sich kein Problem
-// da sich aber MULTI... nicht in Tabellen vom einfachen Typ LINESTRING bzw. POLYGON  abspeichern lassen, wurde dies oben (unelegant) abgefangen		
-		else {
-			echo "<br>Tabelle vom Typ Linestring, Polygon etc?";
-		}
-*/
-   }
-   else{
-    /*
-     * @security_patch sqli done
-     */
-      $sql .= "'".pg_escape_string($_REQUEST[$myColumns[$i]])."'";
-   }
- }
- $sql .= ")";
- #echo  $sql;
-$res = pg_query($con,$sql);
-}
-
-?>
-</form>
-</body>
-</html>

Deleted: trunk/mapbender/http/php/mod_updateDatabaseUuid.php
===================================================================
--- trunk/mapbender/http/php/mod_updateDatabaseUuid.php	2016-05-27 07:11:28 UTC (rev 9487)
+++ trunk/mapbender/http/php/mod_updateDatabaseUuid.php	2016-05-27 07:16:01 UTC (rev 9488)
@@ -1,147 +0,0 @@
-<?php
-# http://www.mapbender.org/index.php/Administration
-# Copyright (C) 2002 CCGIS 
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-/*
-ALTER TABLE wms ADD COLUMN uuid UUID;
-ALTER TABLE layer ADD COLUMN uuid UUID;
-ALTER TABLE wfs ADD COLUMN uuid UUID;
-ALTER TABLE wfs_featuretype ADD COLUMN uuid UUID;
-*/
-
-
-require_once dirname(__FILE__) . "/../../core/globalSettings.php";
-require_once dirname(__FILE__) . "/../classes/class_Uuid.php";
-/*
-//DROP uuid columns
-$v = array();
-$t = array();
-$sql = "ALTER TABLE wms DROP COLUMN uuid;";
-$res = db_prep_query($sql,$v,$t);
-
-$v = array();
-$t = array();
-$sql = "ALTER TABLE layer DROP COLUMN uuid;";
-$res = db_prep_query($sql,$v,$t);
-
-$v = array();
-$t = array();
-$sql = "ALTER TABLE wfs DROP COLUMN uuid;";
-$res = db_prep_query($sql,$v,$t);
-
-$v = array();
-$t = array();
-$sql = "ALTER TABLE wfs_featuretype DROP COLUMN uuid;";
-$res = db_prep_query($sql,$v,$t);
-
-//generate new columns
-$v = array();
-$t = array();
-$sql = "ALTER TABLE wms ADD COLUMN uuid UUID;";
-$res = db_prep_query($sql,$v,$t);
-
-$v = array();
-$t = array();
-$sql = "ALTER TABLE layer ADD COLUMN uuid UUID;";
-$res = db_prep_query($sql,$v,$t);
-
-$v = array();
-$t = array();
-$sql = "ALTER TABLE wfs ADD COLUMN uuid UUID;";
-$res = db_prep_query($sql,$v,$t);
-
-$v = array();
-$t = array();
-$sql = "ALTER TABLE wfs_featuretype ADD COLUMN uuid UUID;";
-$res = db_prep_query($sql,$v,$t);
-
-*/
-
-//update wms table
-$v = array();
-$t = array();
-$sql = "SELECT wms_id FROM wms WHERE uuid IS NULL;";
-$res = db_prep_query($sql,$v,$t);
-$countWmsWithoutUuid = 0;
-while($row = db_fetch_array($res)){
-		$wmsId = $row['wms_id'];
-		$uuid = new Uuid();
-		$vUpdate = array($uuid,$wmsId);
-		$tUpdate = array('s');
-		$sqlUpdate = "UPDATE wms set uuid = $1 WHERE wms_id = $2;";
-		$resUpdate = db_prep_query($sqlUpdate,$vUpdate,$tUpdate);
-		$countWmsWithoutUuid++;
-}
-echo $countWmsWithoutUuid." WMS updated!";
-echo "<br>";
-//end -- update wms table
-//update layer table
-$v = array();
-$t = array();
-$sql = "SELECT layer_id FROM layer WHERE uuid IS NULL;";
-$res = db_prep_query($sql,$v,$t);
-$countLayerWithoutUuid = 0;
-while($row = db_fetch_array($res)){
-		$layerId = $row['layer_id'];
-		$uuid = new Uuid();
-		$vUpdate = array($uuid,$layerId);
-		$tUpdate = array('s');
-		$sqlUpdate = "UPDATE layer set uuid = $1 WHERE layer_id = $2;";
-		$resUpdate = db_prep_query($sqlUpdate,$vUpdate,$tUpdate);
-		$countLayerWithoutUuid++;
-}
-echo $countLayerWithoutUuid." Layer updated!";
-echo "<br>";
-//end -- update layer table
-//update wfs table
-$v = array();
-$t = array();
-$sql = "SELECT wfs_id FROM wfs WHERE uuid IS NULL;";
-$res = db_prep_query($sql,$v,$t);
-$countWfsWithoutUuid = 0;
-while($row = db_fetch_array($res)){
-		$wfsId = $row['wfs_id'];
-		$uuid = new Uuid();
-		$vUpdate = array($uuid,$wfsId);
-		$tUpdate = array('s');
-		$sqlUpdate = "UPDATE wfs set uuid = $1 WHERE wfs_id = $2;";
-		$resUpdate = db_prep_query($sqlUpdate,$vUpdate,$tUpdate);
-		$countWfsWithoutUuid++;
-}
-echo $countWfsWithoutUuid." Wfs updated!";
-echo "<br>";
-//end -- update wfs table
-//update featuretype table
-$v = array();
-$t = array();
-$sql = "SELECT featuretype_id FROM wfs_featuretype WHERE uuid IS NULL;";
-$res = db_prep_query($sql,$v,$t);
-$countFeaturetypeWithoutUuid = 0;
-while($row = db_fetch_array($res)){
-		$featuretypeId = $row['featuretype_id'];
-		$uuid = new Uuid();
-		$vUpdate = array($uuid,$featuretypeId);
-		$tUpdate = array('s');
-		$sqlUpdate = "UPDATE wfs_featuretype set uuid = $1 WHERE featuretype_id = $2;";
-		$resUpdate = db_prep_query($sqlUpdate,$vUpdate,$tUpdate);
-		$countFeaturetypeWithoutUuid++;
-}
-echo $countFeaturetypeWithoutUuid." Featuretype updated!";
-echo "<br>";
-//end -- update featuretype table
-
-?>

Deleted: trunk/mapbender/http/php/mod_wmc2ol_old.php
===================================================================
--- trunk/mapbender/http/php/mod_wmc2ol_old.php	2016-05-27 07:11:28 UTC (rev 9487)
+++ trunk/mapbender/http/php/mod_wmc2ol_old.php	2016-05-27 07:16:01 UTC (rev 9488)
@@ -1,448 +0,0 @@
-<?php
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-require_once(dirname(__FILE__)."/../../core/globalSettings.php");
-
-$userId = Mapbender::session()->get("mb_user_id");
-
-//check for parameter wmc_id
-if (!isset($_GET["wmc_id"])) {
-	echo 'Error: wmc_id not requested<br>';
-	die;
-	//must leave script
-}
-
-function _e ($str) {
-	return htmlentities($str, ENT_QUOTES, CHARSET);
-}
-
-if (!$userId) {
-	$userId = PUBLIC_USER;
-}
-
-//the next functions should come from class administration, but they are not included as they are needed
-//TODO
-function getLayerPermission($wms_id, $layer_id, $user_id){
-	
-	//$layer_id = $this->getLayerIdByLayerName($wms_id,$layer_name);
-	$array_guis = getGuisByPermission($user_id,true);
-	$v = array();
-	$t = array();
-	$sql = "SELECT * FROM gui_layer WHERE fkey_gui_id IN (";
-	$c = 1;
-	//generate guilist assigned to specific user
-	for($i=0; $i<count($array_guis); $i++){
-		if($i>0){ $sql .= ",";}
-		$sql .= "$".$c;
-		$c++;
-		array_push($v, $array_guis[$i]);
-		array_push($t, 's');
-	}
-	$sql .= ") AND fkey_layer_id = $".$c." AND gui_layer_status = 1"; //status 1 must be
-	array_push($v,$layer_id);
-	array_push($t,'i');
-	
-	$res = db_prep_query($sql,$v,$t);
-	if($row = db_fetch_array($res)){
-		return true;
-	}
-	else{
-		return false;
-	}
-}
-
-function getGuisByPermission($mb_user_id,$ignoreublic){
-	$arrayGuis = array();
-	$mb_user_groups = array();
-	$sql_groups = "SELECT fkey_mb_group_id FROM mb_user_mb_group WHERE fkey_mb_user_id = $1 ";
-	$v = array($mb_user_id);
-	$t = array("i");
-	$res_groups = db_prep_query($sql_groups,$v,$t);
-	$cnt_groups = 0;
-	while($row = db_fetch_array($res_groups)){
-		$mb_user_groups[$cnt_groups] = $row["fkey_mb_group_id"];
-		$cnt_groups++;
-	}
-	if($cnt_groups > 0){
-		$v = array();
-		$t = array();
-		$sql_g = "SELECT gui.gui_id FROM gui JOIN gui_mb_group ";
-		$sql_g .= " ON gui.gui_id = gui_mb_group.fkey_gui_id WHERE gui_mb_group.fkey_mb_group_id IN (";
-		for($i=0; $i<count($mb_user_groups);$i++){
-			if($i > 0){$sql_g .= ",";}
-			$sql_g .= "$".strval($i+1);
-			array_push($v,$mb_user_groups[$i]);
-			array_push($t,"i");
-		}
-		$sql_g .= ") GROUP BY gui.gui_id";
-		$res_g = db_prep_query($sql_g,$v,$t);
-		while($row = db_fetch_array($res_g)){
-			array_push($arrayGuis,$row["gui_id"]);
-		}
-	}
-	$sql_guis = "SELECT gui.gui_id FROM gui JOIN gui_mb_user ON gui.gui_id = gui_mb_user.fkey_gui_id";
-	$sql_guis .= " WHERE (gui_mb_user.fkey_mb_user_id = $1) ";
-	if (!isset($ignore_public) OR $ignore_public== false){
-		$sql_guis .= " AND gui.gui_public = 1 ";
-	}
-	$sql_guis .= " GROUP BY gui.gui_id";
-	$v = array($mb_user_id);
-	$t = array("i");
-	$res_guis = db_prep_query($sql_guis,$v,$t);
-	$guis = array();
-	while($row = db_fetch_array($res_guis)){
-		if(!in_array($row['gui_id'],$arrayGuis)){
-			array_push($arrayGuis,$row["gui_id"]);
-		}
-	}
-	return $arrayGuis;
-}
-//end of functions which m,ay be included from class_administration in next versions
-#**************************************************************************
-
-//Function to create an OpenLayers Javascript from a mapbender wmc document
-function createOlFromWMC_id($wmc_id){
-	global $userId;
-	//Get WMC out of mb Database
-	$sql = "SELECT wmc FROM mb_user_wmc WHERE wmc_serial_id = $1";
-	$res = db_prep_query($sql, array($wmc_id), array("s"));
-	$wmc = db_fetch_row($res);
-	//Read out WMC into XML object
-	$xml=simplexml_load_string($wmc[0], "SimpleXMLElement", LIBXML_NOBLANKS);
-	//generate general html data
-	$html='';
-	$html.="<html xmlns='http://www.w3.org/1999/xhtml'>\n";
-	$html.="<head>\n";
-	//define global variables for extent out of WMC File
-	$windowWidth=$xml->General->Window->attributes()->width;
-	$windowHeight=$xml->General->Window->attributes()->height;
-	$htmlWidth=$windowWidth+40;
-	$htmlHeight=$windowHeight+70;
-	//define CSS 
-   	$html.="<style type='text/css'>\n";
-        $html.=" #map {\n";
-        	$html.="width: ".$windowWidth."px;\n";
-        	$html.="height: ".$windowHeight."px;\n";
-        	$html.="border: 1px solid black;\n";
-		$html.="overflow:visible;\n";
-        $html.="}\n";
-	$html.=" #srs {\n";
-	        $html.="font-size: 80%;\n";
-	        $html.="color: #444;\n";
-	        $html.="}\n";
-	$html.=" #showpos {\n";
-	        $html.="font-size: 80%;\n";
-	        $html.="color: #444;\n";
-	        $html.="}\n";
-	$html.="</style>\n";
-	//Generate Title
-	$html.="<title>".$xml->General->Title."</title>\n";
-	//include OL libs from local source - must be minimized
-	$html.="<script src='../extensions/OpenLayers-2.8/OpenLayers.js'></script>\n";
-	$html.="<script type='text/javascript'>\n";
-	//check for queryable layers
-	$layer_array_queryable=array();
-	$layer_array=$xml->LayerList->Layer;
-	$html.="var map;\n";
-	$someLayerQueryable=false;
-	for ($i=0; $i<count($layer_array); $i++) {
-		$html.="var layer".$i.";\n";
-		$mb_extensions=$xml->LayerList->Layer[$i]->Extension->children('http://www.mapbender.org/context');
-		$layer_array_queryable[$i]=$mb_extensions->querylayer;
-		if (($layer_array_queryable[$i]=='1') and ($xml->LayerList->Layer[$i]->attributes()->hidden=='0')){
-			$someLayerQueryable=true;
-		}	
-	}
-	//define special BBOX
-	$out_box=0.3;
-	//get min/max extents for olbox
-	$minx = $xml->General->BoundingBox->attributes()->minx;
-	$miny = $xml->General->BoundingBox['miny'];
-	$maxx = $xml->General->BoundingBox['maxx'];
-	$maxy = $xml->General->BoundingBox['maxy'];
-	$centralx=floor(($maxx+$minx)/2);
-	$centraly=floor(($maxy+$miny)/2);
-	$dx=$maxx-$minx;//in meters
-	$dy=$maxy-$miny;//in meters
-	//define zoom levels
-	$numberZoomLevels=20;
-	//define central position in projected system
-	$html.="var lat = $centralx;\n"; 
-       	$html.="var lon = $centraly;\n";
-	$centralPointx=($maxx+$minx)/2;
-	$centralPointy=($maxy+$miny)/2;
-	//startzoom faktor - check if usefull
-     	$html.="var zoom = 10;\n";
-	//start function for initialize client
-	$html.="function init(){\n";
-	//define ol map object	
-	$html.="map = new OpenLayers.Map( 'map' );\n";
-	$html.=" var markers;\n";
-	//define options for ol map object	
-	$html.="var options = {\n";
-        	$html.=" projection: \"".$xml->General->BoundingBox['SRS']."\",\n";
-		if ($xml->General->BoundingBox['SRS']=='EPSG:4326'){
-			echo 'Please choose an other coordinatereferencesystem. Converting Scales to Geographic Coordinates is not yet implemented!';
-			return; 
-		}
-		$html.=" units: \"m\",\n";
-		$html.="numZoomLevels: ".$numberZoomLevels.",\n";
-		$html.="minResolution: 0.01\n";
-	$html.="};\n";
-	//New for given GET Params mb_myBBOX and mb_myBBOXEpsg******************************************
-	//Before defining the bounds check if mb_myBBOX and mb_myBBOXEpsg are defined.
-	//Check for given mb_myBBOX
-	if(isset($_REQUEST["mb_myBBOX"])){
-		//Check for numerical values for BBOX
-		$array_bbox=explode(',',$_REQUEST["mb_myBBOX"]);
-		if ((is_numeric($array_bbox[0])) and (is_numeric($array_bbox[1])) and (is_numeric($array_bbox[2])) and (is_numeric($array_bbox[3])) ) {
-			if(isset($_REQUEST["mb_myBBOXEpsg"])){
-				//Check epsg
-				$targetEpsg=intval($_REQUEST["mb_myBBOXEpsg"]);
-				if (($targetEpsg >= 1) and ($targetEpsg <= 50001)) {
-					#echo "is in the codespace of the epsg registry\n";
-					} else {
-					#echo "is outside\n";
- 					echo "alert('The REQUEST parameter mb_myBBOXEpsg is not in the epsg realm - please define another EPSG Code.');";
- 					return;
-				}
-				//Check if epsg is equal to BBOXEpsg
-				//Get epsg code out of WMC
-				$xml_epsg=str_replace('EPSG:','',$xml->General->BoundingBox['SRS']);
-				if ($_REQUEST["mb_myBBOXEpsg"]!=$xml_epsg){
-					//Transform the given BBOX to epsg of WMC
-					$sql= "select asewkt(transform(GeometryFromText ( 'LINESTRING ( ".$array_bbox[0]." ".$array_bbox[1].",".$array_bbox[2]." ".$array_bbox[3]." )', $targetEpsg ),".intval($xml_epsg)."))";
-					$e = new mb_notice("mod_wms2ol.php: sql (transform)=".$sql);
-					$res = db_query($sql);
-					//read out result
-					$text_bbox = db_fetch_row($res);
-					$e = new mb_notice("mod_wms2ol.php: text_bbox=".$text_bbox[0]);
-					$pattern = '~LINESTRING\((.*)\)~i';
-					preg_match($pattern, $text_bbox[0], $subpattern);
-					$e = new mb_notice("mod_wms2ol.php: subpattern=".$subpattern[1]);
-					//exchange blancspaces
-					$new_bbox = str_replace(" ", ",", $subpattern[1]);
-					//set new BBOX
-					$array_bbox_new=explode(',',$new_bbox);
-					$minx_new=$array_bbox_new[0];
-					$miny_new=$array_bbox_new[1];
-					$maxx_new=$array_bbox_new[2];
-					$maxy_new=$array_bbox_new[3];
-					$centralx=($maxx_new+$minx_new)/2;
-					$centraly=($maxy_new+$miny_new)/2;
-				}
-				else
-				{
-				//Set the new BBOX unaltered
-				$minx=$array_bbox[0];
-				$miny=$array_bbox[1];
-				$maxx=$array_bbox[2];
-				$maxy=$array_bbox[3];
-				}
-			}
-		}
-		else
-		{
-			echo "alert('The REQUEST parameters for mb_myBBOX are not numeric - please give numeric values!');";
-			return;
-		}
-	} 
-	//**********************************************************************************************
-	//define variable bounds	
-	$html.="var bounds = new OpenLayers.Bounds(".$minx.",".$miny.",".$maxx.",".$maxy.");\n";
-	//if some layer defined, create base layer -> first layer in wmc	
-	if (count($layer_array) != 0){
-		$i=0;
-		$html.="layer0 = new OpenLayers.Layer.WMS( \"".$xml->LayerList->Layer[$i]->Title."\",\n";
-		$extensions=$xml->LayerList->Layer[$i]->Extension->children('http://www.mapbender.org/context');
-		$layer_id=dom_import_simplexml($extensions->layer_id)->nodeValue;
-		$wms_id=$extensions->wms_id;
-
-//	?!	$has_permission=getLayerPermission($wms_id,$layer_id,2);//problem: guest user must have fix id
-		$has_permission=getLayerPermission($wms_id,$layer_id,$userId);//problem: guest user must have fix id
-		//echo $layer_id."<br>";
-		if ($has_permission || $layer_id==''){
-			$html.="\"".$xml->LayerList->Layer[$i]->Server->OnlineResource->attributes('http://www.w3.org/1999/xlink')->href."\",\n";
-			$html.="{\n";
-			$html.="layers: \"".$xml->LayerList->Layer[$i]->Name."\",\n";
-			//get FormatList and the current active format -> TODO: make a function for getting actual format for request
-			$format='png';
-			foreach ($xml->LayerList->Layer[$i]->FormatList->Format as $current_format) {
-				if ($current_format->attributes()->current=='1'){    
-					$format=$current_format;
-				}
-			}
-			#$format=str_replace('image/','',$format);
-			$html.="format: \"".$format."\",\n";
-			$html.="transparent: \"On\"\n";
-			$html.="},\n";
-			$html.="{\n";
-	             	$html.="maxExtent: new OpenLayers.Bounds(".$minx.",".$miny.",".$maxx.",".$maxy."),\n";                    
-                        // then check map.baseLayer.resolutions[0] for
-                        // a reasonable value.
-			$html.="projection: \"".$xml->General->BoundingBox['SRS']."\",\n";  
-              		$html.="units: \"m\",\n"; 
-			$html.="numZoomLevels: ".$numberZoomLevels.",\n";
-			$minScale=dom_import_simplexml($extensions->gui_minscale)->nodeValue;
-			$maxScale=dom_import_simplexml($extensions->gui_maxscale)->nodeValue;
-			if (!$maxScale){
-				$maxScale='10000000';
-			}
-			if (!$minScale){
-				$minScale='0.1';
-			}
-			$html.="minScale: ".$minScale.",\n"; 
-			$html.="maxScale: ".$maxScale.",\n"; 
-			$html.="singleTile: true\n";
-                 	//Only neccesary for working with scales.
-                	$html.="  } );\n";
-          		$html.=" map.addLayer(layer0);\n";
-		} else {
-			echo "Guest don't have permission on Base-Layer or ".$layer_id." therefor OpenLayers client will not be generated!<br>";
-		}
-	}
-	//create the overlay layers for which the user guest has permissions
-	for ($i=1; $i<count($layer_array); $i++) {
-		$extensions=$xml->LayerList->Layer[$i]->Extension->children('http://www.mapbender.org/context');
-		$wms_id=$extensions->wms_id;
-		$layer_id=dom_import_simplexml($extensions->layer_id)->nodeValue;
-
-		$has_permission=getLayerPermission($wms_id,$layer_id,$userId);//problem: guest user must have fix id TODO
-		if (($xml->LayerList->Layer[$i]->attributes()->hidden=='0' && $has_permission) ||
-			($layer_id=='' && $xml->LayerList->Layer[$i]->attributes()->hidden=='0')){
-				
-			$html.="layer".$i." = new OpenLayers.Layer.WMS( \"".$xml->LayerList->Layer[$i]->Title."\",\n";
-			$html.="\"".$xml->LayerList->Layer[$i]->Server->OnlineResource->attributes('http://www.w3.org/1999/xlink')->href."\",\n";
-			$html.="{\n";
-			$html.="layers: \"".$xml->LayerList->Layer[$i]->Name."\",\n";
-			//Get FormatList and the current active format
-			$format='png';
-			foreach ($xml->LayerList->Layer[$i]->FormatList->Format as $current_format) {
-				if ($current_format->attributes()->current=='1'){    
-					$format=$current_format;
-				}
-			}
-			#$format=str_replace('image/','',$format);
-			$html.="format: \"".$format."\",\n";
-			$html.="transparent: \"TRUE\"\n";
-			$html.="},\n";
-			$html.="{\n";
-             		$html.="maxExtent: new OpenLayers.Bounds(".$minx.",".$miny.",".$maxx.",".$maxy."),\n";       
-			$html.="projection: \"".$xml->General->BoundingBox['SRS']."\",\n";  
-              		$html.="units: \"m\",\n"; 
-			$html.="singleTile: true,\n";
-			$html.="numZoomLevels: ".$numberZoomLevels.",\n";
-			//$extensions=$xml->LayerList->Layer[$i]->Extension->children('http://www.mapbender.org/context');
-			$minScale=dom_import_simplexml($extensions->gui_minscale)->nodeValue;
-			$maxScale=dom_import_simplexml($extensions->gui_maxscale)->nodeValue;
-			if (!$maxScale){
-				$maxScale='10000000';
-			}
-			if (!$minScale){
-				$minScale='0.1';
-			}
-			$html.="minScale: ".$minScale.",\n"; 
-			$html.="maxScale: ".$maxScale.",\n"; 
-			$html.="'isBaseLayer': false\n";
-                	$html.="  } );\n";
-          		$html.=" map.addLayer(layer".$i.");\n";
-		}
-	}
-	//do some global things
-	//vector layer for logo or link
-	//$html.="var vector = new OpenLayers.Layer.Vector('Simple Geometry',\n";
-	//$html.="{attribution:'test'});\n";
-  	//$html.="map.addLayer(vector);\n";
-   	//$html.="map.addControl(new OpenLayers.Control.Attribution({'div':OpenLayers.Util.getElement('attribution')}));\n";
-	//Check if central marker should be set and draw one
-	if(isset($_REQUEST["mb_drawCentre"])&isset($centralx)&isset($centraly)){
-		if ($_REQUEST["mb_drawCentre"]='1'){
-			$html.="var markers = new OpenLayers.Layer.Markers(\"Markers\", {'calculateInRange': function() { return true; }});\n";
-			$html.="var size = new OpenLayers.Size(15,20);\n";
-			$html.="calculateOffset = function(size) {return new OpenLayers.Pixel(-(size.w/2), -size.h); };\n";
-			$html.="var icon = new OpenLayers.Icon('../extensions/OpenLayers-2.8/img/marker.png',size, null, calculateOffset);\n";
-			$html.="markers.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(".$centralx.",".$centraly."),icon));\n";
-			$html.="map.addLayer(markers);\n";
-		}
-		else {
-			echo "alert('The REQUEST parameter mb_drawCentre is outside of his realm!');";
- 			return;
-		}
-	}
-	//Zoom to extent of given mb_myBBOX 
-	if(isset($_REQUEST["mb_myBBOX"])){
-		$html.="var newBounds = new OpenLayers.Bounds(".$minx_new.",".$miny_new.",".$maxx_new.",".$maxy_new.");\n";
-		$html.="map.setCenter(new OpenLayers.LonLat(".$centralx.",".$centraly."),zoom);\n";
-		$html.="map.zoomToExtent(newBounds);\n";
-
-	} else {
-		$html.="map.zoomToExtent(bounds);\n";
-	}
-	if(isset($_REQUEST["showCoords"])){
-		if($_REQUEST["showCoords"]=='1'){
-			$html.="var mp = new OpenLayers.Control.MousePosition({'div':OpenLayers.Util.getElement('showpos'),'numDigits':2});\n";
-			$html.="mp.numDigits = 2;\n";
-			$html.="map.addControl(mp);";
-		}	
-	}
-	//Generate the possibility to do GetFeatureInfo if this was activated in wmc
-	if ($someLayerQueryable){
-		$html.="map.events.register('click', map, function (e) {\n";
-		//loop for all layers
-		for ($i=0; $i<count($layer_array); $i++){
-			if ($layer_array_queryable[$i]=='1'){
-				$html.="var url".$i." =  layer".$i.".getFullRequestString({\n";
-                $html.=" REQUEST: \"GetFeatureInfo\",\n";
-                $html.=" FEATURE_COUNT: \"100\",\n";
-				$html.="EXCEPTIONS: \"application/vnd.ogc.se_xml\",\n";
-				$html.="BBOX: layer".$i.".map.getExtent().toBBOX(),\n";
-				$html.="X: e.xy.x,\n";
-				$html.="Y: e.xy.y,\n";
-				$html.="INFO_FORMAT: 'text/html',\n";
-				$html.="QUERY_LAYERS: layer".$i.".params.LAYERS,\n";
-				$html.=" WIDTH: layer".$i.".map.size.w,\n";
-				$html.="HEIGHT: layer".$i.".map.size.h});\n";
-				$html.="window.open(url".$i.",target=\"_blank\",\"width=300,height=400,left=100,top=200\");\n";	
-			}	
-		}
-		$html.="OpenLayers.Event.stop(e);\n";
-		$html.=" });\n";
-	}
-	//end GetfeatureInfo
-	$html.="}\n";//End of function
- 	$html.="</script>\n";
- 	$html.=" </head>\n";
-  	$html.="<body onload='init()'>\n";
-   	$html.="<div id='tags'></div>\n";
-   	$html.="<div id='map' class='smallmap'></div>\n";//class dont exists
-   	$html.="<div id='docs'>\n";
-  	$html.="\n";
-   	$html.="</div>\n";
-	//Show coords if wished
-	if($_REQUEST["mb_showCoords"]=='1'){
-//		$html.="<div id='srs' class='csrs'>Koordinaten in <a href = '../../../mediawiki/index.php/".$xml->General->BoundingBox['SRS']."' target='_blank'>".$xml->General->BoundingBox['SRS']."</a>:</div>\n";
-		$html.="<div id='srs' class='csrs'>Koordinaten in ".$xml->General->BoundingBox['SRS'].":</div>\n";
-	}
-	$html.="<div id='showpos'></div>\n";
-	$html.="<div id='attribution'></div>\n";
-  	$html.="</body>\n";
-	$html.="</html>\n";
-	//Print out HTML code
-	echo $html;
-}
-
-//end of function createOlfromWMC_id()
-createOlfromWMC_id($_GET["wmc_id"]);
-?>
\ No newline at end of file

Deleted: trunk/mapbender/http/php/mod_zoomCoords.php_deprecated
===================================================================
--- trunk/mapbender/http/php/mod_zoomCoords.php_deprecated	2016-05-27 07:11:28 UTC (rev 9487)
+++ trunk/mapbender/http/php/mod_zoomCoords.php_deprecated	2016-05-27 07:16:01 UTC (rev 9488)
@@ -1,107 +0,0 @@
-<?php
-#$Id: mod_zoomCoords.php 6728 2010-08-10 08:31:29Z christoph $
-# http://www.mapbender.org/Mapbender_without_iframes
-# Copyright (C) 2002 CCGIS 
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-require_once(dirname(__FILE__)."/../php/mb_validateSession.php");
-include(dirname(__FILE__)."/../include/dyn_js.php");
-?>
-try{
-	if (zoomCoords_permanentHighlight){}
-}
-catch(e){
-	zoomCoords_permanentHighlight = 'false';
-}
-
-var mod_zoomCoords_target = '<?php echo $e_target[0];?>';
-mod_zoomCoords_target = mod_zoomCoords_target.split(',');
-
-function zoomCoordinate(x,y){
-   x=x.replace(",",".");
-   y=y.replace(",",".");
-   
-   document.zoomCoordsForm.X.value=x;
-   document.zoomCoordsForm.Y.value=y;
-	  
-   if (isNaN(x)==true || isNaN(y)==true){
-       alert ("<?php echo _mb("Please type a number.");?>");
-   }else{
-   
-	   if(zoomCoords_permanentHighlight =='true'){
-		   setPermanentMarker(x,y);
-	   }
-  		hideHighlightZoomcoords()
-      	zoom(mod_zoomCoords_target[0],true, 1.0,x,y);
-   }
-}
-
-function highlightZoomcoords(x, y){
-	if(x!='' && y!=''){   
-	   x=x.replace(",",".");
-	   y=y.replace(",",".");
-	   
-	   document.zoomCoordsForm.X.value=x;
-	   document.zoomCoordsForm.Y.value=y;
-	  
-	   
-	   if (isNaN(x)==true || isNaN(y)==true){
-	     
-	   }
-	   else{
-			for(var i=0;i<mod_zoomCoords_target.length;i++){
-				mb_showHighlight(mod_zoomCoords_target[i],x,y);
-			}
-	   }
-	}
-}
-
-
-function hideHighlightZoomcoords(){
-	for(var i=0;i<mod_zoomCoords_target.length;i++){
-		mb_hideHighlight(mod_zoomCoords_target[i]);
-	}
-}
-
-function setPermanentMarker(x,y){
- 	mod_permanentHighlight_x = parseFloat(x);
-   	mod_permanentHighlight_y = parseFloat(y);
-   	mod_permanentHighlight_text = x + ' / '+ y;
-  
-   	mod_permanentHighlight_init();
-}
-
-parent.eventInitMap.register(function zoomCoorsInit(){
-	var el = document.getElementById("zoomCoords");
-	if(el){
-		el.innerHTML="<?php
-echo "<form style='font-family : Arial, Helvetica, sans-serif;font-size: 11px;' name='zoomCoordsForm' action='" . $_SERVER["SCRIPT_NAME"] . "?".SID."' method='post'>";
-#coordinates
-   
-   # Deutsche Version
-
-   # English Version
-      echo "<span style='position: absolute;left: 5px;top:5px;color: Gray;'>"._mb("Longitude").":</span>";
-      echo "<span style='position: absolute;left: 80px;top:5px;color: Gray;'>"._mb("Latitude").":</span>";
-      echo "<input style='position: absolute;left:5px;top:20px;color: Gray;width:65px;border: solid thin;height:20px;' type='text' name='X'>";
-      echo "<input style='position: absolute;left:80px;top:20px;color: Gray;width:65px;border: solid thin;height:20px;'class='texty' type='text' name='Y'>";
-      echo "<input style='position: absolute;left:150px;top:20px;color: Gray;border: solid thin;height:20px;' type='button' value='"._mb("ok")."' onclick='zoomCoordinate(document.zoomCoordsForm.X.value, document.zoomCoordsForm.Y.value); highlightZoomcoords(document.zoomCoordsForm.X.value, document.zoomCoordsForm.Y.value)' onmouseover='highlightZoomcoords(document.zoomCoordsForm.X.value, document.zoomCoordsForm.Y.value)' onmouseout='hideHighlightZoomcoords(document.zoomCoordsForm.X.value, document.zoomCoordsForm.Y.value)' >";
-
-echo "</form>";
-?>";
-	}
-});
-

Deleted: trunk/mapbender/http/php/mod_zoomCoords_en.php_deprecated
===================================================================
--- trunk/mapbender/http/php/mod_zoomCoords_en.php_deprecated	2016-05-27 07:11:28 UTC (rev 9487)
+++ trunk/mapbender/http/php/mod_zoomCoords_en.php_deprecated	2016-05-27 07:16:01 UTC (rev 9488)
@@ -1,185 +0,0 @@
-<?php
-# $Id: mod_zoomCoords_en.php 7097 2010-11-08 07:48:25Z apour $
-# http://www.mapbender.org/index.php/Administration
-# Copyright (C) 2002 CCGIS 
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-
-/*  
- * @security_patch irv open 
- */ 
-// security_patch_log(__FILE__,__LINE__); 
-import_request_variables("PG"); 
-require_once(dirname(__FILE__)."/../php/mb_validateSession.php");
-?>
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="cache-control" content="no-cache">
-<meta http-equiv="pragma" content="no-cache">
-<meta http-equiv="expires" content="0">
-<?php
-echo '<meta http-equiv="Content-Type" content="text/html; charset='.CHARSET.'">';	
-?>
-<title>Zoom to Coordinate</title>
-<style type="text/css">
-	    <!--
-
-	    body{
-	    	font-family : Arial, Helvetica, sans-serif;
-	    	font-size: 11px;
-	    }
-	    .labelx{
-	    	position: absolute;
-	    	left: 5px;
-	    	top:5px;
-	    	color: Gray;
-	    }
-	    .labely{
-	    	position: absolute;
-	    	left: 90px;
-	    	top:5px;
-	    	color: Gray;
-	    }
-	    .textx{
-	    	position: absolute;
-	    	left:5px;
-	    	top:20px;
-	    	color: Gray;
-	    	width:70px;
-         border: solid thin;
-         height:20px;
-	    }
-	    .texty{
-	    	position: absolute;
-	    	left:90px;
-	    	top:20px;
-         color: Gray;
-	    	width:70px;
-         border: solid thin;
-         height:20px;
-	    }
-       .send{
-  	    	position: absolute;
-	    	left:177px;
-	    	top:20px;
-         color: Gray;
-         border: solid thin;
-         height:20px;
-         width:30px;
-       }
-	    -->
-</style>
-<?php
-echo '<script type="text/javascript">';
-
-echo "var mod_zoomCoords_target = '".$e_target."';";
-echo "var target = mod_zoomCoords_target.split(',');";
-
-
-include(dirname(__FILE__)."/../include/dyn_js.php");
-
-?>
-try{
-	if (zoomCoords_permanentHighlight){}
-}
-catch(e){
-	zoomCoords_permanentHighlight = 'false';
-}
-
-
-function zoomCoordinate(){
-   var coordx = document.form1.X.value; 
-   var coordy = document.form1.Y.value;
-   coordx = coordx.replace(",",".");
-   coordy = coordy.replace(",",".");
-   var valid = true;
-    
- /*  if(parseFloat(coordx) < 5.88 ||  parseFloat(coordx) > 15){
-      alert("Eingabe unzulässig!");
-      document.form1.X.select();
-      document.form1.X.focus();
-      valid = false; 
-      return false;
-   }
-   if(parseFloat(coordy) < 46.62 ||  parseFloat(coordy) > 55.71){
-      alert("Eingabe unzulässig!");
-      document.form1.Y.select();
-      document.form1.Y.focus();
-      valid = false;
-      return false;
-   }   */
-   
-   if(zoomCoords_permanentHighlight =='true'){
-	   setPermanentMarker(coordx,coordy);
-   }
-   parent.mb_hideHighlight(target[0]);
-   parent.mb_hideHighlight(target[1]);
-   parent.zoom(target[0],true, 1.0,coordx,coordy);
-  
-}
-
-function highlight(x, y){
-	if(x!='' && y!=''){
-       x=x.replace(",",".");
-	   y=y.replace(",",".");
-	   
-	   document.form1.X.value=x;
-	   document.form1.Y.value=y;
-	   
-	   if (isNaN(x)==true || isNaN(y)==true){
-	     
-	   }
-	   else{
-	      parent.mb_showHighlight(target[0],x,y);
-	      parent.mb_showHighlight(target[1],x,y);
-	   }
-	}   
-}
-
-function hideHighlight(){
-   parent.mb_hideHighlight(target[0]);
-   parent.mb_hideHighlight(target[1]);
-}
-
-function setPermanentMarker(x,y){
-   parent.mod_permanentHighlight_x = parseFloat(x);
-   parent.mod_permanentHighlight_y = parseFloat(y);
-   parent.mod_permanentHighlight_text = x + ' / '+ y;
-   //alert('setPermanentMarker'+ parseFloat(x) + parseFloat(y));
-   
-   parent.mod_permanentHighlight_init();
-}
-// -->
-</script>
-</head>
-<body bgcolor='#ffffff' onload=''>
-
-<?php
-echo "<form name='form1' action='" . $self ."' method='post'>";
-#coordinates
-   
-   #deutsche Version
-      echo "<span class='labelx'>X-Coordinate:</span>";
-      echo "<span class='labely'>Y-Coordinate:</span>";
-      echo "<input class='textx' type='text' name='X'>";
-      echo "<input class='texty' type='text' name='Y'>";
-      echo "<input class='send' type='button' value='ok' onclick='zoomCoordinate();' onmouseover='highlight(document.form1.X.value, document.form1.Y.value)' onmouseout='if(document.form1.X.value !=\"\" && document.form1.Y.value !=\"\"){hideHighlight(document.form1.X.value, document.form1.Y.value);}' >";
-
-?>
-</form>
-</body>
-</html>

Deleted: trunk/mapbender/http/php/test.php
===================================================================
--- trunk/mapbender/http/php/test.php	2016-05-27 07:11:28 UTC (rev 9487)
+++ trunk/mapbender/http/php/test.php	2016-05-27 07:16:01 UTC (rev 9488)
@@ -1,3 +0,0 @@
-<?php
-phpinfo();
-?>

Deleted: trunk/mapbender/http/php/test_leuschner.php
===================================================================
--- trunk/mapbender/http/php/test_leuschner.php	2016-05-27 07:11:28 UTC (rev 9487)
+++ trunk/mapbender/http/php/test_leuschner.php	2016-05-27 07:16:01 UTC (rev 9488)
@@ -1,13 +0,0 @@
-<?php
-require_once dirname(__FILE__) . "/../../core/globalSettings.php";
-require_once dirname(__FILE__)."/../classes/class_connector.php";
-require_once dirname(__FILE__) . "/../classes/class_user.php";
-require_once dirname(__FILE__) . "/../classes/class_wms.php";
-require_once dirname(__FILE__) . "/../classes/class_Uuid.php";
-require_once(dirname(__FILE__) . "/../classes/class_administration.php");
-
-$capabilitiesURL = urldecode('http://213.135.13.212:8080/?REQUEST=GetCapabilities&SERVICE=WMS&VERSION=1.1.1');
-$capObject = new connector($capabilitiesURL);
-header("Content-type: application/xhtml+xml; charset=UTF-8");
-echo $capObject->file;
-?>

Deleted: trunk/mapbender/http/php/test_tou.php
===================================================================
--- trunk/mapbender/http/php/test_tou.php	2016-05-27 07:11:28 UTC (rev 9487)
+++ trunk/mapbender/http/php/test_tou.php	2016-05-27 07:16:01 UTC (rev 9488)
@@ -1,38 +0,0 @@
-<?php
-require_once(dirname(__FILE__) . "/../classes/class_tou.php");
-
-session_start();
-Mapbender::session()->delete("acceptedTou");
-
-$a = new tou();
-$result = $a->check('wms',1243);
-print_r(Mapbender::session()->get("acceptedTou"));
-echo "<br>";
-$result = $a->set('wms',1243);
-print_r(Mapbender::session()->get("acceptedTou"));
-echo "<br>";
-$result = $a->check('wms',1243);
-print_r(Mapbender::session()->get("acceptedTou"));
-echo "<br>";
-$result = $a->set('wfs',1248);
-print_r(Mapbender::session()->get("acceptedTou"));
-echo "<br>";
-#print_r(Mapbender::session()->get("acceptedTou"));
-#echo "<br>";
-$result = $a->set('wms',1248);
-print_r(Mapbender::session()->get("acceptedTou"));
-echo "<br>";
-$result = $a->check('wms',1248);
-
-print_r($result);
-print "<br><b>";
-print($result['accepted']);
-print "</b>";
-echo "<br>";
-$result = $a->set('wms',1248);
-print_r(Mapbender::session()->get("acceptedTou"));
-
-echo "<br>";
-
-
-?>



More information about the Mapbender_commits mailing list