[Mapbender-commits] r2635 - in branches/dev_lenkne: http/php lib

svn_mapbender at osgeo.org svn_mapbender at osgeo.org
Wed Jul 9 18:31:34 EDT 2008


Author: lenkne
Date: 2008-07-09 18:31:33 -0400 (Wed, 09 Jul 2008)
New Revision: 2635

Modified:
   branches/dev_lenkne/http/php/mod_adminEditFilteredUser.php
   branches/dev_lenkne/lib/mb_admin_functions.js
Log:


Modified: branches/dev_lenkne/http/php/mod_adminEditFilteredUser.php
===================================================================
--- branches/dev_lenkne/http/php/mod_adminEditFilteredUser.php	2008-07-09 13:00:01 UTC (rev 2634)
+++ branches/dev_lenkne/http/php/mod_adminEditFilteredUser.php	2008-07-09 22:31:33 UTC (rev 2635)
@@ -21,6 +21,13 @@
 require_once(dirname(__FILE__)."/../classes/class_json.php");
 require_once(dirname(__FILE__)."/../classes/class_administration.php");
 
+function sendOutput($out){
+    global $json;
+    $output = $json->encode($out);
+    header("Content-Type: text/x-json");
+    echo $output;
+}
+
 function showAllFilteredUsers($owner) {
 
 	$admin = new administration();
@@ -39,26 +46,37 @@
 
 }
 
+$admin = new administration();
+$json = new Mapbender_JSON();
+$queryObj = $json->decode(stripslashes($_REQUEST['queryObj']));
+$resultObj = array();
+
 switch ($_REQUEST["action"]) {
 
 case "showUser":
 
-	$admin = new administration();
-	echo $admin->getAllUserColumns($_REQUEST["mb_user_id"]);
+	$userDetail = $admin->getAllUserColumns($_REQUEST["mb_user_id"]);
+	if ($userDetail) {
+		$resultObj["success"] = true;
+		$resultObj["data"] = $userDetail;
+		$resultObj["action"] = "refreshUser";
+	}
+	else {
+		$resultObj["success"] = false;
+		$resultObj["message"] = "User information not found.";
+	}
 
 break;
 
 case "update":
 
-	$admin = new administration();
 	$dbUserId = $admin->getUserIdByUserName($_REQUEST["mb_user_name"]);
 
 	if($dbUserId != $_REQUEST["mb_user_id"]){
-//TODO Need to figure out how to get this alert to work - javascript test for JSON or array??
-		echo "<script language='JavaScript'>alert('Username must be unique!');</script>";
+		$resultObj["success"] = false;
+		$resultObj["message"] = "Username must be unique. Select a different name.";
 	}
 	else{
-		$admin = new administration();
 		$sqlArray = $admin->getTableColumns(mb_user,mb_user_id,$_REQUEST["mb_user_id"]);
 
 		$res = "";
@@ -86,18 +104,34 @@
 		}
 		$sql.= " WHERE mb_user_id = $1";
 		$res = db_prep_query($sql,$v,$t);	
-
-	$admin = new administration();
-	echo $admin->getAllUserColumns($_REQUEST["mb_user_id"]);
+		
+		if ($res) {
+			$resultObj["success"] = true;
+			$resultObj["data"] = $admin->getAllUserColumns($_REQUEST["mb_user_id"]);
+			$resultObj["action"] = "refreshUser";
+			$resultObj["message"] = "User updated.";
+		}
+		else {
+			$resultObj["success"] = false;
+			$resultObj["message"] = "Error. User not saved.";
+		}
 	}
 
 break;
 
 case "deleteUser":
 
-	$admin = new administration();
 	$result = $admin->deleteTableRecord(mb_user,mb_user_id,$_REQUEST["mb_user_id"]);
-	echo $result;
+	if ($result == true) {
+		$resultObj["success"] = true;
+		$resultObj["data"] = $result;
+		$resultObj["action"] = "refreshUser";
+		$resultObj["message"] = "User Deleted.";
+	}
+	else {
+		$resultObj["success"] = false;
+		$resultObj["message"] = "Error. User not deleted.";
+	}
 
 break;
 
