diff --git a/webgui/ajax.php b/webgui/ajax.php
index 8c52a0fa828c3a6eed303ca0a0c8a6ea21c786f9..543f190df0df11bb1f2a8d7c49e199465c9941d2 100644
--- a/webgui/ajax.php
+++ b/webgui/ajax.php
@@ -48,7 +48,8 @@
 		);
 		echo json_encode($res);
 */
-		echo json_encode($msg);
+//		echo json_encode($msg);
+		jsonError(-1,$msg);
 		exit;
 	}
 
@@ -176,6 +177,8 @@
 			$res = addAdminClientRealm($soapParams);
 			if (isset($res)) {
 				ajaxException($res);
+			} else {
+				jsonSuccess();
 			}
 
 			break;
@@ -185,6 +188,8 @@
 			$res = removeAdminClientRealm($soapParams);
 			if (isset($res)) {
 				ajaxException($res);
+			} else {
+				jsonSuccess();
 			}
 
 			break;
@@ -211,6 +216,8 @@
 			$res = updateAdminClient($soapParams);
 			if (isset($res)) {
 				ajaxException($res);
+			} else {
+				jsonSuccess();
 			}
 
 			break;
@@ -220,6 +227,8 @@
 			$res = createAdminClient($soapParams);
 			if (isset($res)) {
 				ajaxException($res);
+			} else {
+				jsonSuccess();
 			}
 
 			break;
@@ -229,6 +238,8 @@
 			$res = removeAdminClient($soapParams);
 			if (isset($res)) {
 				ajaxException($res);
+			} else {
+				jsonSuccess();
 			}
 
 			break;
@@ -268,6 +279,8 @@
 			$res = addAdminClientAttribute($soapParams);
 			if (isset($res)) {
 				ajaxException($res);
+			} else {
+				jsonSuccess();
 			}
 
 			break;
@@ -277,6 +290,8 @@
 			$res = updateAdminClientAttribute($soapParams);
 			if (isset($res)) {
 				ajaxException($res);
+			} else {
+				jsonSuccess();
 			}
 
 			break;
@@ -319,6 +334,8 @@
 			$res = removeAdminClientAttribute($soapParams);
 			if (isset($res)) {
 				ajaxException($res);
+			} else {
+				jsonSuccess();
 			}
 
 			break;
@@ -392,6 +409,8 @@
 			$res = createAdminUserTopup($soapParams);
 			if (isset($res)) {
 				ajaxException($res);
+			} else {
+				jsonSuccess();
 			}
 
 			break;
@@ -401,6 +420,8 @@
 			$res = updateAdminUserTopup($soapParams);
 			if (isset($res)) {
 				ajaxException($res);
+			} else {
+				jsonSuccess();
 			}
 
 			break;
@@ -425,6 +446,8 @@
 			$res = removeAdminUserTopup($soapParams);
 			if (isset($res)) {
 				ajaxException($res);
+			} else {
+				jsonSuccess();
 			}
 
 			break;
@@ -455,6 +478,8 @@
 			$res = createWiSPUserTopup($soapParams);
 			if (isset($res)) {
 				ajaxException($res);
+			} else {
+				jsonSuccess();
 			}
 
 			break;
@@ -464,6 +489,8 @@
 			$res = updateWiSPUserTopup($soapParams);
 			if (isset($res)) {
 				ajaxException($res);
+			} else {
+				jsonSuccess();
 			}
 
 			break;
@@ -488,6 +515,8 @@
 			$res = removeWiSPUserTopup($soapParams);
 			if (isset($res)) {
 				ajaxException($res);
+			} else {
+				jsonSuccess();
 			}
 
 			break;
@@ -515,6 +544,8 @@
 			$res = removeAdminGroupMember($soapParams);
 			if (isset($res)) {
 				ajaxException($res);
+			} else {
+				jsonSuccess();
 			}
 
 			break;
@@ -541,6 +572,8 @@
 			$res = removeAdminRealmMember($soapParams);
 			if (isset($res)) {
 				ajaxException($res);
+			} else {
+				jsonSuccess();
 			}
 
 			break;
