[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