summaryrefslogtreecommitdiffstats
path: root/admin/ajax
diff options
context:
space:
mode:
authorJakob Sack <kde@jakobsack.de>2011-04-18 12:39:28 +0200
committerJakob Sack <kde@jakobsack.de>2011-04-18 12:39:28 +0200
commitda30671ec474bfa522d0a0b21d3e457437b9b57b (patch)
tree1776076ec122cb1c60d089d15abf6a674f474012 /admin/ajax
parentfe90bf4bdce4eb03722382ecbd054035d6b3c590 (diff)
downloadnextcloud-server-da30671ec474bfa522d0a0b21d3e457437b9b57b.tar.gz
nextcloud-server-da30671ec474bfa522d0a0b21d3e457437b9b57b.zip
More error checking in user management
Diffstat (limited to 'admin/ajax')
-rw-r--r--admin/ajax/creategroup.php12
-rw-r--r--admin/ajax/createuser.php8
-rw-r--r--admin/ajax/togglegroups.php12
3 files changed, 24 insertions, 8 deletions
diff --git a/admin/ajax/creategroup.php b/admin/ajax/creategroup.php
index bfa4099b889..eec27587930 100644
--- a/admin/ajax/creategroup.php
+++ b/admin/ajax/creategroup.php
@@ -12,11 +12,17 @@ if( !OC_USER::isLoggedIn() || !OC_GROUP::inGroup( $_SESSION['user_id'], 'admin'
exit();
}
-$name = $_POST["groupname"];
+$groupname = $_POST["groupname"];
+
+// Does the group exist?
+if( in_array( $groupname, OC_GROUP::getGroups())){
+ echo json_encode( array( "status" => "error", "data" => array( "message" => "Group already exists" )));
+ exit();
+}
// Return Success story
-if( OC_GROUP::createGroup( $name )){
- echo json_encode( array( "status" => "success", "data" => array( "groupname" => $name )));
+if( OC_GROUP::createGroup( $groupname )){
+ echo json_encode( array( "status" => "success", "data" => array( "groupname" => $groupname )));
}
else{
echo json_encode( array( "status" => "error", "data" => array( "message" => "Unable to add group" )));
diff --git a/admin/ajax/createuser.php b/admin/ajax/createuser.php
index 4aa082a25e6..a6e4ec0e93d 100644
--- a/admin/ajax/createuser.php
+++ b/admin/ajax/createuser.php
@@ -19,12 +19,18 @@ if( isset( $_POST["groups"] )){
$username = $_POST["username"];
$password = $_POST["password"];
+// Does the group exist?
+if( in_array( $username, OC_USER::getUsers())){
+ echo json_encode( array( "status" => "error", "data" => array( "message" => "User already exists" )));
+ exit();
+}
+
// Return Success story
if( OC_USER::createUser( $username, $password )){
foreach( $groups as $i ){
OC_GROUP::addToGroup( $username, $i );
}
- echo json_encode( array( "status" => "success", "data" => array( "username" => $username, "groups" => implode( ", ", $groups ))));
+ echo json_encode( array( "status" => "success", "data" => array( "username" => $username, "groups" => implode( ", ", OC_GROUP::getUserGroups( $username )))));
}
else{
echo json_encode( array( "status" => "error", "data" => array( "message" => "Unable to add user" )));
diff --git a/admin/ajax/togglegroups.php b/admin/ajax/togglegroups.php
index cd26dbc1440..86834f56ea3 100644
--- a/admin/ajax/togglegroups.php
+++ b/admin/ajax/togglegroups.php
@@ -13,24 +13,28 @@ if( !OC_USER::isLoggedIn() || !OC_GROUP::inGroup( $_SESSION['user_id'], 'admin'
}
$success = true;
+$error = "add user to";
+$action = "add";
$username = $_POST["username"];
$group = $_POST["group"];
// Toggle group
if( OC_GROUP::inGroup( $username, $group )){
- OC_GROUP::removeFromGroup( $username, $group );
+ $action = "remove";
+ $error = "remove user from";
+ $success = OC_GROUP::removeFromGroup( $username, $group );
}
else{
- OC_GROUP::addToGroup( $username, $group );
+ $success = OC_GROUP::addToGroup( $username, $group );
}
// Return Success story
if( $success ){
- echo json_encode( array( "status" => "success", "data" => array( "username" => $username )));
+ echo json_encode( array( "status" => "success", "data" => array( "username" => $username, "action" => $action, "groupname" => $groupname )));
}
else{
- echo json_encode( array( "status" => "error", "data" => array( "message" => "Unable to delete user" )));
+ echo json_encode( array( "status" => "error", "data" => array( "message" => "Unable to $error group $group" )));
}
?>