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

svn_mapbender at osgeo.org svn_mapbender at osgeo.org
Mon May 3 06:28:45 EDT 2010


Author: christoph
Date: 2010-05-03 06:28:45 -0400 (Mon, 03 May 2010)
New Revision: 6059

Modified:
   trunk/mapbender/http/plugins/mb_metadata_layer.js
   trunk/mapbender/http/plugins/mb_metadata_server.php
   trunk/mapbender/http/plugins/mb_pane.js
Log:


Modified: trunk/mapbender/http/plugins/mb_metadata_layer.js
===================================================================
--- trunk/mapbender/http/plugins/mb_metadata_layer.js	2010-05-03 10:28:08 UTC (rev 6058)
+++ trunk/mapbender/http/plugins/mb_metadata_layer.js	2010-05-03 10:28:45 UTC (rev 6059)
@@ -36,14 +36,31 @@
 		initialized: new Mapbender.Event()
 	};
 
+	var initialized = function (obj, result, message) {
+		that.events.initialized.trigger({
+			wmsId: obj
+		});
+		that.events.initialized.done = true;
+		if (!result) {
+			return;
+		}
+	};
+
 	this.init = function (obj) {
 		if (!that.events.initialized.done) {
 			$metadataForm.load("../plugins/mb_metadata_layer.html", function () {
 				validator = $metadataForm.validate();
-				that.events.initialized.trigger({
-					wmsId: obj
+				
+				var req = new Mapbender.Ajax.Request({
+					url: "../plugins/mb_metadata_server.php",
+					method: "getCategories",
+					parameters: {
+						"id": obj
+					},
+					callback: initialized
 				});
-				that.events.initialized.done = true;
+				req.send();		
+				
 			});
 			return;
 		}

Modified: trunk/mapbender/http/plugins/mb_metadata_server.php
===================================================================
--- trunk/mapbender/http/plugins/mb_metadata_server.php	2010-05-03 10:28:08 UTC (rev 6058)
+++ trunk/mapbender/http/plugins/mb_metadata_server.php	2010-05-03 10:28:45 UTC (rev 6059)
@@ -24,6 +24,19 @@
 	return $wmsIdArray;
 }
 
+function getLayer ($layerId = null) {
+	$user = new User(Mapbender::session()->get("mb_user_id"));
+	$wmsIdArray = $user->getOwnedWms();
+	if (!is_array($wmsIdArray) || count($wmsIdArray) === 0) {
+		abort(_mb("No metadata sets available."));
+	}
+	$wmsId = wms::getWmsIdByLayerId($layerId);
+	if (is_null($wmsId) || !in_array($wmsId, $wmsIdArray)) {
+		abort(_mb("You are not allowed to access this WMS."));
+	}
+	return;
+}
+
 switch ($ajaxResponse->getMethod()) {
 	case "getWms" :
 		$wmsIdArray = getWms();
@@ -71,14 +84,80 @@
 
 		$resultObj = array();
 		while ($row = db_fetch_assoc($res)) {
-			
-			$resultObj = $row;
+			foreach ($row as $key => $value) {
+				$resultObj["wms:".$key] = $value;
+			}
 		}
 		$ajaxResponse->setResult($resultObj);
 		$ajaxResponse->setSuccess(true);
 		
 
 		break;
+		
+	case "getCategories":
+		$resultObj = array(
+			"inspire" => array(),
+			"custom" => array()
+		);
+
+
+		$sql = "SELECT inspire_category_id, inspire_category_code_en FROM inspire_category";
+		$res = db_query($sql);
+		while ($row = db_fetch_row($res)) {
+			$resultObj["inspire"][]= $row;
+		}
+
+		$sql = "SELECT custom_category_id, custom_category_code_en FROM custom_category";
+		$res = db_query($sql);
+		$resultObj = array();
+		while ($row = db_fetch_row($res)) {
+			$resultObj["custom"][]= $row;
+		}
+		$ajaxResponse->setResult($resultObj);
+		$ajaxResponse->setSuccess(true);
+		break;
+	case "getLayerMetadata" :
+		$layerId = $ajaxResponse->getParameter("id");
+		getLayer($layerId);
+
+		$sql = <<<SQL
+	
+SELECT layer_id, layer_title, layer_abstract, layer_searchable 
+FROM layer WHERE wms_id = $wmsId;
+
+SQL;
+		$res = db_query($sql);
+
+		$resultObj = array();
+		while ($row = db_fetch_assoc($res)) {
+			foreach ($row as $key => $value) {
+				$resultObj["layer:".$key] = $value;
+			}
+		}
+		$ajaxResponse->setResult($resultObj);
+		$ajaxResponse->setSuccess(true);
+		break;
+	case "getLayerKeywords" :
+		$layerId = $ajaxResponse->getParameter("id");
+		getLayer($layerId);
+
+		$sql = <<<SQL
+	
+SELECT keyword FROM keyword, layer_keyword 
+WHERE keyword_id = fkey_keyword_id AND fkey_layer_id = $layerId
+
+SQL;
+		$res = db_query($sql);
+
+		$resultObj = array();
+		while ($row = db_fetch_assoc($res)) {
+			foreach ($row as $key => $value) {
+				$resultObj["keyword:".$key] = $value;
+			}
+		}
+		$ajaxResponse->setResult($resultObj);
+		$ajaxResponse->setSuccess(true);
+		break;
 	case "getLayerByWms" :
 		$wmsId = $ajaxResponse->getParameter("id");
 //		getWms($wmsId);

Modified: trunk/mapbender/http/plugins/mb_pane.js
===================================================================
--- trunk/mapbender/http/plugins/mb_pane.js	2010-05-03 10:28:08 UTC (rev 6058)
+++ trunk/mapbender/http/plugins/mb_pane.js	2010-05-03 10:28:45 UTC (rev 6059)
@@ -25,12 +25,16 @@
 				$(element).mapbender("setDimensions", $(element).innerWidth(), $(element).innerHeight());
 			}
 			catch (e) {
-				console.log(e);
+//				console.log(e);
 			}
 		}
 	}, o.layoutOptions);
 	var layout = $pane.layout(myOptions);
 	layout.resizeAll();
+	
+	this.resizeAll = function () {
+		layout.resizeAll();
+	};
 };
 
 $pane.mapbender(new PaneApi(options));



More information about the Mapbender_commits mailing list