[Mapbender-commits] r5010 - in trunk/mapbender: core http/classes http/javascripts http/php http/plugins lib

svn_mapbender at osgeo.org svn_mapbender at osgeo.org
Thu Nov 19 04:16:15 EST 2009


Author: christoph
Date: 2009-11-19 04:16:13 -0500 (Thu, 19 Nov 2009)
New Revision: 5010

Added:
   trunk/mapbender/http/javascripts/mod_savewmc.js
Removed:
   trunk/mapbender/http/php/mod_setLocale.php
   trunk/mapbender/lib/i18n.php
Modified:
   trunk/mapbender/core/system.php
   trunk/mapbender/http/classes/class_wmc.php
   trunk/mapbender/http/javascripts/mod_savewmc.php
   trunk/mapbender/http/javascripts/mod_switchLocale_noreload.php
   trunk/mapbender/http/php/mod_savewmc_server.php
   trunk/mapbender/http/plugins/mb_i18n.js
   trunk/mapbender/http/plugins/mb_i18n_server.php
Log:
i18n, savewmc

Modified: trunk/mapbender/core/system.php
===================================================================
--- trunk/mapbender/core/system.php	2009-11-18 16:01:11 UTC (rev 5009)
+++ trunk/mapbender/core/system.php	2009-11-19 09:16:13 UTC (rev 5010)
@@ -44,5 +44,5 @@
 	"scaleBar,scaleSelect,setBBOX,setPOI2Scale,reload,overview,addWMS," .
 	"repaint,changeEPSG,User,AdminTabs,GroupEditor,GuiEditor,UserEditor,".
 	"scalebar,addWMSfromTree,mousewheelZoom,doubleclickZoom," .
-	"overviewToggle,resizeMapsize,coordsLookup,selArea1,loadwmc"
+	"overviewToggle,resizeMapsize,coordsLookup,selArea1,loadwmc,savewmc"
 );

Modified: trunk/mapbender/http/classes/class_wmc.php
===================================================================
--- trunk/mapbender/http/classes/class_wmc.php	2009-11-18 16:01:11 UTC (rev 5009)
+++ trunk/mapbender/http/classes/class_wmc.php	2009-11-19 09:16:13 UTC (rev 5010)
@@ -230,7 +230,7 @@
 	// ---------------------------------------------------------------------------
 	// DATABASE FUNCTIONS
 	// ---------------------------------------------------------------------------
-	public function getPublicWmcIds ($userId) {
+	public function getPublicWmcIds () {
 		$sql = "SELECT wmc_id FROM mb_user_wmc ";
 		$sql .= "WHERE wmc_public = 1 GROUP BY wmc_id";
 		$res_wmc = db_query($sql);
@@ -242,13 +242,26 @@
 		return $wmcArray;
 	}
 
+	public function getAccessibleWmcs ($user) {
+		$wmcArray = array();
+		
+		// get WMC ids 
+		$wmcOwnerArray = $user->getWmcByOwner();
+		
+		$publicWmcIdArray = $this->getPublicWmcIds();
+		
+		return array_keys( array_flip(array_merge($wmcOwnerArray, $publicWmcIdArray)));
+	}
+
+
+
 	public function selectByUser ($user) {
 		$wmcArray = array();
 		
 		// get WMC ids 
 		$wmcOwnerArray = $user->getWmcByOwner();
 		
-		$publicWmcIdArray = $this->getPublicWmcIds($user->id);
+		$publicWmcIdArray = self::getPublicWmcIds();
 		
 		$wmcIdArray = array_keys( array_flip(array_merge($wmcOwnerArray, $publicWmcIdArray)));
 
@@ -267,7 +280,7 @@
 		}
 	
 		if ($wmcIdList !== "") {
-			$sql = "SELECT DISTINCT wmc_id, wmc_title, wmc_timestamp,wmc_timestamp_create,wmc_public FROM mb_user_wmc ";
+			$sql = "SELECT DISTINCT wmc_id, wmc_title, wmc_timestamp, wmc_timestamp_create, wmc_public, abstract FROM mb_user_wmc ";
 			$sql .= "WHERE wmc_id IN (" . $wmcIdList . ") ";
 			$sql .=	"ORDER BY wmc_timestamp DESC";
 		
@@ -275,6 +288,7 @@
 			while($row = db_fetch_array($res)){
 				$currentResult = array();
 				$currentResult["id"] = $row["wmc_id"];
+				$currentResult["abstract"] = $row["abstract"];
 				$currentResult["title"] = administration::convertIncomingString($row["wmc_title"]);
 				$currentResult["timestamp"] = date("M d Y H:i:s", $row["wmc_timestamp"]); 
 				$currentResult["timestamp_create"] = date("M d Y H:i:s", $row["wmc_timestamp_create"]); 
@@ -283,12 +297,56 @@
 					in_array($currentResult["id"], $publicWmcIdArray) && 
 					!in_array($currentResult["id"], $wmcOwnerArray)) || $user->isPublic()) ?
 					true : false;
+					
+				// get categories
+				$currentResult["categories"] = $this->getCategoriesById($currentResult["id"], $user);
+				$currentResult["keywords"] = $this->getKeywordsById($currentResult["id"], $user);
 				array_push($wmcArray, $currentResult);
 			}
 		}
 		return $wmcArray;
 	}
 