@@ -581,6 +614,8 @@
 			$res = addAdminUserGroup($soapParams);
 			if (isset($res)) {
 				ajaxException($res);
+			} else {
+				jsonSuccess();
 			}
 
 			break;
@@ -590,6 +625,8 @@
 			$res = removeAdminUserGroup($soapParams);
 			if (isset($res)) {
 				ajaxException($res);
+			} else {
+				jsonSuccess();
 			}
 
 			break;
@@ -616,6 +653,8 @@
 			$res = addAdminRealmAttribute($soapParams);
 			if (isset($res)) {
 				ajaxException($res);
+			} else {
+				jsonSuccess();
 			}
 
 			break;
@@ -625,6 +664,8 @@
 			$res = updateAdminRealmAttribute($soapParams);
 			if (isset($res)) {
 				ajaxException($res);
+			} else {
+				jsonSuccess();
 			}
 
 			break;
@@ -667,6 +708,8 @@
 			$res = removeAdminRealmAttribute($soapParams);
 			if (isset($res)) {
 				ajaxException($res);
+			} else {
+				jsonSuccess();
 			}
 
 			break;
@@ -677,6 +720,8 @@
 			$res = addAdminGroupAttribute($soapParams);
 			if (isset($res)) {
 				ajaxException($res);
+			} else {
+				jsonSuccess();
 			}
 
 			break;
@@ -686,6 +731,8 @@
 			$res = updateAdminGroupAttribute($soapParams);
 			if (isset($res)) {
 				ajaxException($res);
+			} else {
+				jsonSuccess();
 			}
 
 			break;
@@ -728,6 +775,8 @@
 			$res = removeAdminGroupAttribute($soapParams);
 			if (isset($res)) {
 				ajaxException($res);
+			} else {
+				jsonSuccess();
 			}
 
 			break;
@@ -738,6 +787,8 @@
 			$res = addAdminUserAttribute($soapParams);
 			if (isset($res)) {
 				ajaxException($res);
+			} else {
+				jsonSuccess();
 			}
 
 			break;
@@ -747,6 +798,8 @@
 			$res = updateAdminUserAttribute($soapParams);
 			if (isset($res)) {
 				ajaxException($res);
+			} else {
+				jsonSuccess();
 			}
 
 			break;
@@ -789,6 +842,8 @@
 			$res = removeAdminUserAttribute($soapParams);
 			if (isset($res)) {
 				ajaxException($res);
+			} else {
+				jsonSuccess();
 			}
 
 			break;
@@ -799,6 +854,8 @@
 			$res = updateWiSPUser($soapParams);
 			if (isset($res)) {
 				ajaxException($res);
+			} else {
+				jsonSuccess();
 			}
 
 			break;
@@ -808,6 +865,8 @@
 			$res = createWiSPUser($soapParams);
 			if (isset($res)) {
 				ajaxException($res);
+			} else {
+				jsonSuccess();
 			}
 
 			break;
@@ -817,6 +876,8 @@
 			$res = removeWiSPUser($soapParams);
 			if (isset($res)) {
 				ajaxException($res);
+			} else {
+				jsonSuccess();
 			}
 
 			break;
@@ -942,6 +1003,8 @@
 			$res = removeWiSPLocationMember($soapParams);
 			if (isset($res)) {
 				ajaxException($res);
+			} else {
+				jsonSuccess();
 			}
 
 			break;
@@ -952,6 +1015,8 @@
 			$res = updateWiSPLocation($soapParams);
 			if (isset($res)) {
 				ajaxException($res);
+			} else {
+				jsonSuccess();
 			}
 
 			break;
@@ -961,6 +1026,8 @@
 			$res = createWiSPLocation($soapParams);
 			if (isset($res)) {
 				ajaxException($res);
+			} else {
+				jsonSuccess();
 			}
 
 			break;
@@ -970,6 +1037,8 @@
 			$res = removeWiSPLocation($soapParams);
 			if (isset($res)) {
 				ajaxException($res);
+			} else {
+				jsonSuccess();
 			}
 
 			break;
@@ -1007,6 +1076,8 @@
 			$res = updateAdminUser($soapParams);
 			if (isset($res)) {
 				ajaxException($res);
+			} else {
+				jsonSuccess();
 			}
 
 			break;
