[fusion-commits] r1945 - in trunk/layers: . MapGuide MapServer
MapServer/php
svn_fusion at osgeo.org
svn_fusion at osgeo.org
Thu Oct 15 16:33:16 EDT 2009
Author: pdeschamps
Date: 2009-10-15 16:33:15 -0400 (Thu, 15 Oct 2009)
New Revision: 1945
Added:
trunk/layers/MapServer/php/updateSessionMapFile.php
Modified:
trunk/layers/Layers.js
trunk/layers/MapGuide/MapGuide.js
trunk/layers/MapServer/MapServer.js
Log:
modified widget LayerManager to respond to layer map changes throught the event handler LAYER_PROPERTY_CHANGED this event was registered with the Fusion.Layer.Layer class and needed to be moved to
MapServer.js
Modified: trunk/layers/Layers.js
===================================================================
--- trunk/layers/Layers.js 2009-10-15 07:30:18 UTC (rev 1944)
+++ trunk/layers/Layers.js 2009-10-15 20:33:15 UTC (rev 1945)
@@ -484,7 +484,8 @@
this.scaleRanges.push(scaleRange);
}
}
- this.registerEventID(Fusion.Event.LAYER_PROPERTY_CHANGED);
+
+ //this.registerEventID(Fusion.Event.LAYER_PROPERTY_CHANGED);
},
supportsType: function(type) {
@@ -535,7 +536,7 @@
set: function(property, value) {
this[property] = value;
- this.triggerEvent(Fusion.Event.LAYER_PROPERTY_CHANGED, this);
+ this.oMap.triggerEvent(Fusion.Event.LAYER_PROPERTY_CHANGED, this);
}
});
Modified: trunk/layers/MapGuide/MapGuide.js
===================================================================
--- trunk/layers/MapGuide/MapGuide.js 2009-10-15 07:30:18 UTC (rev 1944)
+++ trunk/layers/MapGuide/MapGuide.js 2009-10-15 20:33:15 UTC (rev 1945)
@@ -57,6 +57,7 @@
}
this.registerEventID(Fusion.Event.MAP_SESSION_CREATED);
+ this.registerEventID(Fusion.Event.LAYER_PROPERTY_CHANGED);
this.mapInfo = mapTag.mapInfo;
this.imageFormat = mapTag.extension.ImageFormat ? mapTag.extension.ImageFormat[0] : this.defaultFormat;
Modified: trunk/layers/MapServer/MapServer.js
===================================================================
--- trunk/layers/MapServer/MapServer.js 2009-10-15 07:30:18 UTC (rev 1944)
+++ trunk/layers/MapServer/MapServer.js 2009-10-15 20:33:15 UTC (rev 1945)
@@ -50,6 +50,7 @@
//console.log('Fusion.Layers.MapServer.initialize');
Fusion.Layers.prototype.initialize.apply(this, arguments);
this.registerEventID(Fusion.Event.MAP_SESSION_CREATED);
+ this.registerEventID(Fusion.Event.LAYER_PROPERTY_CHANGED);
//this.selectionType = extension.SelectionType ? extension.SelectionType[0] : 'INTERSECTS';
this.sMapFile = mapTag.extension.MapFile ? mapTag.extension.MapFile[0] : '';
Added: trunk/layers/MapServer/php/updateSessionMapFile.php
===================================================================
--- trunk/layers/MapServer/php/updateSessionMapFile.php (rev 0)
+++ trunk/layers/MapServer/php/updateSessionMapFile.php 2009-10-15 20:33:15 UTC (rev 1945)
@@ -0,0 +1,51 @@
+<?php
+include 'Common.php';
+
+if (isset($_SESSION['maps']) && isset($_SESSION['maps'][$mapName])) {
+ $oMap = ms_newMapObj($_SESSION['maps'][$mapName]);
+ // set visible layers
+ setVisibleLayers(split(",",$_REQUEST["visLayers"]));
+ // update the layers list that is in use
+ //updateActiveLayers(split(",",$_REQUEST["layers"]));
+
+ // save the mapfile
+ $oMap->save($_SESSION['maps'][$mapName]);
+ for ($i=0;$i<$oMap->numlayers;$i++){
+ $oLayer=&$oMap->GetLayer($i);
+ }
+} else {
+ exit;
+}
+ function setVisibleLayers($aLayers){
+ global $oMap;
+ for ($i=0;$i<$oMap->numlayers;$i++){
+ $oLayer=$oMap->GetLayer($i);
+ // turn off layer
+ $oLayer->set("status", MS_OFF);
+ for($j=0;$j<count($aLayers);$j++){
+ if($aLayers[$j] == $oLayer->name ){
+ $oLayer->set("status", MS_ON);
+ }
+ }
+ }
+ }
+
+ function updateActiveLayers ($aLayers){
+ global $oMap;
+ for ($i=0;$i<$oMap->numlayers;$i++){
+ $oLayer=&$oMap->GetLayer($i);
+
+ $bFoundLayer = false;
+ for($j=0;$j<count($aLayers);$j++){
+ if($aLayers[$j] == $oLayer->name ){
+ $bFoundLayer = true;
+ }
+ }
+ // layer not found in list delete it
+ if($bFoundLayer == false){
+ $oLayer->set('status', MS_DELETE);
+ }
+ }
+ }
+
+?>
\ No newline at end of file
More information about the fusion-commits
mailing list