+	private function getKeywordsById ($id, $user) {
+		$wmcArray = $this->getAccessibleWmcs($user);
+		if (!in_array($id, $wmcArray)) {
+			return array();
+		}
+		
+		$keywordArray = array();
+		
+		$sql = "SELECT DISTINCT k.keyword FROM keyword AS k, wmc_keyword AS w " . 
+			"WHERE w.fkey_keyword_id = k.keyword_id AND w.fkey_wmc_id = $1";
+		$v = array($id);
+		$t = array("s");
+		$res = db_prep_query($sql, $v, $t);
+		while ($row = db_fetch_array($res)) {
+			$keywordArray[]= $row["keyword"];
+		}
+		return $keywordArray;
+	}
+
+	private function getCategoriesById ($id, $user) {
+		$wmcArray = $this->getAccessibleWmcs($user);
+		if (!in_array($id, $wmcArray)) {
+			return array();
+		}
+		
+		$keywordArray = array();
+		
+		$sql = "SELECT DISTINCT t.md_topic_category_id FROM " . 
+			"md_topic_category AS t, wmc_md_topic_category AS w " . 
+			"WHERE w.fkey_md_topic_category_id = t.md_topic_category_id " . 
+			"AND w.fkey_wmc_id = $1";
+		$v = array($id);
+		$t = array("s");
+		$res = db_prep_query($sql, $v, $t);
+		while ($row = db_fetch_array($res)) {
+			$keywordArray[]= $row["md_topic_category_id"];
+		}
+		return $keywordArray;
+	}
+
     private function compareWms ($a, $b) {
 		if ($a["id"] === $b["id"]) return 0;
         return -1;
@@ -572,6 +630,11 @@
 					$delt = array("s");
 					db_prep_query($delsql, $delv,$delt);
 						
+					$delkwsql = "DELETE FROM wmc_keyword WHERE fkey_wmc_id = $1;";
+					$delkwv = array($wmc_DB_ID);
+					$delkwt = array("s");
+					db_prep_query($delkwsql, $delkwv,$delkwt);
+						
 					
 					
 				}

