[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