[Mapbender-commits] r6011 - trunk/mapbender/http/plugins

svn_mapbender at osgeo.org svn_mapbender at osgeo.org
Fri Apr 23 04:53:39 EDT 2010


Author: astrid_emde
Date: 2010-04-23 04:53:38 -0400 (Fri, 23 Apr 2010)
New Revision: 6011

Modified:
   trunk/mapbender/http/plugins/mb_handleStartUpWmsParams.php
Log:
only check if parameter are passed with url, check gui_layer properties

Modified: trunk/mapbender/http/plugins/mb_handleStartUpWmsParams.php
===================================================================
--- trunk/mapbender/http/plugins/mb_handleStartUpWmsParams.php	2010-04-23 07:56:12 UTC (rev 6010)
+++ trunk/mapbender/http/plugins/mb_handleStartUpWmsParams.php	2010-04-23 08:53:38 UTC (rev 6011)
@@ -70,103 +70,110 @@
 
 // set queryability and visibility
 Mapbender.events.init.register(function () {
-	var currentVisibleLayerMatchTrue = false;
-	var currentQueryLayerMatchTrue = false;
-	var mapObject = Mapbender.modules[options.target[0]];
-	var wmsArray = mapObject.wms;
+	if(apiVisibleLayers != '' || apiQueryLayers != '' || 
+		apiVisibleLayersRegExpr != '' || apiQueryLayersRegExpr != ''){
 	
-	for (var i in wmsArray) {
-		var currentWms = wmsArray[i];
-	
-		for (var j in currentWms.objLayer) {
-			var currentLayer = currentWms.objLayer[j];
-			
-			// parameter apiVisibleLayers
-			for (var k in apiVisibleLayerArray) {
-				var visibleLayer = apiVisibleLayerArray[k];
+		var currentVisibleLayerMatchTrue = false;
+		var currentQueryLayerMatchTrue = false;
+		var mapObject = Mapbender.modules[options.target[0]];
+		var wmsArray = mapObject.wms;
+		
+		for (var i in wmsArray) {
+			var currentWms = wmsArray[i];
+		
+			for (var j in currentWms.objLayer) {
+				var currentLayer = currentWms.objLayer[j];
 				
-				if (visibleLayer == currentLayer.layer_name) {
-					currentLayer.gui_layer_visible = 1;
-					checkForVisibleLayerArray.push(currentLayer.layer_name);
+				// parameter apiVisibleLayers
+				for (var k in apiVisibleLayerArray) {
+					var visibleLayer = apiVisibleLayerArray[k];
+
+					if (visibleLayer == currentLayer.layer_name && currentLayer.gui_layer_status == '1' && 
+						(currentLayer.gui_layer_selectable == 1 || currentLayer.gui_layer_visible == 1)
+						) {
+						currentLayer.gui_layer_visible = 1;
+						checkForVisibleLayerArray.push(currentLayer.layer_name);
+					}
 				}
-			}
-			
-			// parameter apiQueryLayers
-			for (var k in apiQueryLayerArray) {
-				var queryLayer = apiQueryLayerArray[k];
 				
-				if (queryLayer == currentLayer.layer_name && currentLayer.gui_layer_queryable) {
-					currentLayer.gui_layer_querylayer = 1;
-					checkForQueryLayerArray.push(currentLayer.layer_name);
+				// parameter apiQueryLayers
+				for (var k in apiQueryLayerArray) {
+					var queryLayer = apiQueryLayerArray[k];
+					
+					if (queryLayer == currentLayer.layer_name && currentLayer.gui_layer_queryable) {
+						currentLayer.gui_layer_querylayer = 1;
+						checkForQueryLayerArray.push(currentLayer.layer_name);
+					}
 				}
-			}
-			
-			// parameter apiVisibleLayersRegExpr
-			if(apiVisibleLayersRegExpr !== "") { 
-				var pattern = new RegExp(apiVisibleLayersRegExpr);
-				var currentVisibleLayerMatch = currentLayer.layer_name.match(pattern);
 				
-				if (currentVisibleLayerMatch && currentLayer.gui_layer_selectable) {
-					currentLayer.gui_layer_visible = 1;
-					currentVisibleLayerMatchTrue = true;
+				// parameter apiVisibleLayersRegExpr
+				if(apiVisibleLayersRegExpr !== "") { 
+					var pattern = new RegExp(apiVisibleLayersRegExpr);
+					var currentVisibleLayerMatch = currentLayer.layer_name.match(pattern);
+					
+					if (currentVisibleLayerMatch && currentLayer.gui_layer_status == '1' && 
+						(currentLayer.gui_layer_selectable == 1 || currentLayer.gui_layer_visible == 1)
+						) {
+						currentLayer.gui_layer_visible = 1;
+						currentVisibleLayerMatchTrue = true;
+					}
 				}
+				
+				// parameter apiQueryLayersRegExpr
+				if (apiQueryLayersRegExpr !== "") {
+					var pattern = new RegExp(apiQueryLayersRegExpr);
+					var currentQueryLayerMatch = currentLayer.layer_name.match(pattern);
+					
+					if (currentQueryLayerMatch && currentLayer.gui_layer_queryable) {
+						currentLayer.gui_layer_querylayer = 1;
+						currentQueryLayerMatchTrue = true;
+					}
+				}	
+				
 			}
-			
-			// parameter apiQueryLayersRegExpr
-			if (apiQueryLayersRegExpr !== "") {
-				var pattern = new RegExp(apiQueryLayersRegExpr);
-				var currentQueryLayerMatch = currentLayer.layer_name.match(pattern);
-				
-				if (currentQueryLayerMatch && currentLayer.gui_layer_queryable) {
-					currentLayer.gui_layer_querylayer = 1;
-					currentQueryLayerMatchTrue = true;
-				}
-			}	
-			
+			mb_restateLayers(options.target[0], currentWms.wms_id);
 		}
-		mb_restateLayers(options.target[0], currentWms.wms_id);
-	}
-	
-	if(apiVisibleLayers !== "") { 
-		var visibleLayerNotFound = array_diff(apiVisibleLayerArray, checkForVisibleLayerArray);
-		if(visibleLayerNotFound.length > 0) {
-			var visibleLayerString = visibleLayerNotFound.join(",");
-			var visibleLayerNotFoundMsg = "Visible layer " + visibleLayerString + " not found."; 
-			new Mapbender.Notice(visibleLayerNotFoundMsg);
-			//alert(visibleLayerNotFoundMsg);
+		
+		if(apiVisibleLayers !== "") { 
+			var visibleLayerNotFound = array_diff(apiVisibleLayerArray, checkForVisibleLayerArray);
+			if(visibleLayerNotFound.length > 0) {
+				var visibleLayerString = visibleLayerNotFound.join(",");
+				var visibleLayerNotFoundMsg = "Visible layer " + visibleLayerString + " not found."; 
+				new Mapbender.Notice(visibleLayerNotFoundMsg);
+				//alert(visibleLayerNotFoundMsg);
+			}
 		}
-	}
-	
-	if(apiQueryLayers !== "") { 
-		var queryLayerNotFound = array_diff(apiQueryLayerArray, checkForQueryLayerArray);
-		if(queryLayerNotFound.length > 0) {
-			var queryLayerString = queryLayerNotFound.join(",");
-			var queryLayerNotFoundMsg = "Query layer " + queryLayerString + " not found."; 
-			new Mapbender.Notice(queryLayerNotFoundMsg);
-			//alert(queryLayerNotFoundMsg);
+		
+		if(apiQueryLayers !== "") { 
+			var queryLayerNotFound = array_diff(apiQueryLayerArray, checkForQueryLayerArray);
+			if(queryLayerNotFound.length > 0) {
+				var queryLayerString = queryLayerNotFound.join(",");
+				var queryLayerNotFoundMsg = "Query layer " + queryLayerString + " not found."; 
+				new Mapbender.Notice(queryLayerNotFoundMsg);
+				//alert(queryLayerNotFoundMsg);
+			}
 		}
-	}
-	
-	if (apiVisibleLayersRegExpr !== "") {
-		if(currentVisibleLayerMatchTrue === false) { 
-			var visibleLayerNotFoundMsg = "No visible layer matches the given regular expression."; 
-			new Mapbender.Notice(visibleLayerNotFoundMsg);
-			//alert(visibleLayerNotFoundMsg);
+		
+		if (apiVisibleLayersRegExpr !== "") {
+			if(currentVisibleLayerMatchTrue === false) { 
+				var visibleLayerNotFoundMsg = "No visible layer matches the given regular expression."; 
+				new Mapbender.Notice(visibleLayerNotFoundMsg);
+				//alert(visibleLayerNotFoundMsg);
+			}
 		}
-	}
-	
-	if (apiQueryLayersRegExpr !== "") {
-		if(currentQueryLayerMatchTrue === false) {
-			var queryLayerNotFoundMsg = "No queryable layer matches the given regular expression."; 
-			new Mapbender.Notice(queryLayerNotFoundMsg);
-			//alert(queryLayerNotFoundMsg);
+		
+		if (apiQueryLayersRegExpr !== "") {
+			if(currentQueryLayerMatchTrue === false) {
+				var queryLayerNotFoundMsg = "No queryable layer matches the given regular expression."; 
+				new Mapbender.Notice(queryLayerNotFoundMsg);
+				//alert(queryLayerNotFoundMsg);
+			}
 		}
+		
+	    eventAfterMapRequest.trigger({
+	    	map: mapObject
+	    });
 	}
-	
-    eventAfterMapRequest.trigger({
-    	map: mapObject
-    });
-
 });
 
 function array_diff(a1, a2) {



More information about the Mapbender_commits mailing list