@@ -225,4 +259,6 @@
 
 break; //for default case
 } // end switch
+
+sendOutput($resultObj);
 ?>
\ No newline at end of file

Modified: branches/dev_lenkne/lib/mb_admin_functions.js
===================================================================
--- branches/dev_lenkne/lib/mb_admin_functions.js	2008-07-09 13:00:01 UTC (rev 2634)
+++ branches/dev_lenkne/lib/mb_admin_functions.js	2008-07-09 22:31:33 UTC (rev 2635)
@@ -156,23 +156,44 @@
 		updateDivTitle(result);
 	});
 }
+
+//TODO This should go to class
+function processAjax(result) {
+	var resultObj = eval("(" + result + ")");
+	if (resultObj.success == true) {
+		data = eval(resultObj.data);
+		action = eval(resultObj.action);
+		action(data);
+		if (resultObj.message) {
+			alert(resultObj.message);
+		}
+	}
+	else if (resultObj.success == false) {
+		if (resultObj.message) {
+			alert(resultObj.message);
+		}
+	}
+	else {
+		alert("Error.");
+	}	
+}
+//TODO fix Parameters like Christoph example
 function showUser(module, mb_user_id) {
 	showFullscreenProgressIndicator();
-	mb_ajax_json('../php/' + module + '.php', {module: module, action:"showUser", mb_user_id: mb_user_id}, function(result, status) {
-    		if (status == "success") {
-			refreshUser(result)
-			hideFullscreenProgressIndicator();
+	mb_ajax_post('../php/' + module + '.php', {module: module, action:"showUser", mb_user_id: mb_user_id}, function(result, status) {
+  		if (result && status == "success") {
+			processAjax(result);
 		}
 		else {
-			hideFullscreenProgressIndicator();
+			alert("Error.");
 		}
+	hideFullscreenProgressIndicator();
 	});
 }
 
 function refreshUser(obj) {
 	showFullscreenProgressIndicator();
 	var userArray= document.getElementsByTagName('input');
-//	alert(userArray[0].id);
 	for(var i=0;i<userArray.length;i++){
 		for(var j=0;j<obj.length;j++){
 			if(userArray[i].id==obj[j].id){
@@ -181,7 +202,6 @@
 		}
 	}
 	hideFullscreenProgressIndicator();
-	
 }
 
 function updateUser(module) {
@@ -190,35 +210,32 @@
 	for(var i=0;i<postArray.length;i++){
 		postText += "&" + postArray[i].id + "=" + postArray[i].value;
 	}
-//	alert(postText);
 	showFullscreenProgressIndicator();
 	mb_ajax_post('../php/' + module + '.php', postText, function(result, status) {
-    		if (status == "success") {
-			refreshUser(result)
-			alert("Yuk, an alert");
-			hideFullscreenProgressIndicator();
+  		if (result && status == "success") {
+			processAjax(result);
 		}
 		else {
-			alert("error");
-			hideFullscreenProgressIndicator();
+			alert("Error.");
 		}
+	hideFullscreenProgressIndicator();
 	});
 }
 
+//TODO put YES/NO to make sure they really want to delete user
 function deleteUser(module) {
 	var postText = "module=" + module;
 	postText += "&action=deleteUser&";
 	postText += "mb_user_id=" + document.getElementById('mb_user_id').value;
 	showFullscreenProgressIndicator();
 	mb_ajax_post('../php/' + module + '.php',postText, function(result, status) {
-    		if (status == "success") {
-			alert(result);
-			hideFullscreenProgressIndicator();
+  		if (result && status == "success") {
+			processAjax(result);
 		}
 		else {
-			alert("error");
-			hideFullscreenProgressIndicator();
+			alert("Error.");
 		}
+	hideFullscreenProgressIndicator();
 	});
 }
 



More information about the Mapbender_commits mailing list