[Mapbender-commits] r1512 - trunk/mapbender/http/javascripts
svn_mapbender at osgeo.org
svn_mapbender at osgeo.org
Wed Jul 18 10:59:55 EDT 2007
Author: christoph
Date: 2007-07-18 10:59:55 -0400 (Wed, 18 Jul 2007)
New Revision: 1512
Added:
trunk/mapbender/http/javascripts/mod_savewmc.php
Removed:
trunk/mapbender/http/javascripts/mod_savewmc.php
Log:
saving a wmc via ajax
Deleted: trunk/mapbender/http/javascripts/mod_savewmc.php
===================================================================
--- trunk/mapbender/http/javascripts/mod_savewmc.php 2007-07-18 14:59:29 UTC (rev 1511)
+++ trunk/mapbender/http/javascripts/mod_savewmc.php 2007-07-18 14:59:55 UTC (rev 1512)
@@ -1,430 +0,0 @@
-<?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.
-
-
-$gui_id = $_REQUEST["gui_id"];
-require_once("../../conf/mapbender.conf");
-$con = db_connect($DBSERVER,$OWNER,$PW);
-db_select_db(DB,$con);
-$sql = "SELECT e_src, e_target FROM gui_element WHERE e_id = 'savewmc' AND fkey_gui_id = $1";
-$v = array($gui_id);
-$t = array('s');
-$res = db_prep_query($sql, $v, $t);
-$cnt = 0;
-while($row = db_fetch_array($res)){
- $e_src = $row["e_src"];
- $e_target = $row["e_target"];
- $cnt++;
-}
-if($cnt > 1){
- echo "alert('savewmc: ID not unique!');";
-}
-
-$e_id_css = "savewmc";
-include("../include/dyn_js.php");
-
-echo "mod_savewmc_target = '".$e_target."';";
-?>
-function setOnUnload() {
- document.getElementsByTagName('body')[0].setAttribute("onUnload", "mod_savewmc('session');");
-}
-
-try {if (saveInSession) {}}catch(e) {saveInSession = 0;}
-
-if (saveInSession == '1') {
- mb_registerInitFunctions('setOnUnload()');
-}
-
-var mod_savewmc_img = new Image(); mod_savewmc_img.src = "<?php echo $e_src; ?>";
-//var mod_savewmc_img_over = new Image(); mod_savewmc_img_over.src = "<?php echo preg_replace("/_off/","_over",$e_src); ?>";
-
-//0 = Keine Anführungszeichen umwandeln
-//1 = Nur einfache Anführungszeichen umwandeln
-//2 = Nur doppelte Anführungszeichen umwandeln (Standardeinstellung)
-//3 = Beide Arten (einfache und doppelte Anführungszeichen) umwandeln
-function htmlspecialchars(str,typ) {
- if(typeof str=="undefined") str="";
- if(typeof typ!="number") typ=2;
- typ=Math.max(0,Math.min(3,parseInt(typ)));
- var html=new Array();
- html[38]="&"; html[60]="&#60;"; html[62]="&#62;";
- if(typ==1 || typ==3) html[39]="&#39;";
- if(typ==2 || typ==3) html[34]="&#34;";
- for(var i in html) {
- if (typeof(html[i]) != 'function') {
- var functionString ="str=str.replace('"+String.fromCharCode(i)+"',\""+html[i]+"\");";
- eval(functionString);
- }
- }
- return str;
-}
-function mod_savewmc(title){
- var user = "<?php echo $_SESSION["mb_user_id"]; ?>";
- var ind = getMapObjIndexByName(mod_savewmc_target);
- var session = 0;
- if (title) {
- var generalTitle = htmlspecialchars(title,0);
- title_alert = 0;
- if (title == 'session') {
- session = 1;
- }
- }
- else {
- var generalTitle = htmlspecialchars(prompt("Save WMC as..."),0);
- title_alert = 1;
- }
- if (generalTitle != null){
- var wmc = "";
-
- // ViewContext variables
- var version = "1.0.0";
- var id = "<?php echo $_SESSION["mb_user_id"] . "_";?>";
- var jetzt = new Date();
- id += jetzt.getTime();
-
- // General variables
- var generalWidth = mb_mapObj[ind].width;
- var generalHeight = mb_mapObj[ind].height;
- var generalBboxSrs = mb_mapObj[ind].epsg;
- var arrayBBox = mb_mapObj[ind].extent.split(",");
- var generalBboxMinx = parseFloat(arrayBBox[0]);
- var generalBboxMiny = parseFloat(arrayBBox[1]);
- var generalBboxMaxx = parseFloat(arrayBBox[2]);
- var generalBboxMaxy = parseFloat(arrayBBox[3]);
- var generalName = "Mapbender WMC"; // TO do : insert proper data
- var generalKeywords = new Array('Mapbender', 'WMC'); // TO do : insert proper data
- var generalAbstract = ""; // TO do : insert proper data
- var generalLogoUrl = ""; // TO do : insert proper data
- var generalLogoUrlWidth = ""; // TO do : insert proper data
- var generalLogoUrlHeight = ""; // TO do : insert proper data
- var generalLogoUrlFormat = ""; // TO do : insert proper data
- var generalDescriptionUrl = ""; // TO do : insert proper data
-
- var generalContactPerson = "";
- var generalContactOrganization = "";
- var generalContactPosition = "";
- var generalContactAddressType = "";
- var generalContactAddress = "";
- var generalContactCity = "";
- var generalContactStateOrProvince = "";
- var generalContactPostCode = "";
- var generalContactCountry = "";
- var generalContactVoiceTelephone = "";
- var generalContactFacsimileTelephone = "";
- var generalContactElectronicMailAddress = "";
-
- var extension_namespace = "mapbender";
-
- // LayerList variables
- var layerHidden = "";
- var layerQueryable = "";
- var layerAbstract = "";
- var layerName = "";
- var layerSrs = "";
- var layerDataUrl = "";
- var layerMetadataUrl = "";
- var layerFormat = "";
- var layerFormat_current = "";
- var layerStyle_current = "";
- var layerStyle_name = "";
- var layerStyle_title = "";
- var layerStyle_legendURL = "";
- var layerStyle_legendURL_width = "";
- var layerStyle_legendURL_height = "";
- var layerStyle_legendURL_format = "";
- // Missing: Extension
-
- //ViewContext
- wmc += "<?xml version=\"1.0\" encoding=\"<?php echo CHARSET; ?>\"?>";
- // wmc += "<!ENTITY amp \"&#38;#38;\">\n";
- wmc += "<ViewContext version=\"" + version + "\" ";
- wmc += "id = \"" + id + "\" ";
- wmc += "xmlns=\"http://www.opengis.net/context\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns:mapbender=\"http://www.mapbender.org\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:SchemaLocation=\"http://schemas.opengis.net/context/1.0.0/context.xsd\" ";
- wmc += ">\n";
-
- //General
- wmc += "\t<General>\n";
-
- if (generalWidth && generalHeight){
- wmc += "\t\t<Window width=\"" + generalWidth + "\" height=\"" + generalHeight + "\" />\n";
- }
-
- wmc += "\t\t<BoundingBox SRS=\"" + generalBboxSrs + "\" minx =\"" + generalBboxMinx + "\" ";
- wmc += "miny =\"" + generalBboxMiny + "\" maxx =\"" + generalBboxMaxx + "\" maxy =\"" + generalBboxMaxy + "\" />\n";
- wmc += "\t\t<Name>" + generalName + "</Name>\n";
- wmc += "\t\t<Title>" + generalTitle + "</Title>\n";
-
- if (generalKeywords){
- wmc += "\t\t<KeywordList>\n";
- for (var i = 0; i < generalKeywords.length ; i++) {
- wmc += "\t\t\t<Keyword>" + generalKeywords[i] + "</Keyword>\n";
- }
- wmc += "\t\t</KeywordList>\n";
- }
- if (generalAbstract){
- wmc += "\t\t<Abstract>" + generalAbstract + "</Abstract>\n";
- }
-
- if (generalLogoUrlWidth && generalLogoUrlHeight && generalLogoUrlFormat && generalLogoUrl){
- wmc += "\t\t<LogoURL width = \"" + generalLogoUrlWidth + "\" ";
- wmc += "height = \"" + generalLogoUrlHeight + "\" ";
- wmc += "format = \"" + generalLogoUrlFormat + "\">\n";
- wmc += "\t\t\t<OnlineResource xmlns:xlink=\"http://www.w3.org/1999/xlink\" xlink:type = \"simple\" xlink:href=\"" + generalLogoUrl + "\" />\n";
- wmc += "\t\t</LogoUrl>\n";
- }
-
- if (generalDescriptionUrl){
- wmc += "\t\t<DescriptionURL>\n";
- wmc += "\t\t\t<OnlineResource xmlns:xlink=\"http://www.w3.org/1999/xlink\" xlink:type = \"simple\" xlink:href=\"" + generalDescriptionUrl + "\" />\n";
- wmc += "\t\t</DescriptionUrl>\n";
- }
-
- if (generalContactElectronicMailAddress || generalContactOrganization ||
- generalContactPerson || generalContactPosition || generalContactAddressType ||
- generalContactAddress || generalContactCity || generalContactStateOrProvince ||
- generalContactPostCode || generalContactCountry || generalContactVoiceTelephone ||
- generalContactFacsimileTelephone || generalContactElectronicMailAddress){
- wmc += "\t\t<ContactInformation>\n";
-
- if (generalContactPerson || generalContactOrganization){
- wmc += "\t\t\t<ContactPersonPrimary>\n";
- if (generalContactPerson){
- wmc += "\t\t\t\t<ContactPerson>" + generalContactPerson + "</ContactPerson>\n";
- }
- if (generalContactOrganization){
- wmc += "\t\t\t\t<ContactOrganization>" + generalContactOrganization + "</ContactOrganization>\n";
- }
- wmc += "\t\t\t</ContactPersonPrimary>\n";
- }
-
- if (generalContactPosition){
- wmc += "\t\t\t<ContactPosition>" + generalContactPosition + "</ContactPosition>\n";
- }
-
- if (generalContactAddressType || generalContactAddress || generalContactCity || generalContactStateOrProvince ||
- generalContactPostCode || generalContactCountry){
- wmc += "\t\t\t<ContactAddress>\n";
-
- if (generalContactAddressType){
- wmc += "\t\t\t\t<AddressType>" + generalContactAddressType + "</AddressType>\n";
- }
- if (generalContactAddress){
- wmc += "\t\t\t\t<Address>" + generalContactAddress + "</Address>\n";
- }
- if (generalContactCity){
- wmc += "\t\t\t\t<City>" + generalContactCity + "</City>\n";
- }
- if (generalContactStateOrProvince){
- wmc += "\t\t\t\t<StateOrProvince>" + generalContactStateOrProvince + "</StateOrProvince>\n";
- }
- if (generalContactPostCode){
- wmc += "\t\t\t\t<PostCode>" + generalContactPostCode + "</PostCode>\n";
- }
- if (generalContactCountry){
- wmc += "\t\t\t\t<Country>" + generalContactCountry + "</Country>\n";
- }
- wmc += "\t\t\t</ContactAddress>\n";
- }
- wmc += "\t\t\t<ContactVoiceTelephone>" + generalContactVoiceTelephone + "</ContactVoiceTelephone>\n";
- wmc += "\t\t\t<ContactFacsimileTelephone>" + generalContactFacsimileTelephone + "</ContactFacsimileTelephone>\n";
- wmc += "\t\t\t<ContactElectronicMailAddress>" + generalContactElectronicMailAddress + "</ContactElectronicMailAddress>\n";
- wmc += "\t\t</ContactInformation>\n";
- }
-
- wmc += "\t</General>\n";
-
- //layerList
- wmc += "\t<LayerList>\n";
- for (var i = 0; i < mb_mapObj[ind].wms.length; i++){
-
- wmsId = mb_mapObj[ind].wms[i].wms_id;
-
- var wms_epsg = new Array();
- wms_epsg[0] = mb_mapObj[ind].epsg;
- if (mb_mapObj[ind].wms[i].gui_wms_epsg != mb_mapObj[ind].epsg){
- wms_epsg[1] = mb_mapObj[ind].wms[i].gui_wms_epsg;
- }
- for (q = 0; q < mb_mapObj[ind].wms[i].gui_epsg.length ; q ++){
- var isInArray = false;
- for (r = 0 ; r < wms_epsg.length ; r ++){
- if (wms_epsg[r] == mb_mapObj[ind].wms[i].gui_epsg[q]){
- isInArray = true;
- }
- }
- if (isInArray == false){
- wms_epsg[wms_epsg.length] = mb_mapObj[ind].wms[i].gui_epsg[q];
- }
- }
-
- for (var j = 0; j < mb_mapObj[ind].wms[i].objLayer.length; j++){
- if (mb_mapObj[ind].wms[i].objLayer[j].layer_parent != ''){
- if (mb_mapObj[ind].wms[i].objLayer[j].gui_layer_visible == '1'){
- layerHidden = 0;
- }
- else{
- layerHidden = 1;
- }
- layerQueryable = mb_mapObj[ind].wms[i].objLayer[j].layer_queryable;
- layerQuerylayer = mb_mapObj[ind].wms[i].objLayer[j].gui_layer_querylayer;
- layerId = mb_mapObj[ind].wms[i].objLayer[j].layer_uid;
- layerName = htmlspecialchars(mb_mapObj[ind].wms[i].objLayer[j].layer_name,0);
- layerTitle = htmlspecialchars(mb_mapObj[ind].wms[i].objLayer[j].layer_title, 0);
- layerAbstract = mb_mapObj[ind].wms[i].wms_abstract; //To Do: insert actual abstract
- layerDataUrl = mb_mapObj[ind].wms[i].objLayer[j].layer_dataurl_href;
- layerMetadataUrl = mb_mapObj[ind].wms[i].objLayer[j].layer_metadataurl;
- layerMinscale = mb_mapObj[ind].wms[i].objLayer[j].layer_minscale;
- layerMaxscale = mb_mapObj[ind].wms[i].objLayer[j].layer_maxscale;
- wmsVersion = mb_mapObj[ind].wms[i].wms_version;
- wmsTitle = htmlspecialchars(mb_mapObj[ind].wms[i].wms_title,0) ;
- wmsOnlineResource = mb_mapObj[ind].wms[i].wms_getmap;
-
- wmc += "\t\t<Layer queryable = \"" + layerQueryable + "\" hidden = \"" + layerHidden + "\">\n";
- wmc += "\t\t\t<Server service = \"OGC:WMS\" version = \"" + wmsVersion + "\" title = \"" + wmsTitle + "\">\n";
- wmc += "\t\t\t\t<OnlineResource xmlns:xlink=\"http://www.w3.org/1999/xlink\" xlink:type=\"simple\" xlink:href=\"" + wmsOnlineResource + "\" />\n";
- wmc += "\t\t\t</Server>\n";
-
- wmc += "\t\t\t<Name>" + layerName + "</Name>\n";
- wmc += "\t\t\t<Title>" + layerTitle + "</Title>\n";
-
- if (layerAbstract){
- wmc += "\t\t\t<Abstract>" + layerAbstract + "</Abstract>\n";
- }
-
- wmc += "\t\t\t<SRS>";
- for (var k = 0; k < wms_epsg.length ; k ++){
- wmc += wms_epsg[k];
- if (k < wms_epsg.length-1){
- wmc += " ";
- }
- }
- wmc += "</SRS>\n";
-
- if (layerDataUrl){
- wmc += "\t\t\t<DataURL>\n";
- wmc += "\t\t\t\t<OnlineResource xmlns:xlink=\"http://www.w3.org/1999/xlink\" xlink:type = \"simple\" xlink:href=\"" + layerDataUrl + "\" />\n";
- wmc += "\t\t\t</DataURL>\n";
- }
-
- if (layerMetadataUrl){
- wmc += "\t\t\t<MetadataURL>\n";
- wmc += "\t\t\t\t<OnlineResource xmlns:xlink=\"http://www.w3.org/1999/xlink\" xlink:type = \"simple\" xlink:href=\"" + layerMetadataUrl + "\" />\n";
- wmc += "\t\t\t</MetadataURL>\n";
- }
-
- wmc += "\t\t\t<Extension>\n";
- if (layerMinscale && layerMaxscale) {
- wmc += "\t\t\t\t<"+extension_namespace+":ScaleHint min=\""+layerMinscale+"\" max=\""+layerMaxscale+"\"/>\n";
- }
- wmc += "\t\t\t\t<"+extension_namespace+":layer_id>"+layerId+"</"+extension_namespace+":layer_id>\n";
- wmc += "\t\t\t\t<"+extension_namespace+":wms_id>"+wmsId+"</"+extension_namespace+":wms_id>\n";
- wmc += "\t\t\t\t<"+extension_namespace+":querylayer>"+layerQuerylayer+"</"+extension_namespace+":querylayer>\n";
- wmc += "\t\t\t</Extension>\n";
-
- //layerFormat
- wmc += "\t\t\t<FormatList>\n";
-
- var data_format_current = false;
- for (var k = 0; k < wms[i].data_format.length; k++){
-
- if (wms[i].data_type[k] == 'map') {
- layerFormat = mb_mapObj[ind].wms[i].data_format[k];
- wmc += "\t\t\t\t<Format";
- if (data_format_current == false && (
- (mb_mapObj[ind].wms[i].data_format[k] == mb_mapObj[ind].wms[i].gui_wms_mapformat) ||
- (k == wms[i].data_format.length-1)
- )){
- wmc += " current = \"1\"";
- data_format_current = true;
- }
- wmc += ">" + layerFormat + "</Format>\n";
- }
- }
- wmc += "\t\t\t</FormatList>\n";
-
- // LayerStyle
- wmc += "\t\t\t<StyleList>\n";
-
- for (var k = 0; k < 1; k++){
-
- if (k == 0){
- layerStyle_current = 1; // To do: insert proper data
- }
- else{
- layerStyle_current = 0; // To do: insert proper data
- }
- wmc += "\t\t\t\t<Style";
-
- layerStyleSLD = "";
-
- if (layerStyleSLD){
- layerStyleSLDUrl = ""; // To Do: Insert Proper Data
- wmc += "\t\t\t\t\t\t<OnlineResource xmlns:xlink=\"http://www.w3.org/1999/xlink\" xlink:type=\"simple\" xlink:href=\"" + layerStyleSLDUrl + "\" />\n";
- }
- else{
- if (mb_mapObj[ind].wms[i].objLayer[j].layer_style[k]){
- layerStyle_name = mb_mapObj[ind].wms[i].objLayer[j].layer_style[k]['name'];
- layerStyle_title = mb_mapObj[ind].wms[i].objLayer[j].layer_style[k]['title'];
- layerStyle_legendUrl = mb_mapObj[ind].wms[i].objLayer[j].layer_style[k]["legendurl"];
- }
- else{
- layerStyle_name = "default";
- layerStyle_title = "default";
- layerStyle_legendUrl = "";
- }
-
- layerStyle_legendUrl_width = ""; // To Do: add proper data
- layerStyle_legendUrl_height = ""; // To Do: add proper data
- layerStyle_legendUrl_format = ""; // To Do: add proper data
-
- if (layerStyle_current == 1){
- wmc += " current = \"1\"";
- }
- wmc += ">\n\t\t\t\t\t<Name>" + layerStyle_name + "</Name>\n";
- wmc += "\t\t\t\t\t<Title>" + layerStyle_title + "</Title>\n";
- wmc += "\t\t\t\t\t<LegendUrl ";
- wmc += "width = \"" + layerStyle_legendUrl_width + "\" ";
- wmc += "height = \"" + layerStyle_legendUrl_height + "\" ";
- wmc += "format = \"" + layerStyle_legendUrl_format + "\">\n";
- wmc += "\t\t\t\t\t\t<OnlineResource xmlns:xlink=\"http://www.w3.org/1999/xlink\" xlink:type=\"simple\" xlink:href=\"" + layerStyle_legendUrl + "\" />\n";
- wmc += "\t\t\t\t\t</LegendUrl>\n";
- }
-
- wmc += "\t\t\t\t</Style>\n";
- // Missing: Describe Style via SLD (see: http://center.ccgis/phprojekt/addons/ewiki/index.php?id=links/SLD)
- }
- wmc += "\t\t\t</StyleList>\n";
- wmc += "\t\t</Layer>\n";
- }
- }
- }
- wmc += "\t</LayerList>\n";
- wmc += "</ViewContext>\n";
-
- if (session == 1) {
- var wmc_win = window.open('about:blank', 'wmc_confirm', 'width=200,height=10,left='+Math.round(0.5*screen.width)+',top='+Math.round(0.5*screen.height));
- document.sendData.target = 'wmc_confirm';
-// document.sendData.target = '_blank';
-
- }
- document.sendData.action = "../javascripts/mod_insertWmcIntoDb.php";
- document.sendData.data.value = user + "____" + generalTitle + "____" + wmc + "____" + id + "____" + title_alert + "____" + session;
- document.sendData.submit();
- }
- return id;
-}
\ No newline at end of file
Added: trunk/mapbender/http/javascripts/mod_savewmc.php
===================================================================
--- trunk/mapbender/http/javascripts/mod_savewmc.php (rev 0)
+++ trunk/mapbender/http/javascripts/mod_savewmc.php 2007-07-18 14:59:55 UTC (rev 1512)
@@ -0,0 +1,59 @@
+<?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.
+
+require_once("../../conf/mapbender.conf");
+
+$gui_id = $_REQUEST["gui_id"];
+
+include("../include/dyn_js.php");
+
+echo "mod_savewmc_target = '".$e_target."';";
+?>
+function setOnUnload() {
+ document.getElementsByTagName('body')[0].setAttribute("onUnload", "mod_savewmc('session');");
+}
+
+try {if (saveInSession) {}}catch(e) {saveInSession = 0;}
+
+if (saveInSession == '1') {
+ mb_registerInitFunctions('setOnUnload()');
+}
+
+var mod_savewmc_img = new Image(); mod_savewmc_img.src = "<?php echo $e_src; ?>";
+//var mod_savewmc_img_over = new Image(); mod_savewmc_img_over.src = "<?php echo preg_replace("/_off/","_over",$e_src); ?>";
+
+
+function mod_savewmc(title){
+
+ var ind = getMapObjIndexByName(mod_savewmc_target);
+ var session = 0;
+ var generalTitle = title;
+
+ if (generalTitle) {
+ if (generalTitle == 'session') {
+ session = 1;
+ }
+ }
+ else {
+ generalTitle = prompt("Save WMC as...");
+ }
+ mb_ajax_post("../php/mod_insertWmcIntoDb.php", {saveInSession:session, generalTitle:generalTitle, mapObject:mb_mapObj[ind].toJSONString()}, function (result, status) {
+ alert(result);
+ });
+}
\ No newline at end of file
More information about the Mapbender_commits
mailing list