Added: trunk/mapbender/http/javascripts/mod_savewmc.js
===================================================================
--- trunk/mapbender/http/javascripts/mod_savewmc.js	                        (rev 0)
+++ trunk/mapbender/http/javascripts/mod_savewmc.js	2009-11-19 09:16:13 UTC (rev 5010)
@@ -0,0 +1,304 @@
+/**
+ * Package: savewmc
+ *
+ * Description:
+ * save workspace as WMC
+ * 
+ * Files:
+ *  - http/javascripts/mod_savewmc.php
+ *  - http/javascripts/mod_savewmc.js
+ *  - http/php/mod_savewmc_server.php
+ *
+ * SQL:
+ * > INSERT INTO gui_element(fkey_gui_id, e_id, e_pos, e_public, e_comment, 
+ * > e_title, e_element, e_src, e_attributes, e_left, e_top, e_width, 
+ * > e_height, e_z_index, e_more_styles, e_content, e_closetag, e_js_file, 
+ * > e_mb_mod, e_target, e_requires, e_url) VALUES('<gui_id>','savewmc',2,1,
+ * > 'save workspace as WMC','Save workspace as web map context document',
+ * > 'img','../img/button_blink_red/wmc_save_off.png','',870,60,24,24,1,'',
+ * > '','','mod_savewmc.php','','mapframe1','mapframe1',
+ * > 'http://www.mapbender.org/index.php/SaveWMC');
+ * >
+ * > INSERT INTO gui_element_vars(fkey_gui_id, fkey_e_id, var_name, var_value, 
+ * > context, var_type) VALUES('<gui_id>', 'savewmc', 'overwrite', '1', '',
+ * > 'var');
+ * > 
+ * > INSERT INTO gui_element_vars(fkey_gui_id, fkey_e_id, var_name, var_value, 
+ * > context, var_type) VALUES('<gui_id>', 'savewmc', 'saveInSession', '1', 
+ * > '' ,'var');
+ *
+ * Help:
+ * http://www.mapbender.org/index.php/SaveWMC
+ *
+ * Maintainer:
+ * http://www.mapbender.org/User:Christoph_Baudson
+ * 
+ * 
+ * Parameters:
+ * 
+ * overwrite     - *[optional]* if set to 1, a WMC document is overwritten
+ * 					if a WMC with the given name already exists
+ * 
+ * saveInSession - *[optional]* if set to 1, the state of the client is 
+ * 					stored in the session after each map request in
+ * 					the target map
+ * 
+ *
+ * License:
+ * Copyright (c) 2009, Open Source Geospatial Foundation
+ * This program is dual licensed under the GNU General Public License 
+ * and Simplified BSD license.  
+ * http://svn.osgeo.org/mapbender/trunk/mapbender/license/license.txt
+ */
+
+//
+// init element_vars
+//
+var overwrite = options.overwrite || false;
+var saveInSession = typeof options.saveInSession === "undefined" ? 0 : options.saveInSession;
+if (typeof originalI18nObj !== "object") {
+	var originalI18nObj = {};
+}
+if (typeof translatedI18nObj !== "object") {
+	var translatedI18nObj = {};
+}
+
+//
+// button behaviour
+//
+$(this).click(function () {
+	mod_savewmc();
+}).mouseover(function () {
+	if (options.src) {
+		this.src = options.src.replace(/_off/, "_over");
+	}
+}).mouseout(function () {
+	if (options.src) {
+		this.src = options.src;
+	}
+});
+
+
+// not used at the moment (?)
+var setOnUnload = function () {
+	$(window).unload(function () {
+		mod_savewmc_session();
+	});
+};
+
+var getExistingWmcData = function (callback) {
+	// get WMC data from server
+	var req = new Mapbender.Ajax.Request({
+		url: "../php/mod_loadwmc_server.php",
+		method: "getWmc",
+		callback: function(obj, result, message){
+			if (!result) {
+				new Mb_exception(message);
+				return;
+			}
+			if (typeof callback === "function") {
+				callback(obj.wmc);
+			}
+		}
+	});
+	req.send();
+};
+
+var createSelectBoxForExistingWmcs = function (obj) {
+	(function () {
+		$select = $("#" + options.id + "_wmctype").empty();
+		var select = "<option value=''>" + translatedI18nObj.labelNewWmc + "</option>";
+		if (typeof obj === "object" && obj.length) {
+			for (var i = 0; i < obj.length; i++) {
+				var wmc = obj[i];
+				if (wmc.disabled) {
+					continue;
+				}
+				select += "<option value='" + wmc.id + "'>" + 
+					wmc.title + "</option>";
+			}
+		}
+		select += "</select>";
+		$select.html(select).change(function () {
+			//
+			// reset fields if new wmc is saved
+			//		
+			if (this.value === "") {
+				$("#" + options.id + "_wmcname").val("");
+				$("#" + options.id + "_wmcabstract").val("");
+				$("#" + options.id + "_wmckeywords").val("");
+				$("input[id^='" + options.id + "_wmcinspire_']").removeAttr("checked");
+				return false;
+			}
+			//
+			// set fields according to wmc
+			//
+			for (var i = 0; i < obj.length; i++) {
+				var wmc = obj[i];
+				if (wmc.id === this.value) {
+					$("#" + options.id + "_wmcname").val(wmc.title);
+					$("#" + options.id + "_wmcabstract").val(wmc.abstract);
+					$("#" + options.id + "_wmckeywords").val(wmc.keywords.join(","));
+					$("input[id^='" + options.id + "_wmcinspire_']").removeAttr("checked");
+					for (var j = 0; j < wmc.categories.length; j++) {
+						var cat = wmc.categories[j];
+						$("#" + options.id + "_wmcinspire_" + cat).attr("checked", "checked");
+					}
+					return false;
+				}
+			}
+		});
+	})();
+};
+
+var getButtons = function () {
+	var buttonObj = {};
+	buttonObj[translatedI18nObj.labelSave] = function() {
+		var inspire_cat = {};
+		$("#" + options.id + "_saveWMCForm form #" + options.id + 
+			"_inspire_cat :checkbox").each(function(){
+			
+			var regExp = new RegExp(options.id + "_");
+			if(!!$(this).attr('checked')) {
+				inspire_cat[$(this).attr('id').replace(regExp, "")] = true;
+			}
+		});
+		var attributes = {};
+		attributes.title 	= $("#" + options.id + "_wmcname").val();
+		attributes.abstract = $("#" + options.id + "_wmcabstract").val();
+		attributes.keywords = $("#" + options.id + "_wmckeywords").val();
+		attributes.inspirecat = inspire_cat;
+		if (!!attributes.title) {
+			sendMapDataToServer(attributes, 0, (function(result, status) {
+				//alert(status + ": " + result);
+				$("#" + options.id + "_saveWMCForm form")[0].reset();
+			}));
+		}else{
+			//perfom validation	
+		}
+		$(this).dialog('close');
+	};
+	buttonObj[translatedI18nObj.labelCancel] = function() {
+		$("#" + options.id + "_saveWMCForm form")[0].reset();
+		$(this).dialog('close');
+	};
+	return buttonObj;
+};
+
+Mapbender.events.init.register(function () {
+	if (saveInSession === 1 && typeof options.target === "object" 
+		&& options.target.length && options.target.length > 0) {
+		try {
+			Mapbender.modules[options.target[0]].afterMapRequest.register(function () {
+				mod_savewmc_session();
+			});
+		}
+		catch (exc) {
+			new Mb_exception(options.target[0] + " is not in this application.");			
+		}
+	}
+
+	var t = translatedI18nObj;
+	var savewmcHtml = '<div id="' + options.id + '_saveWMCForm" ' + 
+		'title="' + translatedI18nObj.title + '">' + 
+		'<style> fieldset label { display: block; }</style>' + 
+		wmcSaveFormHtml + 
+		'</div>';
+
+	$(savewmcHtml).dialog({
+		bgiframe: true,
+		autoOpen: false,
+		height: 400,
+		width: 500,
+		modal: true,
+		buttons: getButtons()
+	});
+});
+
+function mod_savewmc_session(){
+	sendMapDataToServer("session", 1, function(result, status) {});
+}
+
+var localize = function () {
+	//
+	// buttons
+	//
+	$("#" + options.id + "_saveWMCForm").dialog('option', 'buttons', getButtons());
+	
+	// title
+	$("#" + options.id + "_saveWMCForm").dialog('option', 'title', translatedI18nObj.title);
+	
+	//
+	// form
+	//
+	var $form = $("#" + options.id + "_saveWMCForm > form > fieldset");
+	$form.children("label").each(function () {
+		var forId = $(this).attr("for");
+		switch (forId) {
+			case options.id + "_wmctype" : 
+				$(this).text(translatedI18nObj.labelNewOrOverwrite).next()
+					.children().eq(0).text(translatedI18nObj.labelNewWmc);
+				break;
+			case options.id + ":wmcname" : 
+				$(this).text(translatedI18nObj.labelName);
+				break;
+			case options.id + "_wmcabstract" : 
+				$(this).text(translatedI18nObj.labelAbstract);
+				break;
+			case options.id + "_wmckeywords" : 
+				$(this).text(translatedI18nObj.labelKeywords);
+				break;
+			case options.id + "_wmckeywords" : 
+				$(this).text(translatedI18nObj.labelKeywords);
+				break;
+		}
+	});
+	var $legend = $form.next().children("legend");
+	$legend.text(translatedI18nObj.labelCategories);
+};
+
+Mapbender.events.localize.register(function () {
+	Mapbender.modules.i18n.queue(options.id, originalI18nObj, function (translatedObj) {
+		if (typeof translatedObj !== "object") {
+			return;
+		}
+		translatedI18nObj = translatedObj;
+		try {
+			localize();
+		}
+		catch (exc) {
+			new Mb_warning("Error when translating: " . exc.message);
+		}
+	});
+});
+
+var mod_savewmc = function () {
+	getExistingWmcData(function (obj) {
+		createSelectBoxForExistingWmcs(obj);
+		$("#" + options.id + "_saveWMCForm").dialog('open');
+	});
+};
+
+var sendMapDataToServer = function (attributes, storeInSession, callbackFunction) {
+	var	extensionDataString = "";
+	if (currentWmcExtensionData !== null) {
+		extensionDataString = $.toJSON(currentWmcExtensionData);
+	}
+
+	if (storeInSession) {
+		$.ajaxSetup({async:false}); 
+	}
+    var req = new Mapbender.Ajax.Request({
+        url: "../php/mod_savewmc_server.php",
+        method: "saveWMC",
+		parameters : {
+		  saveInSession:storeInSession, 
+		  attributes:attributes,
+		  overwrite: overwrite,
+		  extensionData:extensionDataString, 
+		  mapObject:$.toJSON(mb_mapObj)
+		},
+        callback: callbackFunction
+    }); 
+    req.send();
+};

