[Mapbender-commits] r6687 - in trunk/mapbender/http: classes
javascripts
svn_mapbender at osgeo.org
svn_mapbender at osgeo.org
Wed Aug 4 06:17:00 EDT 2010
Author: verenadiewald
Date: 2010-08-04 10:17:00 +0000 (Wed, 04 Aug 2010)
New Revision: 6687
Added:
trunk/mapbender/http/javascripts/initWmcObj.php
Modified:
trunk/mapbender/http/classes/class_wmc.php
Log:
create init wmc for map settings
Modified: trunk/mapbender/http/classes/class_wmc.php
===================================================================
--- trunk/mapbender/http/classes/class_wmc.php 2010-08-04 09:56:04 UTC (rev 6686)
+++ trunk/mapbender/http/classes/class_wmc.php 2010-08-04 10:17:00 UTC (rev 6687)
@@ -880,6 +880,18 @@
return $this->xml;
}
+ public function wmsToJavaScript() {
+ $wmsArray = $this->mainMap->getWmsArray();
+
+ $wmcJsArray = array();
+ for ($i = 0; $i < count($wmsArray); $i++) {
+ $currentWms = $wmsArray[$i];
+
+ $wmcJsArray[] = $currentWms->createJsObjFromWMS_();
+ }
+ return $wmcJsArray;
+ }
+
/**
* Returns an array of JavaScript statements
*
@@ -942,7 +954,7 @@
}
array_push($wmcJsArray, $wmsArray[$i]->createJsObjFromWMS_());
}
-
+
// delete existing map objects...
// array_push($wmcJsArray, "mb_mapObj = [];");
Added: trunk/mapbender/http/javascripts/initWmcObj.php
===================================================================
--- trunk/mapbender/http/javascripts/initWmcObj.php (rev 0)
+++ trunk/mapbender/http/javascripts/initWmcObj.php 2010-08-04 10:17:00 UTC (rev 6687)
@@ -0,0 +1,93 @@
+<?php
+//
+// Load WMS via WMC
+//
+require_once(dirname(__FILE__)."/../php/mb_validateSession.php");
+require_once(dirname(__FILE__)."/../classes/class_wmc.php");
+require_once(dirname(__FILE__)."/../classes/class_administration.php");
+
+$wmc = new wmc();
+$wmc->createFromApplication(Mapbender::session()->get("mb_user_gui"));
+
+//validate GET params from Mapbender Url
+$getParams = $_GET;
+
+if ($getParams['WMS']) {
+ // WMS param given as array
+ if (is_array($getParams['WMS'])) {
+ $inputWmsArray = $getParams['WMS'];
+ }
+ // WMS param given as comma separated list
+ else {
+ $inputWmsArray = split(",",$getParams['WMS']);
+ }
+
+ $wmsArray = array();
+ $singleAssocArray = array();
+ $multipleAssocArray = array();
+
+ foreach ($inputWmsArray as $key=>$val) {
+ if (is_array($val)) {
+ foreach ($val as $attr=>$value) {
+ $multipleAssocArray[$attr] = $value;
+ }
+ //get WMS by ID with settings of given application
+ if (array_key_exists('application', $multipleAssocArray) &&
+ array_key_exists('id', $multipleAssocArray)) {
+ $currentWms = new wms();
+ $currentWms->createObjFromDB($multipleAssocArray['application'], $multipleAssocArray['id']);
+ }
+ //get WMS by URL
+ elseif (array_key_exists('url', $multipleAssocArray)) {
+ $currentWms = new wms();
+ $currentWms->createObjFromXML($multipleAssocArray['url']);
+ }
+ else {
+ continue;
+ }
+ array_push($wmsArray, $currentWms);
+ }
+ else {
+ $currentWms = new wms();
+ if(is_numeric($key)) {
+ //get WMS by URL
+ if (is_string($val)) {
+ $currentWms->createObjFromXML($val);
+ }
+ //get WMS by ID
+ if (is_numeric($val)) {
+ $currentWms->createObjFromDBNoGui($val);
+ }
+ array_push($wmsArray, $currentWms);
+ }
+ else {
+ $singleAssocArray[$key] = $val;
+ }
+ }
+ }
+
+ //get WMS by ID with settings of given application
+ if (array_key_exists('application', $singleAssocArray) &&
+ array_key_exists('id', $singleAssocArray)) {
+ $currentWms = new wms();
+ $currentWms->createObjFromDB($singleAssocArray['application'], $singleAssocArray['id']);
+ array_push($wmsArray, $currentWms);
+ }
+ //get WMS by URL
+ elseif (array_key_exists('url', $singleAssocArray)) {
+ $currentWms = new wms();
+ $currentWms->createObjFromXML($singleAssocArray['url']);
+ array_push($wmsArray, $currentWms);
+ }
+
+ $wmc->mergeWmsArray($wmsArray);
+}
+
+$output = $wmc->wmsToJavaScript();
+
+for ($i = 0; $i < count($output); $i++) {
+ echo administration::convertOutgoingString($output[$i]);
+}
+unset($output);
+unset($wmc);
+?>
More information about the Mapbender_commits
mailing list