[Mapbender-commits] r1326 - trunk/mapbender/http/javascripts
svn_mapbender at osgeo.org
svn_mapbender at osgeo.org
Mon May 21 05:53:23 EDT 2007
Author: christoph
Date: 2007-05-21 05:53:23 -0400 (Mon, 21 May 2007)
New Revision: 1326
Modified:
trunk/mapbender/http/javascripts/map.php
Log:
* moved class List from geometry.js
* refactored Mb_log
* added draft for register functions
* module order
Modified: trunk/mapbender/http/javascripts/map.php
===================================================================
--- trunk/mapbender/http/javascripts/map.php 2007-05-16 21:24:50 UTC (rev 1325)
+++ trunk/mapbender/http/javascripts/map.php 2007-05-21 09:53:23 UTC (rev 1326)
@@ -27,9 +27,9 @@
echo "var mb_styleID = '".md5($_SESSION["mb_user_name"])."';";
echo "var mb_myBBOX = '".$_SESSION["mb_myBBOX"]."';";
echo "var owsproxy = '".OWSPROXY."';";
-echo "var mb_log_js = '".LOG_JS."';";
-echo "var mb_log_level = '".LOG_LEVEL."';";
-echo "var log_levels = '".LOG_LEVEL_LIST."';";
+echo "var global_mb_log_js = '".LOG_JS."';";
+echo "var global_mb_log_level = '".LOG_LEVEL."';";
+echo "var global_log_levels = '".LOG_LEVEL_LIST."';";
?>
var ie = document.all?1:0;
var n6 = document.getElementById&&!document.all?1:0;
@@ -53,17 +53,17 @@
var mb_offset_left = 0;
var mb_log = null;
-var mb_MapRequestSubFunctions = new Array();
-var mb_WfsReadSubFunctions = new Array();
-var mb_WfsWriteSubFunctions = new Array();
-var mb_MapRequestPreFunctions = new Array();
-var mb_FeatureInfoPreFunctions = new Array();
var mb_PanSubElements = new Array();
-var mb_InitFunctions = new Array();
-var mb_MapObjectSubFunctions = new Array();
-var mb_GetScalePreFunctions = new Array();
+function mb_registerPanSubElement(elName){
+ var ind = mb_PanSubElements.length;
+ mb_PanSubElements[ind] = elName;
+}
+
var mb_vendorSpecific = new Array();
-var mb_loadWmsSubFunctions = new Array();
+function mb_registerVendorSpecific(stringFunction){
+ mb_vendorSpecific[mb_vendorSpecific.length] = stringFunction;
+}
+
var mb_security_proxy = "http://wms1.ccgis.de/mapbender/tools/security_proxy.php?mb_ows_security_proxy=";
var mb_trans = new Image;
@@ -165,7 +165,7 @@
this.mapURL = new Array();
for(var i=0; i<mb_MapObjectSubFunctions.length; i++){
eval(mb_MapObjectSubFunctions[i]);
- }
+ }
}
@@ -436,9 +436,7 @@
newMapRequest +="</div>";
}
}
-
}
-
//prompt("",newMapRequest);
writeTag(mb_mapObj[i].frameName,mb_mapObj[i].elementName,newMapRequest);
}
@@ -453,7 +451,7 @@
for(var i=0; i<mb_MapRequestPreFunctions.length; i++){
eval(mb_MapRequestPreFunctions[i]);
- }
+ }
for(var i=0; i<mb_mapObj.length; i++){
var newMapRequest = "";
if(mb_mapObj[i].frameName == frameName){
@@ -487,7 +485,7 @@
}
newMapURL += "EXCEPTIONS="+mb_mapObj[i].wms[ii].gui_wms_exceptionformat;
// add vendor-specific
- for(var v=0; v<mb_vendorSpecific.length; v++){
+ for (var v = 0; v < mb_vendorSpecific.length; v++) {
var vendorSpecificString = eval(mb_vendorSpecific[v]);
// if eval doesn't evaluate a function, the result is undefined.
// Sometimes it is necessary not to evaluate a function, for
@@ -528,7 +526,7 @@
}
for(var i=0; i<mb_MapRequestSubFunctions.length; i++){
eval(mb_MapRequestSubFunctions[i]);
- }
+ }
}
function mb_restateLayers(frameName,wms_id){
//alert(frameName + " / " + wms_id);
@@ -1133,7 +1131,7 @@
node = document;
if (frameName !== "") {
if (checkFrame()) {node = window.frames[frameName].document;}
- else {alert("frame "+frameName+" doesn't exist.");}
+ else {var e = new Mb_exception("frame "+frameName+" doesn't exist.");}
}
return node;
};
@@ -1206,77 +1204,7 @@
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
@@ -1284,30 +1212,34 @@
*/
/**
- * abstract class, logs JavaScript events like errors, warnings etc.
+ * @class An abstract class, logs JavaScript events like errors, warnings etc.
+ *
+ * @constructor
*/
var Mb_log = function() {
- this.levelArray = log_levels.split(",");
- this.log_level = mb_log_level;
- this.log_js = mb_log_js;
+ var that = this;
- this.indexOfLevel = function(aLevel) {
- for (var i = 0; i < this.levelArray.length; i++) {
- if (aLevel == this.levelArray[i]) {
+ var levelArray = global_log_levels.split(",");
+ var log_level = global_mb_log_level;
+ var log_js = global_mb_log_js;
+
+ var indexOfLevel = function(aLevel) {
+ for (var i = 0; i < levelArray.length; i++) {
+ if (aLevel == 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));
+ var isValidLevel = function(aLevel) {
+ var isNotOff = typeof(log_js) != 'undefined' && log_js != "off";
+ var levelIndex = indexOfLevel(aLevel);
+ var isAppropriate = (typeof(levelIndex)=='number' && levelIndex < indexOfLevel(log_level));
return (isNotOff && isAppropriate);
};
- this.throwException = function (message, level) {
- if (this.isValidLevel(level)) {
- if (this.log_js == "on") {
+ var throwException = function (message, level) {
+ if (isValidLevel(level)) {
+ if (log_js == "on") {
try {
mb_ajaxWrap_post('../php/mb_js_exception.php', {level:level,text:message});
}
@@ -1315,10 +1247,10 @@
alert(e + ": " + message);
}
}
- else if (mb_log_js == "alert") {
+ else if (log_js == "alert") {
alert(message);
}
- else if (mb_log_js == "console") {
+ else if (log_js == "console") {
console.log("%s", message);
}
}
@@ -1543,8 +1475,247 @@
}
+/**
+ * @class A List object is an array of arbitrary objects with additional methods.
+ *
+ * @constructor
+ */
+var List = function() {
+
+ /**
+ * gets the number of elements in this {@link List}
+ *
+ * @member List
+ * @returns number of elements in this {@link List}
+ * @type Integer
+ */
+ this.count = function() {
+ return this.list.length;
+ };
+
+ /**
+ * deletes the object at index i; -1 refers to the last object in this {@link List}
+ *
+ * @member List
+ * @param {Integer} i index
+ */
+ this.del = function(i){
+ i = this.getIndex(i);
+ for(var z = i; z < this.count() - 1; z++){
+ this.list[z] = this.list[z+1];
+ }
+ this.list.length -= 1;
+ };
+
+ /**
+ * empties this {@link List}
+ *
+ * @member List
+ */
+ this.empty = function() {
+ while (this.list != null && this.count() > 0) {
+ this.list.pop();
+ }
+ }
+
+ /**
+ * @member List
+ * @param {Integer} i index
+ * @returns the object at index i; -1 refers to the last object in this {@link List}
+ * @type Integer or false
+ */
+ this.get = function(i) {
+ i = this.getIndex(i);
+ if (i !== false) {return this.list[i];}
+ return false;
+ };
+ /**
+ * adds a reference to item to this {@link List}.
+ *
+ * @member List
+ * @param {Object} item an object
+ */
+ this.add = function(item) {
+ this.list.push(item);
+ };
+ /**
+ * adds a copy of item to this {@link List}.
+ *
+ * @member List
+ * @param {Object} item an object
+ */
+ this.addCopy = function(item) {
+ this.list.push(cloneObject(item));
+ };
+ /**
+ * attaches the {@link List} aList to this {@link List}
+ *
+ * @member List
+ * @param {List} aList another list
+ */
+ this.union = function(aList) {
+ for (var i=0; i < aList.count(); i++) {this.addCopy(aList.get(i));}
+ };
+ /**
+ * checks if the index is valid and returns it if it is; if i == -1, the correct index is retrieved.
+ *
+ * @member List
+ * @private
+ * @return Integer or false
+ * @type Integer
+ */
+ this.getIndex = function(i){
+ if ((i >= 0 && i < this.list.length) || (i*(-1)>0 && i*(-1) <= this.list.length)){
+ if (i >= 0) {return i;} else {return this.list.length+i;}
+ }
+ else {
+ var e = new Mb_exception("class List: function getIndex: member index " + i + " is not valid");
+ return false;
+ }
+ };
+ /**
+ * @member List
+ * @returns a {String} representation of this List
+ * @type String
+ */
+ this.toString = function(){
+ var str = "";
+ for (var i =0 ; i < this.count() ; i++){
+ str += this.get(i).toString();
+ }
+ return str;
+ };
+
+ this.list = null;
+};
+
+
+
/*
***************************************************************************************
+ * register functions
+ ***************************************************************************************
+ */
+
+var mb_MapRequestSubFunctions = new Array();
+var mb_WfsReadSubFunctions = new Array();
+var mb_WfsWriteSubFunctions = new Array();
+var mb_MapRequestPreFunctions = new Array();
+var mb_FeatureInfoPreFunctions = new Array();
+var mb_InitFunctions = new Array();
+var mb_MapObjectSubFunctions = new Array();
+var mb_GetScalePreFunctions = new Array();
+var mb_loadWmsSubFunctions = new Array();
+
+function mb_registerInitFunctions(stringFunction){
+ mb_InitFunctions[mb_InitFunctions.length] = stringFunction;
+}
+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_registerMapObjectSubFunctions(stringFunction){
+ mb_MapObjectSubFunctions[mb_MapObjectSubFunctions.length] = stringFunction;
+}
+function mb_registerGetScalePreFunctions(stringFunction){
+ mb_GetScalePreFunctions[mb_GetScalePreFunctions.length] = stringFunction;
+}
+function mb_registerloadWmsSubFunctions(stringFunction){
+ mb_loadWmsSubFunctions[mb_loadWmsSubFunctions.length] = stringFunction;
+}
+function mb_registerWfsReadSubFunctions(stringFunction){
+ mb_WfsReadSubFunctions[mb_WfsReadSubFunctions.length] = stringFunction;
+}
+function mb_registerWfsWriteSubFunctions(stringFunction){
+ mb_WfsWriteSubFunctions[mb_WfsWriteSubFunctions.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_WfsWriteSubFunctions.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]();
+ }
+}
+
+/*
+ * first draft of a redesign
+ *
+var FunctionArray = function() {
+ this.list = [];
+
+ this.register = function (aFunction) {
+ this.add(aFunction);
+ }
+ this.execute = function () {
+ for (var i = 0; i < this.count(); i++) {
+ var aFunction = this.get(i);
+ console.log("execute: %s", this);
+ if (typeof(aFunction) == 'function') {
+ aFunction();
+ }
+ else if (typeof(aFunction) == 'string') {
+ eval(aFunction);
+ }
+ else {
+ var e = new mb_exception("FunctionArray.execute: Invalid parameter: " + aFunction);
+ }
+ }
+ }
+ this.remove = function (functionString) {
+ var listLength = this.count();
+ for (var i = listLength - 1; i >= 0; i--) {
+ if (this.get(i) == functionString){
+ this.del(i);
+ }
+ }
+ }
+}
+
+FunctionArray.prototype = new List();
+
+var mbInitFunctions = new FunctionArray();
+var mbMapRequestSubFunctions = new FunctionArray();
+var mbWfsReadSubFunctions = new FunctionArray();
+var mbWfsWriteSubFunctions = new FunctionArray();
+var mbMapRequestPreFunctions = new FunctionArray();
+var mbFeatureInfoPreFunctions = new FunctionArray();
+var mbInitFunctions = new FunctionArray();
+var mbMapObjectSubFunctions = new FunctionArray();
+var mbGetScalePreFunctions = new FunctionArray();
+var mbloadWmsSubFunctions = new FunctionArray();
+
+*/
+
+/*
+ ***************************************************************************************
* deprecated functions
***************************************************************************************
*/
@@ -1585,9 +1756,6 @@
}
return newElement;
}
-
-
-
<?php
$con = db_connect($DBSERVER,$OWNER,$PW);
db_select_db(DB,$con);
More information about the Mapbender_commits
mailing list