Modified: trunk/mapbender/http/javascripts/mod_savewmc.php
===================================================================
--- trunk/mapbender/http/javascripts/mod_savewmc.php	2009-11-18 16:01:11 UTC (rev 5009)
+++ trunk/mapbender/http/javascripts/mod_savewmc.php	2009-11-19 09:16:13 UTC (rev 5010)
@@ -1,188 +1,90 @@
 <?php
-# $Id: mod_savewmc.php 264 2006-05-12 11:07:19Z vera_schulze 
-# http://www.mapbender.org/index.php/mod_savewmc.php
-# Copyright (C) 2002 CCGIS
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
+/*
+ * License:
+ * Copyright (c) 2009, Open Source Geospatial Foundation
+ * This program is dual licensed under the GNU General Public License 
+ * and Simplified BSD license.  
+ * http://svn.osgeo.org/mapbender/trunk/mapbender/license/license.txt
+ */
 require_once(dirname(__FILE__)."/../php/mb_validatePermission.php");
-include(dirname(__FILE__) . "/../include/dyn_js.php");
+require_once(dirname(__FILE__)."/../classes/class_json.php");
 
-echo "mod_savewmc_target = '".$e_target[0]."';";
-
-
 //get INSPIRE categories
 
 // On server:
 // get inspirecat, gety $wmc->MainMap->getExtendInfo (minx etx /o-o/ mail von Testbausdon)
 // get keywords
 
