[Mapbender-commits] r2983 - in branches/tree_dev: http/php lib

svn_mapbender at osgeo.org svn_mapbender at osgeo.org
Thu Sep 18 10:38:30 EDT 2008


Author: christoph
Date: 2008-09-18 10:38:29 -0400 (Thu, 18 Sep 2008)
New Revision: 2983

Modified:
   branches/tree_dev/http/php/mod_customTree.php
   branches/tree_dev/http/php/mod_customTree_server.php
   branches/tree_dev/lib/customTreeController.js
   branches/tree_dev/lib/customTreeModel.js
Log:
latest

Modified: branches/tree_dev/http/php/mod_customTree.php
===================================================================
--- branches/tree_dev/http/php/mod_customTree.php	2008-09-18 14:34:36 UTC (rev 2982)
+++ branches/tree_dev/http/php/mod_customTree.php	2008-09-18 14:38:29 UTC (rev 2983)
@@ -108,11 +108,14 @@
 						}
 					}
 
+					myTree.hasChanged = false;
+					
 					displayMyTree = new customTreeController(myTree, {
 						contextMenu: true,
 						droppable: true,
 						id: "myTree"
 					});
+					
 				});
 			};
 
@@ -167,6 +170,14 @@
 
 					$select = $("#applicationSelect");
 					$select.change(function () {
+						if (myTree.hasChanged) {
+							var saveChanges = confirm("You have changed the tree. All changes will be lost. Save changes?");
+	
+							if (saveChanges) {
+								Save.updateDatabase();
+							}
+
+						}
 						selectApplication(this.options[this.selectedIndex].value);
 					});
 
@@ -186,6 +197,11 @@
 					type:"toggle"
 				},
 				updateDatabase : function (callback) {
+					if (!applicationId || applicationId == "...") {
+						callback();
+						return;
+					}
+
 					var data = {
 						"applicationId": applicationId,
 						"folderArray": myTree.exportNestedSets()
@@ -201,11 +217,45 @@
 					}, function (json, status) {
 						var replyObj = eval('(' + json + ')');
 						alert(replyObj.success);
+						myTree.hasChanged = false;
 						callback();
 					});
 				}
 			};
+
+			var Restart = {
+				buttonParameters : {
+					on:"../img/button_blink_red/exit_on.png",
+					over:"../img/button_blink_red/exit_over.png",
+					off:"../img/button_blink_red/exit_off.png",
+					type:"singular"
+				},
+				removeAllFolders: function(){
+					if (!applicationId || applicationId == "...") {
+						return;
+					}
+					
+					var confirmDelete = confirm("You are about to delete your customized folder structure. Proceed?");
+
+					if (confirmDelete) {
+						var queryObj = {
+							command: "delete"
+						};
 						
+						$.post("../php/mod_customTree_server.php", {
+							queryObj: $.toJSON(queryObj)
+						}, function(json, status){
+							myTree = new CustomTree();
+							var root = myTree.root;
+							root.name = "(" + applicationId + ")";
+							
+							addMissingWmsToCustomTree(myTree, applicationId);
+						});
+						
+					}
+				}
+			}
+						
 			$(function () {
 
 				getApplications();
@@ -219,6 +269,15 @@
 				saveButton.registerPush(function () {
 					Save.updateDatabase(saveButton.triggerStop);	
 				});
+
+				// restart tool
+				var restartButton = new Button(Restart.buttonParameters);
+				toolbox.add(restartButton);
+				
+				restartButton.registerPush(function () {
+					Restart.removeAllFolders();
+				});
+
 			});
 			
 		</script>

Modified: branches/tree_dev/http/php/mod_customTree_server.php
===================================================================
--- branches/tree_dev/http/php/mod_customTree_server.php	2008-09-18 14:34:36 UTC (rev 2982)
+++ branches/tree_dev/http/php/mod_customTree_server.php	2008-09-18 14:38:29 UTC (rev 2983)
@@ -26,6 +26,24 @@
 
 switch($queryObj->command){
 
+	case 'delete': 
+		$applicationId = $queryObj->parameters->applicationId;
+
+		// get all of the users applications
+		$allowedApplicationArray = $user->getApplicationsByPermission(0);
+
+		if (in_array($applicationId, $allowedApplicationArray)) {
+			$sql = "DELETE FROM gui_treegde WHERE fkey_gui_id = $1";
+			$v = array($applicationId);
+			$t = array("s");
+			$res = db_prep_query($res, $v, $t);
+			$resultObj["success"] = "Deletion successful.";
+		}
+		else {
+			$resultObj["error"] = "Acces denied to application " . $applicationId . ".";
+		}
+				
+		break;
 	case 'getApplications':
 		// get all of the users applications
 		$allowedApplicationArray = $user->getApplicationsByPermission(0);

Modified: branches/tree_dev/lib/customTreeController.js
===================================================================
--- branches/tree_dev/lib/customTreeController.js	2008-09-18 14:34:36 UTC (rev 2982)
+++ branches/tree_dev/lib/customTreeController.js	2008-09-18 14:38:29 UTC (rev 2983)
@@ -1,9 +1,8 @@
-var currentlyDraggedNode;
-
 var customTreeController = function (myTree, options) {
 //	this.myTree = new CustomTree();
 //	this.myTree.root.name = "My tree";
 
+	var currentlyDraggedNode;
 
 	this.options = options;
 	this.myTree = myTree;
@@ -26,7 +25,7 @@
 		makeNodeDraggable($domNode, treeNode);
 		
 		treeNode.hasChanged = function () {
-			console.log(that.myTree);
+			that.myTree.hasChanged = true;
 		};
 	};
 	
@@ -57,7 +56,7 @@
 		}
 
 		treeNode.hasChanged = function () {
-			console.log(that.myTree);
+			that.myTree.hasChanged = true;
 		};
 	};
 
@@ -67,14 +66,16 @@
 	};
 
 	var editNode = function ($domNode, treeNode) {
-		var newName = prompt('Name');
+		var newName = prompt('Name:');
 		if (newName) {
 			treeNode.setName(newName);
 		}	
 	};
 	
 	var addNode = function ($domNode, treeNode) {
+		var newName = prompt('Name:');
 		var newChild = treeNode.addChild();
+		newChild.setName(newName);
 	};
 
 	//

Modified: branches/tree_dev/lib/customTreeModel.js
===================================================================
--- branches/tree_dev/lib/customTreeModel.js	2008-09-18 14:34:36 UTC (rev 2982)
+++ branches/tree_dev/lib/customTreeModel.js	2008-09-18 14:38:29 UTC (rev 2983)
@@ -121,6 +121,8 @@
 	
 	var that = this;
 	
+	this.hasChanged = false;
+	
 	this.toNestedSets = function () {
 		var nodeArray = toNestedSetsNode.apply(this, [[], this.root, 1]);
 		return nodeArray;
@@ -217,6 +219,7 @@
 
 			//insert new node
 			var newNode = new CustomTreeNode(currentNode);
+			newNode.isFolder = true;
 			rights.push(nodeArray[i].right);
 			newNode.applyKeys(nodeArray[i]);
 			currentNode.append(newNode);



More information about the Mapbender_commits mailing list