@@ -1016,6 +1087,8 @@
 			$res = createAdminUser($soapParams);
 			if (isset($res)) {
 				ajaxException($res);
+			} else {
+				jsonSuccess();
 			}
 
 			break;
@@ -1025,6 +1098,8 @@
 			$res = removeAdminUser($soapParams);
 			if (isset($res)) {
 				ajaxException($res);
+			} else {
+				jsonSuccess();
 			}
 
 			break;
@@ -1064,6 +1139,8 @@
 			$res = updateAdminRealm($soapParams);
 			if (isset($res)) {
 				ajaxException($res);
+			} else {
+				jsonSuccess();
 			}
 
 			break;
@@ -1073,6 +1150,8 @@
 			$res = createAdminRealm($soapParams);
 			if (isset($res)) {
 				ajaxException($res);
+			} else {
+				jsonSuccess();
 			}
 
 			break;
@@ -1082,6 +1161,8 @@
 			$res = removeAdminRealm($soapParams);
 			if (isset($res)) {
 				ajaxException($res);
+			} else {
+				jsonSuccess();
 			}
 
 			break;
@@ -1121,6 +1202,8 @@
 			$res = updateAdminGroup($soapParams);
 			if (isset($res)) {
 				ajaxException($res);
+			} else {
+				jsonSuccess();
 			}
 
 			break;
@@ -1130,6 +1213,8 @@
 			$res = createAdminGroup($soapParams);
 			if (isset($res)) {
 				ajaxException($res);
+			} else {
+				jsonSuccess();
 			}
 
 			break;
@@ -1139,6 +1224,8 @@
 			$res = removeAdminGroup($soapParams);
 			if (isset($res)) {
 				ajaxException($res);
+			} else {
+				jsonSuccess();
 			}
 
 			break;
diff --git a/webgui/include/ajax/functions/AdminClientAttributes.php b/webgui/include/ajax/functions/AdminClientAttributes.php
index 5102e7a42c9b77ba8d059dbf70f99de0c1f8eb44..0940f88e56240249807ea9e21ccf8ee01e8eb248 100644
--- a/webgui/include/ajax/functions/AdminClientAttributes.php
+++ b/webgui/include/ajax/functions/AdminClientAttributes.php
@@ -19,7 +19,7 @@ function addAdminClientAttribute($params) {
 	);
 
 	# Return result
