[Mapbender-commits] r1311 - trunk/mapbender/http/javascripts
svn_mapbender at osgeo.org
svn_mapbender at osgeo.org
Wed May 9 09:01:05 EDT 2007
Author: christoph
Date: 2007-05-09 09:01:04 -0400 (Wed, 09 May 2007)
New Revision: 1311
Modified:
trunk/mapbender/http/javascripts/map.php
Log:
added some comments; refactoring; arranged functions into groups
Modified: trunk/mapbender/http/javascripts/map.php
===================================================================
--- trunk/mapbender/http/javascripts/map.php 2007-05-09 11:58:04 UTC (rev 1310)
+++ trunk/mapbender/http/javascripts/map.php 2007-05-09 13:01:04 UTC (rev 1311)
@@ -70,84 +70,7 @@
mb_trans.src = "../img/transparent.gif";
/*END OF GLOBALS*/
-var Mb_log = function() {
- this.levelArray = log_levels.split(",");
- this.log_level = mb_log_level;
- this.log_js = mb_log_js;
-
- this.indexOfLevel = function(aLevel) {
- for (var i = 0; i < this.levelArray.length; i++) {
- if (aLevel == this.levelArray[i]) {
- return i;
- }
- }
- return false;
- };
- this.isValidLevel = function(aLevel) {
- var isNotOff = typeof(mb_log_js) != 'undefined' && this.log_js != "off";
- var levelIndex = this.indexOfLevel(aLevel);
- var isAppropriate = (typeof(levelIndex)=='number' && levelIndex < this.indexOfLevel(this.log_level));
- return (isNotOff && isAppropriate);
- };
- this.throwException = function (message, level) {
- if (this.isValidLevel(level)) {
- if (this.log_js == "on") {
- try {
- mb_ajaxWrap_post('../php/mb_js_exception.php', {level:level,text:message});
- }
- catch(e) {
- alert(e + ": " + message);
- }
- }
- else if (mb_log_js == "alert") {
- alert(message);
- }
- else if (mb_log_js == "console") {
- console.log("%s", message);
- }
- }
- };
-}
-
-function Mb_exception(message) {
- this.level = "error";
- this.throwException(message, this.level);
-}
-Mb_exception.prototype = new Mb_log();
-function Mb_warning(message) {
- this.level = "warning";
- this.throwException(message, this.level);
-}
-Mb_warning.prototype = new Mb_log();
-
-function mb_ajax_get(url, param, callback) {
- try {
- mb_ajaxWrap_get(url, param, callback);
- }
- catch(e) {
- alert('map.php: mb_ajax_get:'+e);
- }
-}
-
-function mb_ajax_post(url, param, callback) {
- try {
- mb_ajaxWrap_post(url, param, callback);
- }
- catch(e) {
- alert('map.php: mb_ajax_post:'+e);
- }
-}
-
-function mb_ajax_json(url, param, callback) {
- try {
- mb_ajaxWrap_json(url, param, callback);
- }
- catch(e) {
- alert('map.php: mb_ajax_json:'+e);
- }
-}
-
function init(){
for(var i=0; i<mb_InitFunctions.length; i++){
eval(mb_InitFunctions[i]);
@@ -156,56 +79,6 @@
setMapRequest(mb_mapObj[i].frameName);
}
}
-/*registerFunctions*/
-function mb_registerInitFunctions(stringFunction){
- mb_InitFunctions[mb_InitFunctions.length] = stringFunction;
-}
-function mb_registerPanSubElement(elName){
- var ind = mb_PanSubElements.length;
- mb_PanSubElements[ind] = elName;
-}
-function mb_registerPreFunctions(stringFunction){
- mb_MapRequestPreFunctions[mb_MapRequestPreFunctions.length] = stringFunction;
-}
-function mb_registerFeatureInfoPreFunctions(stringFunction){
- mb_FeatureInfoPreFunctions[mb_FeatureInfoPreFunctions.length] = stringFunction;
-}
-function mb_registerSubFunctions(stringFunction){
- mb_MapRequestSubFunctions[mb_MapRequestSubFunctions.length] = stringFunction;
-}
-function mb_registerWfsReadSubFunctions(stringFunction){
- mb_WfsReadSubFunctions[mb_WfsReadSubFunctions.length] = stringFunction;
-}
-function mb_registerWfsWriteSubFunctions(stringFunction){
- mb_WfsWriteSubFunctions[mb_WfsWriteSubFunctions.length] = stringFunction;
-}
-function mb_registerMapObj(frameName, elementName,wms_index,width, height){
- mb_mapObj[mb_mapObj.length] = new mb_mapObj_const(frameName, elementName, width, height, wms_index);
-}
-function mb_registerMapObjectSubFunctions(stringFunction){
- mb_MapObjectSubFunctions[mb_MapObjectSubFunctions.length] = stringFunction;
-}
-function mb_registerGetScalePreFunctions(stringFunction){
- mb_GetScalePreFunctions[mb_GetScalePreFunctions.length] = stringFunction;
-}
-function mb_registerVendorSpecific(stringFunction){
- mb_vendorSpecific[mb_vendorSpecific.length] = stringFunction;
-}
-function mb_registerloadWmsSubFunctions(stringFunction){
- mb_loadWmsSubFunctions[mb_loadWmsSubFunctions.length] = stringFunction;
-}
-function mb_removeFunctionFromArray(arrayname,stringFunction){
- var length = eval(arrayname+".length");
- for(var i=0; i<length; i++){
- if(eval(arrayname+"["+i+"]") == stringFunction){
- var newArray1 = eval(arrayname+".slice(0, "+(i-1)+")");
- var newArray2 = eval(arrayname+".slice("+(i+1)+", "+length+")");
- eval(arrayname + " = newArray1.concat(newArray2)");
- i--;
- length--;
- }
- }
-}
function deleteWmsObject() {
wms = new Array();
@@ -216,15 +89,8 @@
mb_mapObj = new Array();
}
-function cloneObject(a){
- var z = new Array();
-
- for (attr in a) {
- var b = a[attr];
- if (typeof(b) == "object") {z[attr] = cloneObject(b);}
- else z[attr] = b;
- }
- return z;
+function mb_registerMapObj(frameName, elementName,wms_index,width, height){
+ mb_mapObj[mb_mapObj.length] = new mb_mapObj_const(frameName, elementName, width, height, wms_index);
}
function mb_mapObj_const(frameName, elementName, width, height, wms_index){
@@ -302,6 +168,24 @@
}
}
+
+function mb_getConjunctionCharacter(onlineresource){
+ if(onlineresource.indexOf("?") > -1){
+ if(onlineresource.charAt(onlineresource.length-1) == "?"){
+ nextvalue = "";
+ }else if(onlineresource.charAt(onlineresource.length-1) == "&"){
+ nextvalue = "";
+ }else{
+ nextvalue = "&";
+ }
+ }
+ if(onlineresource.indexOf("?") == -1){
+ nextvalue = "?";
+ }
+ return nextvalue;
+}
+
+
function mb_moveWmsById (mapObj_ind, wms_id, toIndex) {
return mb_wmsMoveByIndex(mapObj_ind, getWMSIndexById(mapObj_ind, wms_id), toIndex);
}
@@ -1007,117 +891,7 @@
document.getElementById(elName).style.left = left;
}
}
-/****************BUTTON HANDLING*************************/
-var mb_button = new Array();
-function mb_regButton_frame(wii, frameName, param){
- var ind = mb_button.length;
- mb_button[ind] = new mb_conButton(wii, ind);
- if (frameName == null) {
- if (param == null) {
- eval(wii+"("+ind+")");
- }
- else {
- eval(wii+"("+ind+", "+param+")");
- }
- }
- else if (param == null) {
- eval("window.frames['" + frameName + "']."+wii+"("+ind+")");
- }
- else {
- eval("window.frames['" + frameName + "']."+wii+"("+ind+", "+param+")");
- }
- mb_button[ind].prev = mb_button[ind].src;
- mb_button[ind].src = mb_button[ind].img_off;
- mb_button[ind].onmouseover = new Function("mb_button_over("+ind+")");
- mb_button[ind].onmouseout = new Function("mb_button_out("+ind+")");
- mb_button[ind].onclick = new Function("mb_button_click("+ind+")");
- if (frameName==null) {
- mb_button[ind].frameName = "";
- }
- else {
- mb_button[ind].frameName = frameName;
- }
-}
-
-function mb_regButton(wii){
- mb_regButton_frame(wii, null, null);
-}
-
-function mb_conButton(wii, ind){
- this.wii = wii;
- return true;
-}
-function mb_button_over(ind){
- if(mb_button[ind].status == 0){
- mb_button[ind].prev = mb_button[ind].src;
- mb_button[ind].src = mb_button[ind].img_over;
- }
-}
-function mb_button_out(ind){
- mb_button[ind].src = mb_button[ind].prev;
-}
-function mb_button_click(ind){
- var mbStatus = mb_button[ind].status;
- if(mbStatus == 0){
- mb_disableButton(mb_button[ind].elName);
- mb_button[ind].prev = mb_button[ind].img_on;
- mb_button[ind].src = mb_button[ind].img_on;
- mb_button[ind].status = 1;
- if (mb_button[ind].frameName != "") {
- window.frames[mb_button[ind].frameName].document.getElementById(mb_button[ind].elName).go();
- }
- else {
- document.getElementById(mb_button[ind].elName).go();
- }
- }
- else{
- mb_button[ind].prev = mb_button[ind].img_off;
- mb_button[ind].src = mb_button[ind].img_off;
- mb_button[ind].status = 0;
- if (mb_button[ind].frameName != "") {
- window.frames[mb_button[ind].frameName].document.getElementById(mb_button[ind].elName).stop();
- }
- else {
- document.getElementById(mb_button[ind].elName).stop();
- }
- }
-}
-function mb_disableButton(elName){
- for(var i=0; i<mb_button.length; i++){
- if(mb_button[i].elName != elName && mb_button[i].status == 1){
- mb_button[i].status = 0;
- if (mb_button[i].frameName != "") {
- window.frames[mb_button[i].frameName].document.getElementById(mb_button[i].elName).src = mb_button[i].img_off;
- window.frames[mb_button[i].frameName].document.getElementById(mb_button[i].elName).stop();
- }
- else {
- document.getElementById(mb_button[i].elName).src = mb_button[i].img_off;
- document.getElementById(mb_button[i].elName).stop();
- }
- return true;
-
- }
- }
-}
-function mb_disableThisButton(elName){
- for(var i=0; i<mb_button.length; i++){
- if(mb_button[i].elName == elName && mb_button[i].status == 1){
- //alert(mb_button[i].elName);
- mb_button[i].status = 0;
- if (mb_button[i].frameName != "") {
- window.frames[mb_button[i].frameName].document.getElementById(mb_button[i].elName).src = mb_button[i].img_off;
- window.frames[mb_button[i].frameName].document.getElementById(mb_button[i].elName).stop();
- }
- else {
- document.getElementById(mb_button[i].elName).src = mb_button[i].img_off;
- document.getElementById(mb_button[i].elName).stop();
- }
- return true;
-
- }
- }
-}
/***********************Drag & Drop***********************/
function mb_getMousePos(e,fName){
if(fName){
@@ -1290,9 +1064,7 @@
function mb_disableResult(frameName){
writeTag(frameName,"markResult","");
}
-function Numsort(a,b){
- return a-b;
-}
+
function mb_registerGML(frameName,obj){
var ind = getMapObjIndexByName(frameName);
mb_mapObj[ind].geom = obj;
@@ -1346,11 +1118,12 @@
}
}
+/*
+ ***************************************************************************************
+ * div tag
+ ***************************************************************************************
+ */
-// ----------------------------------------------------------------------------------------------------
-// DivTag
-// ----------------------------------------------------------------------------------------------------
-
function DivTag (aTagName, aFrameName, aStyle) {
this.exists = function () {
return (rootNode.getElementById(tagName)) ? true : false;
@@ -1433,9 +1206,331 @@
this.write("");
};
+/*
+ ***************************************************************************************
+ * register functions
+ ***************************************************************************************
+ */
+function mb_registerInitFunctions(stringFunction){
+ mb_InitFunctions[mb_InitFunctions.length] = stringFunction;
+}
+function mb_registerPanSubElement(elName){
+ var ind = mb_PanSubElements.length;
+ mb_PanSubElements[ind] = elName;
+}
+function mb_registerPreFunctions(stringFunction){
+ mb_MapRequestPreFunctions[mb_MapRequestPreFunctions.length] = stringFunction;
+}
+function mb_registerFeatureInfoPreFunctions(stringFunction){
+ mb_FeatureInfoPreFunctions[mb_FeatureInfoPreFunctions.length] = stringFunction;
+}
+function mb_registerSubFunctions(stringFunction){
+ mb_MapRequestSubFunctions[mb_MapRequestSubFunctions.length] = stringFunction;
+}
+function mb_registerWfsReadSubFunctions(stringFunction){
+ mb_WfsReadSubFunctions[mb_WfsReadSubFunctions.length] = stringFunction;
+}
+function mb_registerWfsWriteSubFunctions(stringFunction){
+ mb_WfsWriteSubFunctions[mb_WfsWriteSubFunctions.length] = stringFunction;
+}
+function mb_registerMapObjectSubFunctions(stringFunction){
+ mb_MapObjectSubFunctions[mb_MapObjectSubFunctions.length] = stringFunction;
+}
+function mb_registerGetScalePreFunctions(stringFunction){
+ mb_GetScalePreFunctions[mb_GetScalePreFunctions.length] = stringFunction;
+}
+function mb_registerVendorSpecific(stringFunction){
+ mb_vendorSpecific[mb_vendorSpecific.length] = stringFunction;
+}
+function mb_registerloadWmsSubFunctions(stringFunction){
+ mb_loadWmsSubFunctions[mb_loadWmsSubFunctions.length] = stringFunction;
+}
+function mb_removeFunctionFromArray(arrayname,stringFunction){
+ var length = eval(arrayname+".length");
+ for(var i=0; i<length; i++){
+ if(eval(arrayname+"["+i+"]") == stringFunction){
+ var newArray1 = eval(arrayname+".slice(0, "+(i-1)+")");
+ var newArray2 = eval(arrayname+".slice("+(i+1)+", "+length+")");
+ eval(arrayname + " = newArray1.concat(newArray2)");
+ i--;
+ length--;
+ }
+ }
+}
+
+function mb_execloadWmsSubFunctions(){
+ for(var i=0; i<mb_loadWmsSubFunctions.length; i++){
+ eval(mb_loadWmsSubFunctions[i]);
+ }
+}
+function mb_execWfsReadSubFunctions(geom) {
+ for(var i=0; i<mb_WfsReadSubFunctions.length; i++){
+ mb_WfsReadSubFunctions[i](geom);
+ }
+}
+function mb_execWfsWriteSubFunctions() {
+ for(var i=0; i<mb_WfsWriteSubFunctions.length; i++){
+ mb_WfsWriteSubFunctions[i]();
+ }
+}
+
+/*
+ ***************************************************************************************
+ * Javascript exception handling
+ ***************************************************************************************
+ */
+
+/**
+ * abstract class, logs JavaScript events like errors, warnings etc.
+ */
+var Mb_log = function() {
+ this.levelArray = log_levels.split(",");
+ this.log_level = mb_log_level;
+ this.log_js = mb_log_js;
+
+ this.indexOfLevel = function(aLevel) {
+ for (var i = 0; i < this.levelArray.length; i++) {
+ if (aLevel == this.levelArray[i]) {
+ return i;
+ }
+ }
+ return false;
+ };
+ this.isValidLevel = function(aLevel) {
+ var isNotOff = typeof(mb_log_js) != 'undefined' && this.log_js != "off";
+ var levelIndex = this.indexOfLevel(aLevel);
+ var isAppropriate = (typeof(levelIndex)=='number' && levelIndex < this.indexOfLevel(this.log_level));
+ return (isNotOff && isAppropriate);
+ };
+ this.throwException = function (message, level) {
+ if (this.isValidLevel(level)) {
+ if (this.log_js == "on") {
+ try {
+ mb_ajaxWrap_post('../php/mb_js_exception.php', {level:level,text:message});
+ }
+ catch(e) {
+ alert(e + ": " + message);
+ }
+ }
+ else if (mb_log_js == "alert") {
+ alert(message);
+ }
+ else if (mb_log_js == "console") {
+ console.log("%s", message);
+ }
+ }
+ };
+}
+
+/**
+ * class for exception logging
+ *
+ * @extends {@link Mb_log}
+ * @param message the message that is being logged
+ */
+function Mb_exception(message) {
+ this.level = "error";
+ this.throwException(message, this.level);
+}
+Mb_exception.prototype = new Mb_log();
+
+/**
+ * class for warning logging
+ *
+ * @extends {@link Mb_log}
+ * @param message the message that is being logged
+ */
+function Mb_warning(message) {
+ this.level = "warning";
+ this.throwException(message, this.level);
+}
+Mb_warning.prototype = new Mb_log();
+
+/*
+ ***************************************************************************************
+ * AJAX wrapper functions
+ ***************************************************************************************
+ */
+
+function mb_ajax_get(url, param, callback) {
+ try {
+ mb_ajaxWrap_get(url, param, callback);
+ }
+ catch(e) {
+ alert('map.php: mb_ajax_get:'+e);
+ }
+}
+
+function mb_ajax_post(url, param, callback) {
+ try {
+ mb_ajaxWrap_post(url, param, callback);
+ }
+ catch(e) {
+ alert('map.php: mb_ajax_post:'+e);
+ }
+}
+
+function mb_ajax_json(url, param, callback) {
+ try {
+ mb_ajaxWrap_json(url, param, callback);
+ }
+ catch(e) {
+ alert('map.php: mb_ajax_json:'+e);
+ }
+}
+
+/*
+ ***************************************************************************************
+ * button handling
+ ***************************************************************************************
+ */
+
+var mb_button = new Array();
+
+function mb_regButton_frame(wii, frameName, param){
+ var ind = mb_button.length;
+ mb_button[ind] = new mb_conButton(wii, ind);
+ if (frameName == null) {
+ if (param == null) {
+ eval(wii+"("+ind+")");
+ }
+ else {
+ eval(wii+"("+ind+", "+param+")");
+ }
+ }
+ else if (param == null) {
+ eval("window.frames['" + frameName + "']."+wii+"("+ind+")");
+ }
+ else {
+ eval("window.frames['" + frameName + "']."+wii+"("+ind+", "+param+")");
+ }
+ mb_button[ind].prev = mb_button[ind].src;
+ mb_button[ind].src = mb_button[ind].img_off;
+ mb_button[ind].onmouseover = new Function("mb_button_over("+ind+")");
+ mb_button[ind].onmouseout = new Function("mb_button_out("+ind+")");
+ mb_button[ind].onclick = new Function("mb_button_click("+ind+")");
+ if (frameName==null) {
+ mb_button[ind].frameName = "";
+ }
+ else {
+ mb_button[ind].frameName = frameName;
+ }
+}
+
+function mb_regButton(wii){
+ mb_regButton_frame(wii, null, null);
+}
+
+function mb_conButton(wii, ind){
+ this.wii = wii;
+ return true;
+}
+function mb_button_over(ind){
+ if(mb_button[ind].status == 0){
+ mb_button[ind].prev = mb_button[ind].src;
+ mb_button[ind].src = mb_button[ind].img_over;
+ }
+}
+function mb_button_out(ind){
+ mb_button[ind].src = mb_button[ind].prev;
+}
+function mb_button_click(ind){
+ var mbStatus = mb_button[ind].status;
+ if(mbStatus == 0){
+ mb_disableButton(mb_button[ind].elName);
+ mb_button[ind].prev = mb_button[ind].img_on;
+ mb_button[ind].src = mb_button[ind].img_on;
+ mb_button[ind].status = 1;
+ if (mb_button[ind].frameName != "") {
+ window.frames[mb_button[ind].frameName].document.getElementById(mb_button[ind].elName).go();
+ }
+ else {
+ document.getElementById(mb_button[ind].elName).go();
+ }
+ }
+ else{
+ mb_button[ind].prev = mb_button[ind].img_off;
+ mb_button[ind].src = mb_button[ind].img_off;
+ mb_button[ind].status = 0;
+ if (mb_button[ind].frameName != "") {
+ window.frames[mb_button[ind].frameName].document.getElementById(mb_button[ind].elName).stop();
+ }
+ else {
+ document.getElementById(mb_button[ind].elName).stop();
+ }
+ }
+}
+function mb_disableButton(elName){
+ for(var i=0; i<mb_button.length; i++){
+ if(mb_button[i].elName != elName && mb_button[i].status == 1){
+ mb_button[i].status = 0;
+ if (mb_button[i].frameName != "") {
+ window.frames[mb_button[i].frameName].document.getElementById(mb_button[i].elName).src = mb_button[i].img_off;
+ window.frames[mb_button[i].frameName].document.getElementById(mb_button[i].elName).stop();
+ }
+ else {
+ document.getElementById(mb_button[i].elName).src = mb_button[i].img_off;
+ document.getElementById(mb_button[i].elName).stop();
+ }
+ return true;
+
+ }
+ }
+}
+function mb_disableThisButton(elName){
+ for(var i=0; i<mb_button.length; i++){
+ if(mb_button[i].elName == elName && mb_button[i].status == 1){
+ //alert(mb_button[i].elName);
+ mb_button[i].status = 0;
+ if (mb_button[i].frameName != "") {
+ window.frames[mb_button[i].frameName].document.getElementById(mb_button[i].elName).src = mb_button[i].img_off;
+ window.frames[mb_button[i].frameName].document.getElementById(mb_button[i].elName).stop();
+ }
+ else {
+ document.getElementById(mb_button[i].elName).src = mb_button[i].img_off;
+ document.getElementById(mb_button[i].elName).stop();
+ }
+ return true;
+
+ }
+ }
+}
+
+/*
+ ***************************************************************************************
+ * miscellaneous functions
+ ***************************************************************************************
+ */
+
+function cloneObject(someObject){
+ var clone = [];
+
+ for (attribute in someObject) {
+
+ var currentElement = someObject[attribute];
+
+ if (typeof(currentElement) == "object") {
+ clone[attribute] = cloneObject(currentElement);
+ }
+ else {
+ clone[attribute] = currentElement;
+ }
+ }
+ return clone;
+}
+
+
+/*
+ ***************************************************************************************
+ * deprecated functions
+ ***************************************************************************************
+ */
+
+// only used in mod_perimeter.php
+// previously used in mod_initWmc.php, mod_digitize_tab.php, mod_geometryArray.js
function mb_checkTag(frameName, tagName, elementId, appendAtTagName, attributes){
var oldElement;
var newElement;
@@ -1470,39 +1565,9 @@
}
return newElement;
}
-function mb_execloadWmsSubFunctions(){
- for(var i=0; i<mb_loadWmsSubFunctions.length; i++){
- eval(mb_loadWmsSubFunctions[i]);
- }
-}
-function mb_execWfsReadSubFunctions(geom) {
- for(var i=0; i<mb_WfsReadSubFunctions.length; i++){
- mb_WfsReadSubFunctions[i](geom);
- }
-}
-function mb_execWfsWriteSubFunctions() {
- for(var i=0; i<mb_WfsWriteSubFunctions.length; i++){
- mb_WfsWriteSubFunctions[i]();
- }
-}
-function mb_getConjunctionCharacter(onlineresource){
- if(onlineresource.indexOf("?") > -1){
- if(onlineresource.charAt(onlineresource.length-1) == "?"){
- nextvalue = "";
- }else if(onlineresource.charAt(onlineresource.length-1) == "&"){
- nextvalue = "";
- }else{
- nextvalue = "&";
- }
- }
- if(onlineresource.indexOf("?") == -1){
- nextvalue = "?";
- }
- return nextvalue;
-}
<?php
$con = db_connect($DBSERVER,$OWNER,$PW);
db_select_db(DB,$con);
More information about the Mapbender_commits
mailing list