[Mapbender-commits] r8683 - trunk/mapbender/http/classes
svn_mapbender at osgeo.org
svn_mapbender at osgeo.org
Wed Jul 31 07:22:38 PDT 2013
Author: verenadiewald
Date: 2013-07-31 07:22:38 -0700 (Wed, 31 Jul 2013)
New Revision: 8683
Modified:
trunk/mapbender/http/classes/class_wms.php
Log:
some code cleaning to avoid masses of PHP Notices + one bugfix in updateObjInDB
Modified: trunk/mapbender/http/classes/class_wms.php
===================================================================
--- trunk/mapbender/http/classes/class_wms.php 2013-07-31 14:09:41 UTC (rev 8682)
+++ trunk/mapbender/http/classes/class_wms.php 2013-07-31 14:22:38 UTC (rev 8683)
@@ -557,219 +557,219 @@
$this->gui_wms_featureinfoformat = "";
$this->wms_max_imagesize = 0;
foreach ($values as $element) {
- if(mb_strtoupper($element[tag]) == "WMT_MS_CAPABILITIES" && $element[type] == "open"){
- $this->wms_version = $element[attributes][version];
+ if(mb_strtoupper($element['tag'] ) == "WMT_MS_CAPABILITIES" && $element['type'] == "open"){
+ $this->wms_version = $element['attributes']['version'];
}
//WMS 1.3.0
- if(mb_strtoupper($element[tag]) == "WMS_CAPABILITIES" && $element[type] == "open"){
- $this->wms_version = $element[attributes][version];
+ if(mb_strtoupper($element['tag'] ) == "WMS_CAPABILITIES" && $element['type'] == "open"){
+ $this->wms_version = $element['attributes']['version'];
}
- if(mb_strtoupper($element[tag]) == "TITLE" && $element[level] == '3'){
- $this->wms_title = $this->stripEndlineAndCarriageReturn($element[value]);
+ if(mb_strtoupper($element['tag'] ) == "TITLE" && $element['level'] == '3'){
+ $this->wms_title = $this->stripEndlineAndCarriageReturn($element['value']);
}
- if(mb_strtoupper($element[tag]) == "ABSTRACT" && $element[level] == '3'){
- $this->wms_abstract = $this->stripEndlineAndCarriageReturn($element[value]);
+ if(mb_strtoupper($element['tag'] ) == "ABSTRACT" && $element['level'] == '3'){
+ $this->wms_abstract = $this->stripEndlineAndCarriageReturn($element['value']);
}
- if(mb_strtolower($element[tag]) == "fees"){
- $this->fees = $element[value];
+ if(mb_strtolower($element['tag'] ) == "fees"){
+ $this->fees = $element['value'];
}
- if(mb_strtolower($element[tag]) == "accessconstraints"){
- $this->accessconstraints = $element[value];
+ if(mb_strtolower($element['tag'] ) == "accessconstraints"){
+ $this->accessconstraints = $element['value'];
}
- if(mb_strtolower($element[tag]) == "contactperson"){
- $this->contactperson = $element[value];
+ if(mb_strtolower($element['tag'] ) == "contactperson"){
+ $this->contactperson = $element['value'];
}
- if(mb_strtolower($element[tag]) == "contactposition"){
- $this->contactposition = $element[value];
+ if(mb_strtolower($element['tag'] ) == "contactposition"){
+ $this->contactposition = $element['value'];
}
- if(mb_strtolower($element[tag]) == "contactorganization"){
- $this->contactorganization = $element[value];
+ if(mb_strtolower($element['tag'] ) == "contactorganization"){
+ $this->contactorganization = $element['value'];
}
- if(mb_strtolower($element[tag]) == "address"){
- $this->address = $element[value];
+ if(mb_strtolower($element['tag'] ) == "address"){
+ $this->address = $element['value'];
}
- if(mb_strtolower($element[tag]) == "city"){
- $this->city = $element[value];
+ if(mb_strtolower($element['tag'] ) == "city"){
+ $this->city = $element['value'];
}
- if(mb_strtolower($element[tag]) == "stateorprovince"){
- $this->stateorprovince = $element[value];
+ if(mb_strtolower($element['tag'] ) == "stateorprovince"){
+ $this->stateorprovince = $element['value'];
}
- if(mb_strtolower($element[tag]) == "postcode"){
- $this->postcode = $element[value];
+ if(mb_strtolower($element['tag'] ) == "postcode"){
+ $this->postcode = $element['value'];
}
- if(mb_strtolower($element[tag]) == "country"){
- $this->country = $element[value];
+ if(mb_strtolower($element['tag'] ) == "country"){
+ $this->country = $element['value'];
}
- if(mb_strtolower($element[tag]) == "contactvoicetelephone"){
- $this->contactvoicetelephone = $element[value];
+ if(mb_strtolower($element['tag'] ) == "contactvoicetelephone"){
+ $this->contactvoicetelephone = $element['value'];
}
- if(mb_strtolower($element[tag]) == "contactfacsimiletelephone"){
- $this->contactfacsimiletelephone = $element[value];
+ if(mb_strtolower($element['tag'] ) == "contactfacsimiletelephone"){
+ $this->contactfacsimiletelephone = $element['value'];
}
- if(mb_strtolower($element[tag]) == "contactelectronicmailaddress"){
- $this->contactelectronicmailaddress = $element[value];
+ if(mb_strtolower($element['tag'] ) == "contactelectronicmailaddress"){
+ $this->contactelectronicmailaddress = $element['value'];
}
- if(mb_strtolower($element[tag]) == "keyword" && $section != 'layer'){
- $this->wms_keyword[count($this->wms_keyword)] = $element[value];
+ if(mb_strtolower($element['tag'] ) == "keyword" && $section != 'layer'){
+ $this->wms_keyword[count($this->wms_keyword)] = $element['value'];
}
/*map section*/
if($this->wms_version == "1.0.0"){
- if(mb_strtoupper($element[tag]) == "MAP" && $element[type] == "open"){
+ if(mb_strtoupper($element['tag'] ) == "MAP" && $element['type'] == "open"){
$section = "map";
}
- if($section == "map" && mb_strtoupper($element[tag]) == "GET"){
- $this->wms_getmap = $element[attributes][onlineResource];
+ if($section == "map" && mb_strtoupper($element['tag'] ) == "GET"){
+ $this->wms_getmap = $element['attributes'][onlineResource];
}
- if($section == "map" && mb_strtoupper($element[tag]) == "FORMAT" && $element[type] == "open"){
+ if($section == "map" && mb_strtoupper($element['tag'] ) == "FORMAT" && $element['type'] == "open"){
$format = "map";
}
- if(mb_strtoupper($element[tag]) != "FORMAT" && $section == "map" && $format == "map"){
- if (!$this->formatExists("map", trim($element[tag]))) {
+ if(mb_strtoupper($element['tag'] ) != "FORMAT" && $section == "map" && $format == "map"){
+ if (!$this->formatExists("map", trim($element['tag'] ))) {
$this->data_type[$cnt_format] = "map";
- $this->data_format[$cnt_format] = trim($element[tag]);
+ $this->data_format[$cnt_format] = trim($element['tag'] );
$cnt_format++;
}
}
- if(mb_strtoupper($element[tag]) == "FORMAT" && $element[type] == "close"){
+ if(mb_strtoupper($element['tag'] ) == "FORMAT" && $element['type'] == "close"){
$format = "";
}
- if(mb_strtoupper($element[tag]) == "MAP" && $element[type] == "close"){
+ if(mb_strtoupper($element['tag'] ) == "MAP" && $element['type'] == "close"){
$section = "";
}
}
else{
- if(mb_strtoupper($element[tag]) == "GETMAP" && $element[type] == "open"){
+ if(mb_strtoupper($element['tag'] ) == "GETMAP" && $element['type'] == "open"){
$section = "map";
}
- if($section == "map" && mb_strtoupper($element[tag]) == "GET" && $element[type] == "open"){
+ if($section == "map" && mb_strtoupper($element['tag'] ) == "GET" && $element['type'] == "open"){
$request = "get";
}
- if($section == "map" && $request == "get" && mb_strtoupper($element[tag]) == "ONLINERESOURCE"){
- $this->wms_getmap = $element[attributes]["xlink:href"];
+ if($section == "map" && $request == "get" && mb_strtoupper($element['tag'] ) == "ONLINERESOURCE"){
+ $this->wms_getmap = $element['attributes']["xlink:href"];
}
- if($section == "map" && mb_strtoupper($element[tag]) == "FORMAT"){
- if (!$this->formatExists("map", trim($element[value]))) {
+ if($section == "map" && mb_strtoupper($element['tag'] ) == "FORMAT"){
+ if (!$this->formatExists("map", trim($element['value']))) {
$this->data_type[$cnt_format] = "map";
- $this->data_format[$cnt_format] = trim($element[value]);
+ $this->data_format[$cnt_format] = trim($element['value']);
$cnt_format++;
}
}
- if($section == "map" && mb_strtoupper($element[tag]) == "GET" && $element[type] == "close"){
+ if($section == "map" && mb_strtoupper($element['tag'] ) == "GET" && $element['type'] == "close"){
$request = "";
}
- if(mb_strtoupper($element[tag]) == "GETMAP" && $element[type] == "close"){
+ if(mb_strtoupper($element['tag'] ) == "GETMAP" && $element['type'] == "close"){
$section = "";
}
}
/*capabilities section*/
if($this->wms_version == "1.0.0"){
- if(mb_strtoupper($element[tag]) == "CAPABILITIES" && $element[type] == "open"){
+ if(mb_strtoupper($element['tag'] ) == "CAPABILITIES" && $element['type'] == "open"){
$section = "capabilities";
}
- if($section == "capabilities" && mb_strtoupper($element[tag]) == "GET"){
- $this->wms_getcapabilities = $element[attributes][onlineResource];
+ if($section == "capabilities" && mb_strtoupper($element['tag'] ) == "GET"){
+ $this->wms_getcapabilities = $element['attributes'][onlineResource];
}
- if(mb_strtoupper($element[tag]) == "CAPABILITIES" && $element[type] == "close"){
+ if(mb_strtoupper($element['tag'] ) == "CAPABILITIES" && $element['type'] == "close"){
$section = "";
}
}
else{
- if(mb_strtoupper($element[tag]) == "GETCAPABILITIES" && $element[type] == "open"){
+ if(mb_strtoupper($element['tag'] ) == "GETCAPABILITIES" && $element['type'] == "open"){
$section = "capabilities";
}
- if($section == "capabilities" && mb_strtoupper($element[tag]) == "GET" && $element[type] == "open"){
+ if($section == "capabilities" && mb_strtoupper($element['tag'] ) == "GET" && $element['type'] == "open"){
$request = "get";
}
- if($section == "capabilities" && $request == "get" && mb_strtoupper($element[tag]) == "ONLINERESOURCE"){
- $this->wms_getcapabilities = $element[attributes]["xlink:href"];
+ if($section == "capabilities" && $request == "get" && mb_strtoupper($element['tag'] ) == "ONLINERESOURCE"){
+ $this->wms_getcapabilities = $element['attributes']["xlink:href"];
}
- if($section == "capabilities" && mb_strtoupper($element[tag]) == "GET" && $element[type] == "close"){
+ if($section == "capabilities" && mb_strtoupper($element['tag'] ) == "GET" && $element['type'] == "close"){
$request = "";
}
- if(mb_strtoupper($element[tag]) == "GETCAPABILITIES" && $element[type] == "close"){
+ if(mb_strtoupper($element['tag'] ) == "GETCAPABILITIES" && $element['type'] == "close"){
$section = "";
}
}
/*featureInfo section*/
if($this->wms_version == "1.0.0"){
- if(mb_strtoupper($element[tag]) == "FEATUREINFO" && $element[type] == "open"){
+ if(mb_strtoupper($element['tag'] ) == "FEATUREINFO" && $element['type'] == "open"){
$section = "featureinfo";
}
- if($section == "featureinfo" && mb_strtoupper($element[tag]) == "GET"){
- $this->wms_getfeatureinfo = $element[attributes][onlineResource];
+ if($section == "featureinfo" && mb_strtoupper($element['tag'] ) == "GET"){
+ $this->wms_getfeatureinfo = $element['attributes'][onlineResource];
}
- if($section == "featureinfo" && mb_strtoupper($element[tag]) == "FORMAT" && $element[type] == "open"){
+ if($section == "featureinfo" && mb_strtoupper($element['tag'] ) == "FORMAT" && $element['type'] == "open"){
$format = "featureinfo";
}
- if(mb_strtoupper($element[tag]) != "FORMAT" && $section == "featureinfo" && $format == "featureinfo"){
- if (!$this->formatExists("featureinfo", trim($element[tag]))) {
+ if(mb_strtoupper($element['tag'] ) != "FORMAT" && $section == "featureinfo" && $format == "featureinfo"){
+ if (!$this->formatExists("featureinfo", trim($element['tag'] ))) {
$this->data_type[$cnt_format] = "featureinfo";
- $this->data_format[$cnt_format] = trim($element[tag]);
+ $this->data_format[$cnt_format] = trim($element['tag'] );
$cnt_format++;
}
}
- if(mb_strtoupper($element[tag]) == "FORMAT" && $element[type] == "close"){
+ if(mb_strtoupper($element['tag'] ) == "FORMAT" && $element['type'] == "close"){
$format = "";
}
- if(mb_strtoupper($element[tag]) == "FEATUREINFO" && $element[type] == "close"){
+ if(mb_strtoupper($element['tag'] ) == "FEATUREINFO" && $element['type'] == "close"){
$section = "";
}
}
else{
- if(mb_strtoupper($element[tag]) == "GETFEATUREINFO" && $element[type] == "open"){
+ if(mb_strtoupper($element['tag'] ) == "GETFEATUREINFO" && $element['type'] == "open"){
$section = "featureinfo";
}
- if($section == "featureinfo" && mb_strtoupper($element[tag]) == "GET" && $element[type] == "open"){
+ if($section == "featureinfo" && mb_strtoupper($element['tag'] ) == "GET" && $element['type'] == "open"){
$request = "get";
}
- if($section == "featureinfo" && $request == "get" && mb_strtoupper($element[tag]) == "ONLINERESOURCE"){
- $this->wms_getfeatureinfo = $element[attributes]["xlink:href"];
+ if($section == "featureinfo" && $request == "get" && mb_strtoupper($element['tag'] ) == "ONLINERESOURCE"){
+ $this->wms_getfeatureinfo = $element['attributes']["xlink:href"];
}
- if($section == "featureinfo" && mb_strtoupper($element[tag]) == "FORMAT"){
- if (!$this->formatExists("featureinfo", trim($element[value]))) {
+ if($section == "featureinfo" && mb_strtoupper($element['tag'] ) == "FORMAT"){
+ if (!$this->formatExists("featureinfo", trim($element['value']))) {
$this->data_type[$cnt_format] = "featureinfo";
- $this->data_format[$cnt_format] = trim($element[value]);
+ $this->data_format[$cnt_format] = trim($element['value']);
$cnt_format++;
}
}
- if($section == "featureinfo" && mb_strtoupper($element[tag]) == "GET" && $element[type] == "close"){
+ if($section == "featureinfo" && mb_strtoupper($element['tag'] ) == "GET" && $element['type'] == "close"){
$request = "";
}
- if(mb_strtoupper($element[tag]) == "GETFEATUREINFO" && $element[type] == "close"){
+ if(mb_strtoupper($element['tag'] ) == "GETFEATUREINFO" && $element['type'] == "close"){
$section = "";
}
}
/*exception section*/
if($this->wms_version == "1.0.0"){
- if(mb_strtoupper($element[tag]) == "EXCEPTION" && $element[type] == "open"){
+ if(mb_strtoupper($element['tag'] ) == "EXCEPTION" && $element['type'] == "open"){
$section = "exception";
}
- if($section == "exception" && mb_strtoupper($element[tag]) == "FORMAT" && $element[type] == "open"){
+ if($section == "exception" && mb_strtoupper($element['tag'] ) == "FORMAT" && $element['type'] == "open"){
$format = "exception";
}
- if(mb_strtoupper($element[tag]) != "FORMAT" && $section == "exception" && $format == "exception"){
+ if(mb_strtoupper($element['tag'] ) != "FORMAT" && $section == "exception" && $format == "exception"){
$this->data_type[$cnt_format] = "exception";
- $this->data_format[$cnt_format] = trim($element[tag]);
+ $this->data_format[$cnt_format] = trim($element['tag'] );
$cnt_format++;
}
- if($section == "exception" && mb_strtoupper($element[tag]) == "FORMAT" && $element[type] == "close"){
+ if($section == "exception" && mb_strtoupper($element['tag'] ) == "FORMAT" && $element['type'] == "close"){
$format = "";
}
- if(mb_strtoupper($element[tag]) == "EXCEPTION" && $element[type] == "close"){
+ if(mb_strtoupper($element['tag'] ) == "EXCEPTION" && $element['type'] == "close"){
$section = "";
}
}
else{
- if(mb_strtoupper($element[tag]) == "EXCEPTION" && $element[type] == "open"){
+ if(mb_strtoupper($element['tag'] ) == "EXCEPTION" && $element['type'] == "open"){
$section = "exception";
}
- if($section == "exception" && mb_strtoupper($element[tag]) == "FORMAT"){
+ if($section == "exception" && mb_strtoupper($element['tag'] ) == "FORMAT"){
$this->data_type[$cnt_format] = "exception";
- $this->data_format[$cnt_format] = trim($element[value]);
+ $this->data_format[$cnt_format] = trim($element['value']);
$cnt_format++;
}
- if(mb_strtoupper($element[tag]) == "EXCEPTION" && $element[type] == "close"){
+ if(mb_strtoupper($element['tag'] ) == "EXCEPTION" && $element['type'] == "close"){
$section = "";
}
}
@@ -778,224 +778,224 @@
}
else{
- if(mb_strtoupper($element[tag]) == "GETLEGENDGRAPHIC" && $element[type] == "open"){
+ if(mb_strtoupper($element['tag'] ) == "GETLEGENDGRAPHIC" && $element['type'] == "open"){
$section = "legend";
}
- if($section == "legend" && mb_strtoupper($element[tag]) == "GET" && $element[type] == "open"){
+ if($section == "legend" && mb_strtoupper($element['tag'] ) == "GET" && $element['type'] == "open"){
$request = "get";
}
- if($section == "legend" && $request == "get" && mb_strtoupper($element[tag]) == "ONLINERESOURCE"){
- $this->wms_getlegendurl = $element[attributes]["xlink:href"];
+ if($section == "legend" && $request == "get" && mb_strtoupper($element['tag'] ) == "ONLINERESOURCE"){
+ $this->wms_getlegendurl = $element['attributes']["xlink:href"];
}
- if($section == "legend" && mb_strtoupper($element[tag]) == "GET" && $element[type] == "close"){
+ if($section == "legend" && mb_strtoupper($element['tag'] ) == "GET" && $element['type'] == "close"){
$request = "";
}
- if(mb_strtoupper($element[tag]) == "GETLEGENDGRAPHIC" && $element[type] == "close"){
+ if(mb_strtoupper($element['tag'] ) == "GETLEGENDGRAPHIC" && $element['type'] == "close"){
$section = "";
}
}
/* sld section */
- if(mb_strtoupper($element[tag]) == "USERDEFINEDSYMBOLIZATION" && $element[type] == "complete"){
- $this->wms_supportsld = $element[attributes]["SupportSLD"];
- $this->wms_userlayer = $element[attributes]["UserLayer"];
- $this->wms_userstyle = $element[attributes]["UserStyle"];
- $this->wms_remotewfs = $element[attributes]["RemoteWFS"];
+ if(mb_strtoupper($element['tag'] ) == "USERDEFINEDSYMBOLIZATION" && $element['type'] == "complete"){
+ $this->wms_supportsld = $element['attributes']["SupportSLD"];
+ $this->wms_userlayer = $element['attributes']["UserLayer"];
+ $this->wms_userstyle = $element['attributes']["UserStyle"];
+ $this->wms_remotewfs = $element['attributes']["RemoteWFS"];
}
/*layer section*/
- if(mb_strtoupper($element[tag]) == "LAYER"){
+ if(mb_strtoupper($element['tag'] ) == "LAYER"){
$section = "layer";
- if ($element[type] == "open") {
+ if ($element['type'] == "open") {
$cnt_epsg = -1;
//new for resolving metadataurls and dataurls
$cnt_metadataurl = -1;
$cnt_dataurl = -1;
$cnt_layer++;
- $parent[$element[level]+1] = $cnt_layer;
- $myParent[$cnt_layer]= $parent[$element[level]];
+ $parent[$element['level']+1] = $cnt_layer;
+ $myParent[$cnt_layer]= $parent[$element['level']];
$this->addLayer($cnt_layer,$myParent[$cnt_layer]);
- $this->objLayer[$cnt_layer]->layer_queryable = $element[attributes][queryable];
+ $this->objLayer[$cnt_layer]->layer_queryable = $element['attributes']['queryable'];
}
- if ($element[type] == "close") {
+ if ($element['type'] == "close") {
}
}
/* attribution */
- if(mb_strtoupper($element[tag]) == "ATTRIBUTION"){
- if ($element[type] == "open") {
+ if(mb_strtoupper($element['tag'] ) == "ATTRIBUTION"){
+ if ($element['type'] == "open") {
$section = "attribution";
}
- if ($element[type] == "close") {
+ if ($element['type'] == "close") {
$section = "layer";
}
}
/* styles */
- if(mb_strtoupper($element[tag]) == "STYLE"){
+ if(mb_strtoupper($element['tag'] ) == "STYLE"){
$section = "style";
if($cnt_layer != $layer_style){
$layer_style = $cnt_layer;
$cnt_styles = -1;
}
- if ($element[type] == "open") {
+ if ($element['type'] == "open") {
$cnt_styles++;
}
- if ($element[type] == "close") {
+ if ($element['type'] == "close") {
$section = "layer";
}
}
if($section == "style"){
- if(mb_strtoupper($element[tag]) == "NAME"){
- $this->objLayer[$cnt_layer]->layer_style[$cnt_styles]["name"] = ($element[value] ? $element[value] : 'default');
+ if(mb_strtoupper($element['tag'] ) == "NAME"){
+ $this->objLayer[$cnt_layer]->layer_style[$cnt_styles]["name"] = ($element['value'] ? $element['value'] : 'default');
}
- if(mb_strtoupper($element[tag]) == "TITLE"){
- $this->objLayer[$cnt_layer]->layer_style[$cnt_styles]["title"] = ($element[value] ? $element[value] : '');
+ if(mb_strtoupper($element['tag'] ) == "TITLE"){
+ $this->objLayer[$cnt_layer]->layer_style[$cnt_styles]["title"] = ($element['value'] ? $element['value'] : '');
}
- if(mb_strtoupper($element[tag]) == "LEGENDURL" && $element[type] == "open"){
+ if(mb_strtoupper($element['tag'] ) == "LEGENDURL" && $element['type'] == "open"){
$legendurl = true;
}
- if($legendurl && mb_strtoupper($element[tag]) == "FORMAT"){
- $this->objLayer[$cnt_layer]->layer_style[$cnt_styles]["legendurlformat"] = $element[value];
+ if($legendurl && mb_strtoupper($element['tag'] ) == "FORMAT"){
+ $this->objLayer[$cnt_layer]->layer_style[$cnt_styles]["legendurlformat"] = $element['value'];
}
- if($legendurl && mb_strtoupper($element[tag]) == "ONLINERESOURCE"){
- $this->objLayer[$cnt_layer]->layer_style[$cnt_styles]["legendurl"] = $element[attributes]["xlink:href"];
+ if($legendurl && mb_strtoupper($element['tag'] ) == "ONLINERESOURCE"){
+ $this->objLayer[$cnt_layer]->layer_style[$cnt_styles]["legendurl"] = $element['attributes']["xlink:href"];
}
- if(mb_strtoupper($element[tag]) == "LEGENDURL" && $element[type] == "close"){
+ if(mb_strtoupper($element['tag'] ) == "LEGENDURL" && $element['type'] == "close"){
$legendurl = false;
}
}
/* end of styles */
if($section == "layer"){
- if(mb_strtoupper($element[tag]) == "NAME"){
- $this->objLayer[$cnt_layer]->layer_name = $element[value];
+ if(mb_strtoupper($element['tag'] ) == "NAME"){
+ $this->objLayer[$cnt_layer]->layer_name = $element['value'];
}
- if(mb_strtoupper($element[tag]) == "TITLE"){
- $this->objLayer[$cnt_layer]->layer_title = $this->stripEndlineAndCarriageReturn($element[value]);
+ if(mb_strtoupper($element['tag'] ) == "TITLE"){
+ $this->objLayer[$cnt_layer]->layer_title = $this->stripEndlineAndCarriageReturn($element['value']);
}
- if(mb_strtoupper($element[tag]) == "ABSTRACT"){
- $this->objLayer[$cnt_layer]->layer_abstract = $this->stripEndlineAndCarriageReturn($element[value]);
+ if(mb_strtoupper($element['tag'] ) == "ABSTRACT"){
+ $this->objLayer[$cnt_layer]->layer_abstract = $this->stripEndlineAndCarriageReturn($element['value']);
}
- if(mb_strtoupper($element[tag]) == "KEYWORD"){
- array_push($this->objLayer[$cnt_layer]->layer_keyword, trim($element[value]));
+ if(mb_strtoupper($element['tag'] ) == "KEYWORD"){
+ array_push($this->objLayer[$cnt_layer]->layer_keyword, trim($element['value']));
}
- if(mb_strtoupper($element[tag]) == "DATAURL" && $element[type] == "open"){
+ if(mb_strtoupper($element['tag'] ) == "DATAURL" && $element['type'] == "open"){
$dataurl = true;
$cnt_dataurl++;
}
- if($dataurl && mb_strtoupper($element[tag]) == "FORMAT"){
- $this->objLayer[$cnt_layer]->layer_dataurl[$cnt_dataurl]->format = $element[value];
+ if($dataurl && mb_strtoupper($element['tag'] ) == "FORMAT"){
+ $this->objLayer[$cnt_layer]->layer_dataurl[$cnt_dataurl]->format = $element['value'];
}
- if($dataurl && mb_strtoupper($element[tag]) == "ONLINERESOURCE"){
- $this->objLayer[$cnt_layer]->layer_dataurl[$cnt_dataurl]->href = $element[attributes]["xlink:href"]; //TODO exchange the parsing with a real xml parsing cause namespaces will make problems!
+ if($dataurl && mb_strtoupper($element['tag'] ) == "ONLINERESOURCE"){
+ $this->objLayer[$cnt_layer]->layer_dataurl[$cnt_dataurl]->href = $element['attributes']["xlink:href"]; //TODO exchange the parsing with a real xml parsing cause namespaces will make problems!
}
- if(mb_strtoupper($element[tag]) == "DATAURL" && $element[type] == "close"){
+ if(mb_strtoupper($element['tag'] ) == "DATAURL" && $element['type'] == "close"){
$dataurl = false;
}
- if(mb_strtoupper($element[tag]) == "METADATAURL" && $element[type] == "open"){
+ if(mb_strtoupper($element['tag'] ) == "METADATAURL" && $element['type'] == "open"){
$metadataurl = true;
$cnt_metadataurl++;
- $this->objLayer[$cnt_layer]->layer_metadataurl[$cnt_metadataurl]->type = $element[attributes]["type"];
+ $this->objLayer[$cnt_layer]->layer_metadataurl[$cnt_metadataurl]->type = $element['attributes']["type"];
}
- if($metadataurl && mb_strtoupper($element[tag]) == "FORMAT"){
- $this->objLayer[$cnt_layer]->layer_metadataurl[$cnt_metadataurl]->format = $element[value];
+ if($metadataurl && mb_strtoupper($element['tag'] ) == "FORMAT"){
+ $this->objLayer[$cnt_layer]->layer_metadataurl[$cnt_metadataurl]->format = $element['value'];
}
- if($metadataurl && mb_strtoupper($element[tag]) == "ONLINERESOURCE"){
- $this->objLayer[$cnt_layer]->layer_metadataurl[$cnt_metadataurl]->href = $element[attributes]["xlink:href"];
+ if($metadataurl && mb_strtoupper($element['tag'] ) == "ONLINERESOURCE"){
+ $this->objLayer[$cnt_layer]->layer_metadataurl[$cnt_metadataurl]->href = $element['attributes']["xlink:href"];
}
- if(mb_strtoupper($element[tag]) == "METADATAURL" && $element[type] == "close"){
+ if(mb_strtoupper($element['tag'] ) == "METADATAURL" && $element['type'] == "close"){
$metadataurl = false;
}
- if(mb_strtoupper($element[tag]) == "SRS"){
+ if(mb_strtoupper($element['tag'] ) == "SRS"){
if(count($this->wms_srs) < 1000){ //workaround: only import up to 1000 srs
// unique srs only, see http://www.mapbender.org/index.php/Arrays_with_unique_entries
- $this->wms_srs = array_keys(array_flip(array_merge($this->wms_srs, explode(" ", strtoupper($element[value])))));
+ $this->wms_srs = array_keys(array_flip(array_merge($this->wms_srs, explode(" ", strtoupper($element['value'])))));
}
}
#WMS 1.3.0
- if(mb_strtoupper($element[tag]) == "CRS"){
+ if(mb_strtoupper($element['tag'] ) == "CRS"){
if(count($this->wms_srs) < 1000){ //workaround: only import up to 1000 srs
// unique srs only, see http://www.mapbender.org/index.php/Arrays_with_unique_entries
- $this->wms_srs = array_keys(array_flip(array_merge($this->wms_srs, explode(" ", strtoupper($element[value]))))); }
+ $this->wms_srs = array_keys(array_flip(array_merge($this->wms_srs, explode(" ", strtoupper($element['value']))))); }
}
#WMS 1.3.0
- if(mb_strtoupper($element[tag]) == "EX_GEOGRAPHICBOUNDINGBOX" && $element[type] == "open"){
+ if(mb_strtoupper($element['tag'] ) == "EX_GEOGRAPHICBOUNDINGBOX" && $element['type'] == "open"){
$section_bbox = "ex_geographicboundingbox";
}
- if($section_bbox == "ex_geographicboundingbox" && mb_strtoupper($element[tag]) == "WESTBOUNDLONGITUDE"){
+ if($section_bbox == "ex_geographicboundingbox" && mb_strtoupper($element['tag'] ) == "WESTBOUNDLONGITUDE"){
$cnt_epsg++;
$this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["epsg"] = "EPSG:4326";
- $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["minx"] = trim($element[value]);
+ $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["minx"] = trim($element['value']);
}
- if($section_bbox == "ex_geographicboundingbox" && mb_strtoupper($element[tag]) == "SOUTHBOUNDLATITUDE"){
- $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["miny"] = trim($element[value]);
+ if($section_bbox == "ex_geographicboundingbox" && mb_strtoupper($element['tag'] ) == "SOUTHBOUNDLATITUDE"){
+ $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["miny"] = trim($element['value']);
}
- if($section_bbox == "ex_geographicboundingbox" && mb_strtoupper($element[tag]) == "EASTBOUNDLONGITUDE"){
- $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["maxx"] = trim($element[value]);
+ if($section_bbox == "ex_geographicboundingbox" && mb_strtoupper($element['tag'] ) == "EASTBOUNDLONGITUDE"){
+ $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["maxx"] = trim($element['value']);
}
- if($section_bbox == "ex_geographicboundingbox" && mb_strtoupper($element[tag]) == "NORTHBOUNDLATITUDE"){
- $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["maxy"] = trim($element[value]);
+ if($section_bbox == "ex_geographicboundingbox" && mb_strtoupper($element['tag'] ) == "NORTHBOUNDLATITUDE"){
+ $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["maxy"] = trim($element['value']);
}
- if(mb_strtoupper($element[tag]) == "GEOGRAPHICBOUNDINGBOX" && $element[type] == "close"){
+ if(mb_strtoupper($element['tag'] ) == "GEOGRAPHICBOUNDINGBOX" && $element['type'] == "close"){
$section_bbox = "";
}
- if(mb_strtoupper($element[tag]) == "LATLONBOUNDINGBOX"){
+ if(mb_strtoupper($element['tag'] ) == "LATLONBOUNDINGBOX"){
$cnt_epsg++;
$this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["epsg"] = "EPSG:4326";
- $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["minx"] = $element[attributes][minx];
- $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["miny"] = $element[attributes][miny];
- $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["maxx"] = $element[attributes][maxx];
- $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["maxy"] = $element[attributes][maxy];
+ $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["minx"] = $element['attributes']['minx'];
+ $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["miny"] = $element['attributes']['miny'];
+ $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["maxx"] = $element['attributes']['maxx'];
+ $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["maxy"] = $element['attributes']['maxy'];
}
- if(mb_strtoupper($element[tag]) == "BOUNDINGBOX" && $element[attributes][SRS] != "EPSG:4326"
+ if(mb_strtoupper($element['tag'] ) == "BOUNDINGBOX" && $element['attributes']['SRS'] != "EPSG:4326"
&& $this->wms_version != "1.3.0"){
$cnt_epsg++;
- $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["epsg"] = $element[attributes][SRS];
- $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["minx"] = $element[attributes][minx];
- $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["miny"] = $element[attributes][miny];
- $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["maxx"] = $element[attributes][maxx];
- $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["maxy"] = $element[attributes][maxy];
+ $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["epsg"] = $element['attributes']['SRS'];
+ $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["minx"] = $element['attributes']['minx'];
+ $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["miny"] = $element['attributes']['miny'];
+ $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["maxx"] = $element['attributes']['maxx'];
+ $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["maxy"] = $element['attributes']['maxy'];
// a default epsg for mapbender
- if($cnt_layer == 0 && $this->default_epsg == 0 && mb_strlen(trim($element[attributes][SRS]))>= 10){
+ if($cnt_layer == 0 && $this->default_epsg == 0 && mb_strlen(trim($element['attributes']['SRS']))>= 10){
$this->default_epsg = $cnt_epsg;
}
}
#WMS 1.3.0
- if(mb_strtoupper($element[tag]) == "BOUNDINGBOX" && $element[attributes][CRS] == "EPSG:4326"
+ if(mb_strtoupper($element['tag'] ) == "BOUNDINGBOX" && $element['attributes']['CRS'] == "EPSG:4326"
&& $this->wms_version == "1.3.0"){
$cnt_epsg++;
- $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["epsg"] = $element[attributes][CRS];
- $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["minx"] = $element[attributes][miny];
- $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["miny"] = $element[attributes][minx];
- $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["maxx"] = $element[attributes][maxy];
- $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["maxy"] = $element[attributes][maxx];
+ $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["epsg"] = $element['attributes']['CRS'];
+ $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["minx"] = $element['attributes']['miny'];
+ $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["miny"] = $element['attributes']['minx'];
+ $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["maxx"] = $element['attributes']['maxy'];
+ $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["maxy"] = $element['attributes']['maxx'];
}
#WMS 1.3.0
- if(mb_strtoupper($element[tag]) == "BOUNDINGBOX" && $element[attributes][CRS] != "EPSG:4326"
+ if(mb_strtoupper($element['tag'] ) == "BOUNDINGBOX" && $element['attributes']['CRS'] != "EPSG:4326"
&& $this->wms_version == "1.3.0"){
$cnt_epsg++;
- $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["epsg"] = $element[attributes][CRS];
- $tmp_epsg = $element[attributes][CRS];
+ $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["epsg"] = $element['attributes']['CRS'];
+ $tmp_epsg = $element['attributes']['CRS'];
$tmp_epsg = str_replace('CRS:','',str_replace ( 'EPSG:', '', $tmp_epsg ));
if(check_epsg_wms_13($tmp_epsg)){
- $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["minx"] = $element[attributes][miny];
- $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["miny"] = $element[attributes][minx];
- $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["maxx"] = $element[attributes][maxy];
- $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["maxy"] = $element[attributes][maxx];
+ $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["minx"] = $element['attributes']['miny'];
+ $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["miny"] = $element['attributes']['minx'];
+ $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["maxx"] = $element['attributes']['maxy'];
+ $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["maxy"] = $element['attributes']['maxx'];
}else{
$e = new mb_exception("class_wms: createObjFromXML: WMS 1.3.0 ELSE");
- $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["minx"] = $element[attributes][minx];
- $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["miny"] = $element[attributes][miny];
- $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["maxx"] = $element[attributes][maxx];
- $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["maxy"] = $element[attributes][maxy];
+ $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["minx"] = $element['attributes']['minx'];
+ $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["miny"] = $element['attributes']['miny'];
+ $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["maxx"] = $element['attributes']['maxx'];
+ $this->objLayer[$cnt_layer]->layer_epsg[$cnt_epsg]["maxy"] = $element['attributes']['maxy'];
}
// a default epsg for mapbender
- if($cnt_layer == 0 && $this->default_epsg == 0 && mb_strlen(trim($element[attributes][SRS]))>= 10){
+ if($cnt_layer == 0 && $this->default_epsg == 0 && mb_strlen(trim($element['attributes']['SRS']))>= 10){
$this->default_epsg = $cnt_epsg;
}
}
- if(mb_strtoupper($element[tag]) == "SCALEHINT"){
- if($element[attributes][max]>1000) $max = 0; else $max = $element[attributes][max];
- if($element[attributes][min]>1000) $min = 0; else $min = $element[attributes][min];
+ if(mb_strtoupper($element['tag'] ) == "SCALEHINT"){
+ if($element['attributes']['max']>1000) $max = 0; else $max = $element['attributes']['max'];
+ if($element['attributes']['min']>1000) $min = 0; else $min = $element['attributes']['min'];
$this->objLayer[$cnt_layer]->layer_minscale = round(($min * 2004.3976484406788493955738891127));
$this->objLayer[$cnt_layer]->layer_maxscale = round(($max * 2004.3976484406788493955738891127));
$this->objLayer[$cnt_layer]->layer_minscale = sprintf("%u", $this->objLayer[$cnt_layer]->layer_minscale);
@@ -1143,10 +1143,10 @@
}
if(count($this->objLayer[0]->layer_epsg)>1){
- $this->gui_wms_epsg = $this->objLayer[0]->layer_epsg[$this->default_epsg][epsg];
+ $this->gui_wms_epsg = $this->objLayer[0]->layer_epsg[$this->default_epsg]['epsg'];
}
else{
- $this->gui_wms_epsg = $this->objLayer[0]->layer_epsg[0][epsg];
+ $this->gui_wms_epsg = $this->objLayer[0]->layer_epsg[0]['epsg'];
}
/*the queryable layers*/
for($i=0; $i<count($this->objLayer); $i++){
@@ -1225,16 +1225,16 @@
echo "<br>BBOXes:<br>";
echo "<table border='1'>";
for($j=0; $j<count($this->objLayer[$i]->layer_epsg);$j++){
- echo "<tr><td>".$this->objLayer[$i]->layer_epsg[$j][epsg]."</td><td>".$this->objLayer[$i]->layer_epsg[$j][minx]."</td>";
- echo "<td>".$this->objLayer[$i]->layer_epsg[$j][miny]."</td><td>".$this->objLayer[$i]->layer_epsg[$j][maxx]."</td>";
- echo "<td>".$this->objLayer[$i]->layer_epsg[$j][maxy]."</td></tr>";
+ echo "<tr><td>".$this->objLayer[$i]->layer_epsg[$j]['epsg']."</td><td>".$this->objLayer[$i]->layer_epsg[$j]['minx']."</td>";
+ echo "<td>".$this->objLayer[$i]->layer_epsg[$j]['miny']."</td><td>".$this->objLayer[$i]->layer_epsg[$j]['maxx']."</td>";
+ echo "<td>".$this->objLayer[$i]->layer_epsg[$j]['maxy']."</td></tr>";
}
echo "</table>";
echo "layerstyle:";
echo "<table border='1'>";
echo "<tr><td>name</td><td>title</td><td>legendurl</td><td>legendurlformat</td></tr>";
for($j=0; $j<count($this->objLayer[$i]->layer_style);$j++){
- echo "<tr><td>".$this->objLayer[$i]->layer_style[$j][name]."</td><td>".$this->objLayer[$i]->layer_style[$j][title]."</td><td>".$this->objLayer[$i]->layer_style[$j][legendurl]."</td><td>".$this->objLayer[$i]->layer_style[$j][legendurlformat]."</td></tr>";
+ echo "<tr><td>".$this->objLayer[$i]->layer_style[$j]['name']."</td><td>".$this->objLayer[$i]->layer_style[$j]['title']."</td><td>".$this->objLayer[$i]->layer_style[$j]['legendurl']."</td><td>".$this->objLayer[$i]->layer_style[$j]['legendurlformat']."</td></tr>";
}
echo "</table>";
echo "<hr>";
@@ -2217,9 +2217,9 @@
for($j=0; $j<count($this->objLayer[$i]->layer_epsg);$j++){
$sql = "INSERT INTO layer_epsg (fkey_layer_id, epsg, minx, miny, maxx, maxy) ";
$sql .= "VALUES($1,$2,$3,$4,$5,$6)";
- $v = array($this->objLayer[$i]->db_id,$this->objLayer[$i]->layer_epsg[$j][epsg],
- $this->objLayer[$i]->layer_epsg[$j][minx],$this->objLayer[$i]->layer_epsg[$j][miny],
- $this->objLayer[$i]->layer_epsg[$j][maxx],$this->objLayer[$i]->layer_epsg[$j][maxy]
+ $v = array($this->objLayer[$i]->db_id,$this->objLayer[$i]->layer_epsg[$j]['epsg'],
+ $this->objLayer[$i]->layer_epsg[$j]['minx'],$this->objLayer[$i]->layer_epsg[$j]['miny'],
+ $this->objLayer[$i]->layer_epsg[$j]['maxx'],$this->objLayer[$i]->layer_epsg[$j]['maxy']
);
$e = new mb_notice("class_wms.php: insertLayerEPSG: INSERT SQL:".$sql. " for Layer ".$this->objLayer[$i]->db_id);
$t = array('i','s','d','d','d','d');
@@ -2228,7 +2228,7 @@
db_rollback();
}
//push this srs into the currentSrsArray!
- //array_push($currentSrsArray,$this->objLayer[$i]->layer_epsg[$j][epsg]);
+ //array_push($currentSrsArray,$this->objLayer[$i]->layer_epsg[$j]['epsg']);
}
// GET SRS_ARRAY of mapbender.conf
@@ -2636,7 +2636,6 @@
$this->update_gui_wms($myWMS);
}
-
//NEW 2012-11: Check for changed layer names with options $changedLayersObj
for($i=0; $i<count($changedLayers); $i++){
if(trim($changedLayers[$i]["oldLayerName"]) != trim($changedLayers[$i]["newLayerName"])) {
@@ -2653,21 +2652,16 @@
#new mb_notice("newLayerName ==================". $changedLayers[$i]["newLayerName"]);
}
+ ######## NEW 2013-07: split off the check routine to insert and update layers to one section for root layer and one for all child layers
+ ######## reason: If root layer and child layer have same name, it crashes here!!!
+ ################################ start section for root-layer
+
# update TABLE layer
$oldLayerNameArray = array();
- $v = array($myWMS);
- $t = array('i');
- $c = 2;
- $sql = "SELECT layer_id, layer_name, layer_title, layer_abstract, inspire_download FROM layer WHERE fkey_wms_id = $1 AND NOT layer_name IN(";
- for($i=0; $i<count($this->objLayer); $i++){
- if($i>0){$sql .= ',';}
- $sql .= "$".$c;
- array_push($v,$this->objLayer[$i]->layer_name);
- //$e = new mb_exception("class_wms: old layer name added for read: ".$this->objLayer[$i]->layer_name);
- array_push($t,'s');
- $c++;
- }
- $sql .= ")";
+ $sql = "SELECT layer_id, layer_name, layer_title, layer_abstract, inspire_download FROM layer WHERE fkey_wms_id = $1 AND layer_pos = 0 AND NOT layer_name = $2";
+ $v = array($myWMS,$this->objLayer[0]->layer_name);
+ $t = array("i","s");
+
$res = db_prep_query($sql,$v,$t);
while ($row = db_fetch_array($res)) {
$oldLayerNameArray[]= array(
@@ -2682,50 +2676,102 @@
# delete all layer which are outdated
//first delete their metadataUrl entries*****
-
-
-
-
$e = new mb_notice("class_wms.php: delete all metadataUrl relations of old layer");
+ $sql = "DELETE FROM ows_relation_metadata WHERE fkey_layer_id IN " ;
+ $sql .= "(SELECT layer_id FROM layer WHERE fkey_wms_id = $1 AND layer_pos = 0 AND NOT layer_name = $2)";
+ $sql .= " AND ows_relation_metadata.relation_type = 'capabilities'";
+ $v = array($myWMS, $this->objLayer[0]->layer_name);
+ $t = array("i", "s");
+ $res = db_prep_query($sql,$v,$t);
+
+ //*******************************************
+ //TODO: is this done for the keywords too? Maybe not, cause they are stored only once! Only the relations have to be deleted!
+ //and then the layer entries
$v = array($myWMS);
$t = array('i');
$c = 2;
- $sql = "DELETE FROM ows_relation_metadata WHERE fkey_layer_id IN " ;
- $sql .= "(SELECT layer_id FROM layer WHERE fkey_wms_id = $1 AND NOT layer_name IN (";
+ $sql = "DELETE FROM layer WHERE fkey_wms_id = $1 AND layer_pos = 0 AND NOT layer_name = $2";
+ $v = array($myWMS, $this->objLayer[0]->layer_name);
+ $t = array('i','s');
+ $res = db_prep_query($sql,$v,$t);
+ if(!$res){
+ db_rollback();
+ }
+
+ ################################ end section for root-layer
+
+ ################################ start section for all child layers
+
+ # update TABLE layer
+ $oldLayerNameArray = array();
+ $v = array($myWMS);
+ $t = array('i');
+ $c = 2;
+ $sql = "SELECT layer_id, layer_name, layer_title, layer_abstract, inspire_download FROM layer WHERE fkey_wms_id = $1 AND layer_pos > 0 AND NOT layer_name IN(";
for($i=0; $i<count($this->objLayer); $i++){
if($i>0){$sql .= ',';}
$sql .= "$".$c;
array_push($v,$this->objLayer[$i]->layer_name);
- array_push($t,'s');
+ #$e = new mb_exception("class_wms: old layer name added for read: ".$this->objLayer[$i]->layer_name);
+ array_push($t,'s');
$c++;
}
- $sql .= ") )";
- $sql .= " AND ows_relation_metadata.relation_type = 'capabilities'";
+ $sql .= ")";
$res = db_prep_query($sql,$v,$t);
-
-
+ while ($row = db_fetch_array($res)) {
+ $oldLayerNameArray[]= array(
+ "id" => $row["layer_id"],
+ "name" => $row["layer_name"],
+ "title" => $row["layer_title"],
+ "abstract" => $row["layer_abstract"]
+ //"inspire_download" => $row["inspire_download"]
+ );
+
+ }
+ # delete all layer which are outdated
+ //first delete their metadataUrl entries*****
+ $e = new mb_notice("class_wms.php: delete all metadataUrl relations of old layer");
+ $v = array($myWMS);
+ $t = array('i');
+ $c = 2;
+ $sql = "DELETE FROM ows_relation_metadata WHERE fkey_layer_id IN " ;
+ $sql .= "(SELECT layer_id FROM layer WHERE fkey_wms_id = $1 AND layer_pos > 0 AND NOT layer_name IN (";
+ for($i=0; $i<count($this->objLayer); $i++){
+ if($i>0){$sql .= ',';}
+ $sql .= "$".$c;
+ array_push($v,$this->objLayer[$i]->layer_name);
+ array_push($t,'s');
+ $c++;
+ }
+ $sql .= ") )";
+ $sql .= " AND ows_relation_metadata.relation_type = 'capabilities'";
+ $res = db_prep_query($sql,$v,$t);
+
+
//*******************************************
//TODO: is this done for the keywords too? Maybe not, cause they are stored only once! Only the relations have to be deleted!
//and then the layer entries
$v = array($myWMS);
$t = array('i');
$c = 2;
- $sql = "DELETE FROM layer WHERE fkey_wms_id = $1 AND NOT layer_name IN(";
+ $sql = "DELETE FROM layer WHERE fkey_wms_id = $1 AND layer_pos > 0 AND NOT layer_name IN(";
for($i=0; $i<count($this->objLayer); $i++){
if($i>0){$sql .= ',';}
$sql .= "$".$c;
array_push($v,$this->objLayer[$i]->layer_name);
- //$e = new mb_exception("class_wms: old layer name added for delete: ".$this->objLayer[$i]->layer_name);
- array_push($t,'s');
+ #$e = new mb_exception("class_wms: old layer name added for delete: ".$this->objLayer[$i]->layer_name);
+ array_push($t,'s');
$c++;
}
$sql .= ")";
-
+
$res = db_prep_query($sql,$v,$t);
if(!$res){
- db_rollback();
+ db_rollback();
}
+
+ ################ end section for all child layers
# update or insert?
$sql = "SELECT layer_name FROM layer WHERE fkey_wms_id = $1";
@@ -2748,7 +2794,7 @@
$newLayerArray = array();
for($i=0; $i<count($this->objLayer); $i++){
if(in_array($this->objLayer[$i]->layer_name,$exLayer)){
- //echo "<br>update: ".$this->objLayer[$i]->layer_name;
+ #echo "<br>update: ".$this->objLayer[$i]->layer_name;
$e = new mb_notice("update layer of wms: ".$myWMS);
$this->updateLayer($i,$myWMS,$updateMetadataOnly);
for($j=0; $j<count($exGui); $j++){
@@ -2756,7 +2802,7 @@
}
}
else{
- //echo "<br>append: ".$this->objLayer[$i]->layer_name;
+ #echo "<br>append: ".$this->objLayer[$i]->layer_name;
$e = new mb_notice("insert layer");
$this->insertLayer($i,$myWMS);
$newLayerArray[]= $i;
@@ -2964,7 +3010,7 @@
# gui_wms_epsg
for($j=0; $j<count($this->objLayer[0]->layer_epsg);$j++){
- if($this->objLayer[0]->layer_epsg[$j][epsg] == mb_strtoupper($row["gui_wms_epsg"])){
+ if($this->objLayer[0]->layer_epsg[$j]['epsg'] == mb_strtoupper($row["gui_wms_epsg"])){
$myGUI_EPSG = true;
}
}
More information about the Mapbender_commits
mailing list