-	if (is_bool($res)) {
+	if ($res !== TRUE) {
 		return $res;
 	}
 
@@ -33,7 +33,7 @@ function removeAdminClientAttribute($params) {
 	$res = DBDo("DELETE FROM client_attributes WHERE ID = ?",array($params[0]));
 
 	# Return result
-	if (is_bool($res)) {
+	if ($res !== TRUE) {
 		return $res;
 	}
 
@@ -53,7 +53,7 @@ function updateAdminClientAttribute($params) {
 	);
 
 	# Return result
-	if (is_bool($res)) {
+	if ($res !== TRUE) {
 		return $res;
 	}
 
diff --git a/webgui/include/ajax/functions/AdminClientRealms.php b/webgui/include/ajax/functions/AdminClientRealms.php
index 75246de13d7d927e53b4dd41b0ee79d996f958f0..d794dd975aba0bc5ade148bee29b0cfd82ad8a64 100644
--- a/webgui/include/ajax/functions/AdminClientRealms.php
+++ b/webgui/include/ajax/functions/AdminClientRealms.php
@@ -10,7 +10,7 @@ function addAdminClientRealm($params) {
 	$res = DBDo("INSERT INTO clients_to_realms (ClientID,RealmID) VALUES (?,?)",array($params[0]['ClientID'],$params[0]['RealmID']));
 
 	# Return result
-	if (is_bool($res)) {
+	if ($res !== TRUE) {
 		return $res;
 	}
 
@@ -24,7 +24,7 @@ function removeAdminClientRealm($params) {
 	$res = DBDo("DELETE FROM clients_to_realms WHERE ID = ?",array($params[0]));
 
 	# Return result
-	if (is_bool($res)) {
+	if ($res !== TRUE) {
 		return $res;
 	}
 
diff --git a/webgui/include/ajax/functions/AdminClients.php b/webgui/include/ajax/functions/AdminClients.php
index ce22b9aa08047dcf2822512fe795e3d2dae87d55..9a611b5371438803e8a811b9b3d42ab1c7342e9f 100644
--- a/webgui/include/ajax/functions/AdminClients.php
+++ b/webgui/include/ajax/functions/AdminClients.php
@@ -81,13 +81,12 @@ function removeAdminClient($params) {
 		$res = DBDo("DELETE FROM clients WHERE ID = ?",array($params[0]));
 	}
 
-	# Commit and return if successful
-	if (is_bool($res)) {
-		DBCommit();
+	# Return result
+	if ($res !== TRUE) {
+		DBRollback();
 		return $res;
-	# Else rollback database
 	} else {
-		DBRollback();
+		DBCommit();
 	}
 
 	return NULL;
@@ -100,7 +99,7 @@ function createAdminClient($params) {
 	$res = DBDo("INSERT INTO clients (Name,AccessList) VALUES (?,?)",array($params[0]['Name'],$params[0]['AccessList']));
 
 	# Return result
-	if (is_bool($res)) {
+	if ($res !== TRUE) {
 		return $res;
 	}
 
@@ -115,7 +114,7 @@ function updateAdminClient($params) {
 			array($params[0]['Name'],$params[0]['AccessList'],$params[0]['ID']));
 
 	# Return result
-	if (is_bool($res)) {
+	if ($res !== TRUE) {
 		return $res;
 	}
 
diff --git a/webgui/include/ajax/functions/AdminGroupAttributes.php b/webgui/include/ajax/functions/AdminGroupAttributes.php
index 0a6d710b0846b5f83fb4a7494c93c33e110219e6..023e1a20ea796eb5e143e7b6cc1d5edc1ff27184 100644
--- a/webgui/include/ajax/functions/AdminGroupAttributes.php
+++ b/webgui/include/ajax/functions/AdminGroupAttributes.php
@@ -18,7 +18,7 @@ function addAdminGroupAttribute($params) {
 	);
 
 	# Return result
-	if (is_bool($res)) {
+	if ($res !== TRUE) {
 		return $res;
 	}
 
@@ -31,7 +31,7 @@ function removeAdminGroupAttribute($params) {
 	$res = DBDo("DELETE FROM group_attributes WHERE ID = ?",array($params[0]));
 
 	# Return result
-	if (is_bool($res)) {
+	if ($res !== TRUE) {
 		return $res;
 	}
 
@@ -50,7 +50,7 @@ function updateAdminGroupAttribute($params) {
 	);
 
 	# Return result
-	if (is_bool($res)) {
+	if ($res !== TRUE) {
 		return $res;
 	}
 
diff --git a/webgui/include/ajax/functions/AdminGroupMembers.php b/webgui/include/ajax/functions/AdminGroupMembers.php
index 18809a8218e9867f498bc386d4212fc7e589ce47..15a55ad45920e4a9ec601081a353286b19e99937 100644
--- a/webgui/include/ajax/functions/AdminGroupMembers.php
+++ b/webgui/include/ajax/functions/AdminGroupMembers.php
@@ -8,7 +8,7 @@ function removeAdminGroupMember($params) {
 	$res = DBDo("DELETE FROM users_to_groups WHERE ID = ?",array($params[0]));
 
 	# Return result
-	if (is_bool($res)) {
+	if ($res !== TRUE) {
 		return $res;
 	}
 
diff --git a/webgui/include/ajax/functions/AdminGroups.php b/webgui/include/ajax/functions/AdminGroups.php
index ce66856f0005662024280c98ab943376d42ec2e2..605af1261fa4b7073b2b50fe497483f89e3574c5 100644
--- a/webgui/include/ajax/functions/AdminGroups.php
+++ b/webgui/include/ajax/functions/AdminGroups.php
@@ -87,13 +87,12 @@ function removeAdminGroup($params) {
 		$res = DBDo("DELETE FROM groups WHERE ID = ?",array($params[0]));
 	}
 
-	# Commit and return if successful
-	if (is_bool($res)) {
-		DBCommit();
+	# Return result
+	if ($res !== TRUE) {
+		DBRollback();
 		return $res;
-	# Else rollback database
 	} else {
-		DBRollback();
+		DBCommit();
 	}
 
 	return NULL;
@@ -106,7 +105,7 @@ function createAdminGroup($params) {
 	$res = DBDo("INSERT INTO groups (Name) VALUES (?)",array($params[0]['Name']));
 
 	# Return result
-	if (is_bool($res)) {
+	if ($res !== TRUE) {
 		return $res;
 	}
 
@@ -120,7 +119,7 @@ function updateAdminGroup($params) {
 	$res = DBDo("UPDATE groups SET Name = ? WHERE ID = ?",array($params[0]['Name'],$params[0]['ID']));
 
 	# Return result
-	if (is_bool($res)) {
+	if ($res !== TRUE) {
 		return $res;
 	}
 
diff --git a/webgui/include/ajax/functions/AdminRealmAttributes.php b/webgui/include/ajax/functions/AdminRealmAttributes.php
index 74669a566b9470b46d6c3b31545adb602932ed6e..c71e0c55667d82b5406d0a5f250e0b44cf6cdd9c 100644
--- a/webgui/include/ajax/functions/AdminRealmAttributes.php
+++ b/webgui/include/ajax/functions/AdminRealmAttributes.php
@@ -19,7 +19,7 @@ function addAdminRealmAttribute($params) {
 	);
 
 	# Return result
-	if (is_bool($res)) {
+	if ($res !== TRUE) {
 		return $res;
 	}
 
@@ -33,7 +33,7 @@ function removeAdminRealmAttribute($params) {
 	$res = DBDo("DELETE FROM realm_attributes WHERE ID = ?",array($params[0]));
 
 	# Return result
-	if (is_bool($res)) {
+	if ($res !== TRUE) {
 		return $res;
 	}
 
@@ -53,7 +53,7 @@ function updateAdminRealmAttribute($params) {
 	);
 
 	# Return result
-	if (is_bool($res)) {
+	if ($res !== TRUE) {
 		return $res;
 	}
 
diff --git a/webgui/include/ajax/functions/AdminRealmMembers.php b/webgui/include/ajax/functions/AdminRealmMembers.php
index 50f73d228f103527aa0e063be4e1853063b50628..c4d967708c13abfc3396626fba18ff4ff295413c 100644
--- a/webgui/include/ajax/functions/AdminRealmMembers.php
+++ b/webgui/include/ajax/functions/AdminRealmMembers.php
@@ -8,7 +8,7 @@ function removeAdminRealmMember($params) {
 	$res = DBDo("DELETE FROM clients_to_realms WHERE ID = ?",array($params[0]));
 
 	# Return result
-	if (is_bool($res)) {
+	if ($res !== TRUE) {
 		return $res;
 	}
 
diff --git a/webgui/include/ajax/functions/AdminRealms.php b/webgui/include/ajax/functions/AdminRealms.php
index cf1182ea97639534af5e945fe85a5d1ccec726fc..e035bfc0f75fcc3c3d3bfb8ba3643b08a367fb6c 100644
--- a/webgui/include/ajax/functions/AdminRealms.php
+++ b/webgui/include/ajax/functions/AdminRealms.php
@@ -76,13 +76,12 @@ function removeAdminRealm($params) {
 		$res = DBDo("DELETE FROM realms WHERE ID = ?",array($params[0]));
 	}
 
-	# Commit and return if successful
-	if (is_bool($res)) {
-		DBCommit();
+	# Return result
+	if ($res !== TRUE) {
+		DBRollback();
 		return $res;
-	# Else rollback database
 	} else {
-		DBRollback();
+		DBCommit();
 	}
 
 	return NULL;
@@ -95,7 +94,7 @@ function createAdminRealm($params) {
 	$res = DBDo("INSERT INTO realms (Name) VALUES (?)",array($params[0]['Name']));
 
 	# Return result
-	if (is_bool($res)) {
+	if ($res !== TRUE) {
 		return $res;
 	}
 
@@ -109,7 +108,7 @@ function updateAdminRealm($params) {
 	$res = DBDo("UPDATE realms SET Name = ? WHERE ID = ?",array($params[0]['Name'],$params[0]['ID']));
 
 	# Return result
-	if (is_bool($res)) {
+	if ($res !== TRUE) {
 		return $res;
 	}
 
diff --git a/webgui/include/ajax/functions/AdminUserAttributes.php b/webgui/include/ajax/functions/AdminUserAttributes.php
index cb6e041f6e3e7225fbca6a5798482732e4a09922..e8e75adb960226dc3e84fe22c46a02fdcfaacdaa 100644
--- a/webgui/include/ajax/functions/AdminUserAttributes.php
+++ b/webgui/include/ajax/functions/AdminUserAttributes.php
@@ -19,7 +19,7 @@ function addAdminUserAttribute($params) {
 	);
 
 	# Return result
-	if (is_bool($res)) {
+	if ($res !== TRUE) {
 		return $res;
 	}
 
@@ -33,7 +33,7 @@ function removeAdminUserAttribute($params) {
 	$res = DBDo("DELETE FROM user_attributes WHERE ID = ?",array($params[0]));
 
 	# Return result
-	if (is_bool($res)) {
+	if ($res !== TRUE) {
 		return $res;
 	}
 
@@ -52,8 +52,8 @@ function updateAdminUserAttribute($params) {
 				$params[0]['ID'])
 	);
 
-	# Return result
-	if (is_bool($res)) {
+	# Return error
+	if ($res !== TRUE) {
 		return $res;
 	}
 
diff --git a/webgui/include/ajax/functions/AdminUserGroups.php b/webgui/include/ajax/functions/AdminUserGroups.php
index a19c636aeb9baee1a1e87be69127744cedba4d2d..ff160d723f4ef2647cf125b40fcda5ab61b9a28a 100644
--- a/webgui/include/ajax/functions/AdminUserGroups.php
+++ b/webgui/include/ajax/functions/AdminUserGroups.php
@@ -10,7 +10,7 @@ function addAdminUserGroup($params) {
 	$res = DBDo("INSERT INTO users_to_groups (UserID,GroupID) VALUES (?,?)",array($params[0]['UserID'],$params[0]['GroupID']));
 
 	# Return result
-	if (is_bool($res)) {
+	if ($res !== TRUE) {
 		return $res;
 	}
 
@@ -24,7 +24,7 @@ function removeAdminUserGroup($params) {
 	$res = DBDo("DELETE FROM users_to_groups WHERE ID = ?",array($params[0]));
 
 	# Return result
-	if (is_bool($res)) {
+	if ($res !== TRUE) {
 		return $res;
 	}
 
diff --git a/webgui/include/ajax/functions/AdminUserTopups.php b/webgui/include/ajax/functions/AdminUserTopups.php
index 479d82d8dcce2b27e904a924cb41b8f86b58ac2c..aff050c680bfe61d3dd702643320f34708677205 100644
--- a/webgui/include/ajax/functions/AdminUserTopups.php
+++ b/webgui/include/ajax/functions/AdminUserTopups.php
@@ -16,7 +16,7 @@ function createAdminUserTopup($params) {
 	);
 
 	# Return result
-	if (is_bool($res)) {
+	if ($res !== TRUE) {
 		return $res;
 	}
 
@@ -36,7 +36,7 @@ function updateAdminUserTopup($params) {
 	);
 
 	# Return result
-	if (is_bool($res)) {
+	if ($res !== TRUE) {
 		return $res;
 	}
 
@@ -50,7 +50,7 @@ function removeAdminUserTopup($params) {
 	$res = DBDo("DELETE FROM topups WHERE ID = ?",array($params[0]));
 
 	# Return result
-	if (is_bool($res)) {
+	if ($res !== TRUE) {
 		return $res;
 	}
 
diff --git a/webgui/include/ajax/functions/AdminUsers.php b/webgui/include/ajax/functions/AdminUsers.php
index 8b273c3bc51cfd2bab7c1671d02e8a74ebd6bb36..7b79ba9450460e7408fcbd3088e3bcd6595802ff 100644
--- a/webgui/include/ajax/functions/AdminUsers.php
+++ b/webgui/include/ajax/functions/AdminUsers.php
@@ -132,15 +132,13 @@ function removeAdminUser($params) {
 		$res = DBDo("DELETE FROM users WHERE ID = ?",array($params[0]));
 	}
 
-	# Commit and return if successful
-	if (is_bool($res)) {
-		DBCommit();
+	# Return result
+	if ($res !== TRUE) {
+		DBRollback();
 		return $res;
-	# Else rollback database
 	} else {
-		DBRollback();
+		DBCommit();
 	}
-
 	return NULL;
 }
 
@@ -151,7 +149,7 @@ function createAdminUser($params) {
 	$res = DBDo("INSERT INTO users (Username) VALUES (?)",array($params[0]['Username']));
 
 	# Return result
-	if (is_bool($res)) {
+	if ($res !== TRUE) {
 		return $res;
 	}
 
@@ -165,7 +163,7 @@ function updateAdminUser($params) {
 	$res = DBDo("UPDATE users SET Username = ? WHERE ID = ?",array($params[0]['Username'],$params[0]['ID']));
 
 	# Return result
-	if (is_bool($res)) {
+	if ($res !== TRUE) {
 		return $res;
 	}
 
diff --git a/webgui/include/ajax/functions/WiSPLocationMembers.php b/webgui/include/ajax/functions/WiSPLocationMembers.php
index 78ec530a9cfd9399e1bec35fb66ff7ac7d87814d..03ea250a3a6462b971c4ed9fb7ca14ee3c7c496d 100644
--- a/webgui/include/ajax/functions/WiSPLocationMembers.php
+++ b/webgui/include/ajax/functions/WiSPLocationMembers.php
@@ -9,7 +9,7 @@ function removeWiSPLocationMember($params) {
 	$res = DBDo("UPDATE wisp_userdata SET LocationID = NULL WHERE UserID = ?",array($params[0]));
 
 	# Return result
-	if (is_bool($res)) {
+	if ($res !== TRUE) {
 		return $res;
 	}
 
diff --git a/webgui/include/ajax/functions/WiSPLocations.php b/webgui/include/ajax/functions/WiSPLocations.php
index 6b9a29a5d2fb5c379303c8861c3305088d3196ce..7fb9d4847dcb011c6f6cdf8ad748340ef3eb1cf8 100644
--- a/webgui/include/ajax/functions/WiSPLocations.php
+++ b/webgui/include/ajax/functions/WiSPLocations.php
@@ -75,13 +75,12 @@ function removeWiSPLocation($params) {
 		$res = DBDo("DELETE FROM wisp_locations WHERE ID = ?",array($params[0]));
 	}
 
-	# Commit changes if successful
-	if (is_bool($res)) {
-		DBCommit();
+	# Return result
+	if ($res !== TRUE) {
+		DBRollback();
 		return $res;
-	# Rollback database if error
 	} else {
-		DBRollback();
+		DBCommit();
 	}
 
 	return NULL;
@@ -94,7 +93,7 @@ function createWiSPLocation($params) {
 	$res = DBDo("INSERT INTO wisp_locations (Name) VALUES (?)",array($params[0]['Name']));
 
 	# Return result
-	if (is_bool($res)) {
+	if ($res !== TRUE) {
 		return $res;
 	}
 
@@ -108,7 +107,7 @@ function updateWiSPLocation($params) {
 	$res = DBDo("UPDATE wisp_locations SET Name = ? WHERE ID = ?",array($params[0]['Name'],$params[0]['ID']));
 
 	# Return result
-	if (is_bool($res)) {
+	if ($res !== TRUE) {
 		return $res;
 	}
 
diff --git a/webgui/include/ajax/functions/WiSPUserTopups.php b/webgui/include/ajax/functions/WiSPUserTopups.php
index ea00906d48b4b43b38e52f9925e861b24f0780d4..39013f936b49572a32f2ac6c227a520867932afa 100644
--- a/webgui/include/ajax/functions/WiSPUserTopups.php
+++ b/webgui/include/ajax/functions/WiSPUserTopups.php
@@ -16,7 +16,7 @@ function createWiSPUserTopup($params) {
 	);
 
 	# Return result
-	if (is_bool($res)) {
+	if ($res !== TRUE) {
 		return $res;
 	}
 
@@ -36,7 +36,7 @@ function updateWiSPUserTopup($params) {
 	);
 
 	# Return result
-	if (is_bool($res)) {
+	if ($res !== TRUE) {
 		return $res;
 	}
 
@@ -50,7 +50,7 @@ function removeWiSPUserTopup($params) {
 	$res = DBDo("DELETE FROM topups WHERE ID = ?",array($params[0]));
 
 	# Return result
-	if (is_bool($res)) {
+	if ($res !== TRUE) {
 		return $res;
 	}
 
diff --git a/webgui/include/ajax/functions/WiSPUsers.php b/webgui/include/ajax/functions/WiSPUsers.php
index 0ccc7d39e41877af06956b48f016504c88200418..07372733d3fcd0f7610db1b4d8069ef2c2ab7b27 100644
--- a/webgui/include/ajax/functions/WiSPUsers.php
+++ b/webgui/include/ajax/functions/WiSPUsers.php
@@ -296,13 +296,12 @@ function removeWiSPUser($params) {
 		$res = DBDo("DELETE FROM users WHERE ID = ?",array($params[0]));
 	}
 
-	# Commit and return if successful
-	if (is_bool($res)) {
-		DBCommit();
+	# Return result
+	if ($res !== TRUE) {
+		DBRollback();
 		return $res;
-	# Else rollback database
 	} else {
-		DBRollback();
+		DBCommit();
 	}
 
 	return NULL;
@@ -316,9 +315,9 @@ function createWiSPUser($params) {
 	# Begin transaction
 	DBBegin();
 	# Perform first query
-	$res = "Username & Password required for single user. For adding multiple users an integer is required.";
+	$res = "Username required for single user. For adding multiple users an integer is required.";
 	# If we adding single user
-	if (empty($params[0]['Number']) && !empty($params[0]['Password']) && !empty($params[0]['Username'])) {
+	if (empty($params[0]['Number']) && !empty($params[0]['Username'])) {
 		# Insert username
 		$res = DBDo("INSERT INTO users (Username) VALUES (?)",array($params[0]['Username']));
 
@@ -607,12 +606,11 @@ function createWiSPUser($params) {
 	}
 
 	# Commit changes if all was successful, else rollback
-	if (is_bool($res)) {
-		DBCommit();
-		return $res;
-	} else {
+	if ($res !== TRUE) {
 		DBRollback();
 		return $res;
+	} else {
+		DBCommit();
 	}
 
 	return NULL;
@@ -792,11 +790,11 @@ function updateWiSPUser($params) {
 	}
 
 	# Commit changes if all was successful, else break
-	if (is_bool($res) && $res === TRUE) {
-		DBCommit();
+	if ($res !== TRUE) {
+		DBRollback();
 		return $res;
 	} else {
-		DBRollback();
+		DBCommit();
 	}
 
 	return NULL;
diff --git a/webgui/include/ajax/json.php b/webgui/include/ajax/json.php
index 6b9fbf2132039124bd476479e9e7a4a8aac72f43..6bab097441bc44606701e27fa8d129ccd0286f8f 100644
--- a/webgui/include/ajax/json.php
+++ b/webgui/include/ajax/json.php
@@ -153,5 +153,37 @@ class json_response {
 	}
 }
 
+function jsonSuccess($name = 'Result',$type = 'int',$value = 0) {
+
+	# Build response
+	$res = new json_response;
+
+	$res->addField($name,$type);
+	$res->parseHash(array(
+		$name => $value
+	));
+
+	# Export
+	echo json_encode($res->export());
+}
+
+function jsonError($code,$reason) {
+    
+    # Build response
+	$res = new json_response;
+
+    $res->setStatus(-1);
+    $res->addField('ErrorCode','int');
+    $res->addField('ErrorReason','string');
+    $res->parseHash(array(
+		'ErrorCode' => $code,
+		'ErrorReason' => $reason
+	));
+    
+	# Export
+	echo json_encode($res->export());
+} 
+
+
 
 # vim: ts=4