-//WHY OH WHY ???
 /*
 * @return String containing checkboxes and labels as HTML
 */
-function InspireCategories()
-{
+function createInspireCategoryString($prefix) {
+	$str = "";
 	$htmlrows = "";
 	$sql = "SELECT md_topic_category_id, md_topic_category_code_en FROM md_topic_category";
 	$res = db_query($sql);
 	if(db_error()){ return "Could not get Categories from db";}
 	$i = 0;
-	while($row = db_fetch_array($res))
-	{
-		// use $i to count to 10, nd then  start a new colummn,
-		// use ul to mae nice list
+	while($row = db_fetch_array($res)) {
 		$i++;
- 		echo '<label for="wmcinspire_'. $row[0] .'"><input id="wmcinspire_'. $row[0] .'" type="checkbox" />'. $row[1] .'</label>';
+ 		$str .= "<label for=\"{$prefix}_wmcinspire_{$row[0]}\">" .
+			"<input id=\"{$prefix}_wmcinspire_{$row[0]}\" " . 
+			"type=\"checkbox\" />{$row[1]}</label>";
 	}
-
+	return $str;
 }
 
-?>
+$originalI18nObj = array(
+	"labelNewOrOverwrite" => "New / overwrite",
+	"labelNewWmc" => "(new WMC)",
+	"labelName" => "Name",
+	"labelAbstract" => "Abstract",
+	"labelKeywords" => "Keywords",
+	"labelCategories" => "Categories",
+	"labelCancel" => "Abort",
+	"labelSave" => "Save",
+	"title" => $e_title
+);
 
-// init element_vars
-
-var overwrite = overwrite || false;
-
-function setOnUnload() {
-	if (ie) {
-		document.getElementsByTagName('body')[0].onunload = function() {
-			var x = new Function ("", "mod_savewmc_session()"); x(); 
-		};
-	}
-	else {
-		document.getElementsByTagName('body')[0].setAttribute("onUnload", "mod_savewmc_session();");
-	}
+$translatedI18nObj = array();
+foreach ($originalI18nObj as $key => $value) {
+	$translatedI18nObj[$key] = _mb($value);
 }
 
-try {if (saveInSession) {}}catch(e) {saveInSession = 0;}
+$json = new Mapbender_JSON();
 
-if (saveInSession == 1) {
-	eventAfterMapRequest.register(function () {
-		mod_savewmc_session();
-	});
-//	mb_registerInitFunctions('setOnUnload()');
-}
+$saveWmcCategoryString = createInspireCategoryString($e_id);
+$originalI18nObjJson = $json->encode($originalI18nObj);
+$translatedI18nObjJson = $json->encode($translatedI18nObj);
 
-<?php 
-if ($e_src) {
-	sprintf("var mod_savewmc_img = new Image(); 
-			mod_savewmc_img.src = '%s';", $e_src);
-}
-?>
-//var mod_savewmc_img_over = new Image(); mod_savewmc_img_over.src = "<?php  echo preg_replace("/_off/","_over",$e_src);  ?>";
+$labelNewOrOverwrite = $translatedI18nObj["labelNewOrOverwrite"];
+$labelNewWmc = $translatedI18nObj["labelNewWmc"];
+$labelName = $translatedI18nObj["labelName"];
+$labelAbstract = $translatedI18nObj["labelAbstract"];
+$labelKeywords = $translatedI18nObj["labelKeywords"];
+$labelCategories = $translatedI18nObj["labelCategories"];
 
-$('<div id="saveWMCForm">\n\
-<p>Save your WMC</p>\n\
-<style> fieldset label { display: block; }</style>\n\
-<form>\n\
- <fieldset>\n\
- <label for="wmcname">Name</label><input id="wmcname" type="text" class="text ui-widget-content ui-corner-all" />\n\
- <label for="wmcabstract">Abstract</label><textarea id="wmcabstract" class="text ui-widget-content ui-corner-all"></textarea>\n\
- <label for="wmckeywords">Keywords</label><input id="wmckeywords" type="text" class="text ui-widget-content ui-corner-all"  />\n\
- </fieldset>\n\
- <fieldset id="inspire_cat">\n\
- <legend>Inspire Category</legend>\n\
-<?php InspireCategories();  ?>
- </fieldset>\n\
-</form>\n\
-</div>').dialog({
-		bgiframe: true,
-		autoOpen: false,
-		height: 400,
-		width: 500,
-		modal: true,
-		buttons: {
-			"Save": function() {
-				var inspire_cat = {};
-				$("#saveWMCForm form #inspire_cat :checkbox").each(function(){
-					if(!!$(this).attr('checked'))
-					{
-						inspire_cat[$(this).attr('id')] = true;
-					}
+echo <<<HTML
 
-				});
-				var attributes = {};
-				attributes.title 	= $("#wmcname").val();
-				attributes.abstract = $("#wmcabstract").val();
-				attributes.keywords = $("#wmckeywords").val();
-				attributes.inspirecat = inspire_cat;
-				if (!!attributes.title) {
-					sendMapDataToServer(attributes, 0, (function(result, status) {
-						//alert(status + ": " + result);
-						$('#saveWMCForm form')[0].reset() 
-					}));
-				}else{
-					//perfom validation	
-				}
-				$(this).dialog('close');
-			},
-			"Cancel": function() {
-				$('#saveWMCForm form')[0].reset() 
-				$(this).dialog('close');
-			}
-		}
-
-
-	})
-
-function mod_savewmc_session(){
-	sendMapDataToServer("session", 1, function(result, status) {});
-}
-
-function mod_savewmc(title){
-//	var generalTitle = title ? title : prompt("Save WMC as...");
-
-	$('#saveWMCForm').dialog('open');
-
-}
-
-function sendMapDataToServer(attributes, storeInSession, callbackFunction) {
-	var user = "<?php echo Mapbender::session()->get("mb_user_id"); ?>";
-	var ind = getMapObjIndexByName(mod_savewmc_target);
+var wmcSaveFormHtml = '<form><fieldset>' + 
+	'<label for="{$e_id}_wmctype">{$labelNewOrOverwrite}</label>' + 
+	'<select class="ui-corner-all" id="{$e_id}_wmctype">' + 
+	'<option value="">{$labelNewWmc}</option></select>' + 
+	'<label for="{$e_id}_wmcname">{$labelName}</label>' + 
+	'<input id="{$e_id}_wmcname" type="text" class="text ui-widget-content ui-corner-all" />' + 
+	'<label for="{$e_id}_wmcabstract">{$labelAbstract}</label>' + 
+	'<textarea id="{$e_id}_wmcabstract" class="text ui-widget-content ui-corner-all"></textarea>' + 
+	'<label for="{$e_id}_wmckeywords">{$labelKeywords}</label>' + 
+	'<input id="{$e_id}_wmckeywords" type="text" class="text ui-widget-content ui-corner-all" />' + 
+	'</fieldset><fieldset id="{$e_id}_inspire_cat"><legend>{$labelCategories}' + 
+	'</legend>' + 
+	'{$saveWmcCategoryString}' + 
+	'</fieldset></form>';
 	
-	var	extensionDataString = "";
-	if (currentWmcExtensionData != null) {
-		extensionDataString = $.toJSON(currentWmcExtensionData);
-	}
+var originalI18nObj = $originalI18nObjJson;
+var translatedI18nObj = $translatedI18nObjJson;
 
-	if (storeInSession) {
-		$.ajaxSetup({async:false}); 
-	}
-    var req = new Mapbender.Ajax.Request({
-        url: "../php/mod_savewmc_server.php",
-        method: "saveWMC",
-		parameters : {
-		  saveInSession:storeInSession, 
-		  attributes:attributes,
-		  overwrite: overwrite,
-		  extensionData:extensionDataString, 
-		  mapObject:$.toJSON(mb_mapObj)
-		},
-        callback: callbackFunction
-    }); 
-    req.send();
+HTML;
 
-
-
-
-
-
-
-
-
-
-
-}
+include(dirname(__FILE__) . "/../javascripts/mod_savewmc.js");
+?>
\ No newline at end of file

Modified: trunk/mapbender/http/javascripts/mod_switchLocale_noreload.php
===================================================================
--- trunk/mapbender/http/javascripts/mod_switchLocale_noreload.php	2009-11-18 16:01:11 UTC (rev 5009)
+++ trunk/mapbender/http/javascripts/mod_switchLocale_noreload.php	2009-11-19 09:16:13 UTC (rev 5010)
@@ -17,8 +17,7 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
-require_once(dirname(__FILE__)."/../php/mb_validateSession.php");
-require_once(dirname(__FILE__)."/../classes/class_locale.php");
+require_once(dirname(__FILE__)."/../php/mb_validatePermission.php");
 
 include(dirname(__FILE__) . "/../include/dyn_js.php");
 
@@ -30,10 +29,13 @@
 function validate_locale(){
 	var index = document.getElementById("language").selectedIndex;
 	var lang = document.getElementById("language").options[index].value;
-	mb_ajax_post("../php/mod_setLocale.php", {"lang":lang}, function(result, status) {
-		Mapbender.locale = result;
-		eventLocalize.trigger();
-	});
+	
+	try {
+		Mapbender.modules.i18n.localize(lang);
+	}
+	catch (e) {
+		new Mb_exception(e.message);
+	}
 }
 
 Mapbender.events.init.register(function () {

Modified: trunk/mapbender/http/php/mod_savewmc_server.php
===================================================================
--- trunk/mapbender/http/php/mod_savewmc_server.php	2009-11-18 16:01:11 UTC (rev 5009)
+++ trunk/mapbender/http/php/mod_savewmc_server.php	2009-11-19 09:16:13 UTC (rev 5010)
@@ -1,21 +1,11 @@
 <?php
-#$Id: mod_insertWmcIntoDb.php 1198 2007-10-18 14:37:52Z baudson $
-#$Header: /cvsroot/mapbender/mapbender/http/javascripts/mod_insertWmcIntoDb.php,v 1.19 2006/03/09 14:02:42 uli_rothstein Exp $
-# Copyright (C) 2002 CCGIS 
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+/*
+ * License:
+ * Copyright (c) 2009, Open Source Geospatial Foundation
+ * This program is dual licensed under the GNU General Public License 
+ * and Simplified BSD license.  
+ * http://svn.osgeo.org/mapbender/trunk/mapbender/license/license.txt
+ */
 
 require_once(dirname(__FILE__)."/../php/mb_validateSession.php");
 require_once(dirname(__FILE__)."/../classes/class_administration.php");
@@ -101,4 +91,4 @@
 }
 
 $ajaxResponse->send();
-?>
+?>
\ No newline at end of file

Deleted: trunk/mapbender/http/php/mod_setLocale.php
===================================================================
--- trunk/mapbender/http/php/mod_setLocale.php	2009-11-18 16:01:11 UTC (rev 5009)
+++ trunk/mapbender/http/php/mod_setLocale.php	2009-11-19 09:16:13 UTC (rev 5010)
@@ -1,29 +0,0 @@
-<?php
-# $Id$
-# http://www.mapbender.org/index.php/localeSwitch
-# Copyright (C) 2002 CCGIS 
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-require_once(dirname(__FILE__)."/../php/mb_validateSession.php");
-require_once(dirname(__FILE__) . "/../classes/class_locale.php");
-
-Mapbender::session()->set("mb_lang", $_POST["lang"]);
-
-$localeObj = new Mb_locale(Mapbender::session()->get("mb_lang"));
-
-header("Content-type='text/plain';Charset=utf-8");
-echo $localeObj->name;
-?>

Modified: trunk/mapbender/http/plugins/mb_i18n.js
===================================================================
--- trunk/mapbender/http/plugins/mb_i18n.js	2009-11-18 16:01:11 UTC (rev 5009)
+++ trunk/mapbender/http/plugins/mb_i18n.js	2009-11-19 09:16:13 UTC (rev 5010)
@@ -69,7 +69,7 @@
 						}
 						var t = translationObj[clientId];
 						if (typeof t.callback === "function") {
-							t.callback(obj.data[serverId]);
+							t.callback(obj.data[serverId].data);
 							new Mb_notice(
 								"Processing translation of " + serverId + "...done"
 							);

Modified: trunk/mapbender/http/plugins/mb_i18n_server.php
===================================================================
--- trunk/mapbender/http/plugins/mb_i18n_server.php	2009-11-18 16:01:11 UTC (rev 5009)
+++ trunk/mapbender/http/plugins/mb_i18n_server.php	2009-11-19 09:16:13 UTC (rev 5010)
@@ -32,9 +32,8 @@
 
 switch ($ajaxResponse->getMethod()) {
 	case "translate" :
-		Mapbender::session()->set("mb_lang", $ajaxResponse->getParameter("lang"));
-		
-		$localeObj = new Mb_locale(Mapbender::session()->get("mb_lang"));
+
+		$localeObj = new Mb_locale($ajaxResponse->getParameter("locale"));
 		$msg_obj = $ajaxResponse->getParameter("data");
         $translated_obj = translateTree($msg_obj);
 		

Deleted: trunk/mapbender/lib/i18n.php
===================================================================
--- trunk/mapbender/lib/i18n.php	2009-11-18 16:01:11 UTC (rev 5009)
+++ trunk/mapbender/lib/i18n.php	2009-11-19 09:16:13 UTC (rev 5010)
@@ -1,8 +0,0 @@
-<?php
-	function _mb ($someString) {
-		if (USE_I18N) {
-			return _($someString);
-		}
-		return $someString;
-	}
-?>
\ No newline at end of file



More information about the Mapbender_commits mailing list