diff options
author | Jakob Sack <kde@jakobsack.de> | 2011-04-18 12:39:28 +0200 |
---|---|---|
committer | Jakob Sack <kde@jakobsack.de> | 2011-04-18 12:39:28 +0200 |
commit | da30671ec474bfa522d0a0b21d3e457437b9b57b (patch) | |
tree | 1776076ec122cb1c60d089d15abf6a674f474012 /admin/ajax | |
parent | fe90bf4bdce4eb03722382ecbd054035d6b3c590 (diff) | |
download | nextcloud-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.php | 12 | ||||
-rw-r--r-- | admin/ajax/createuser.php | 8 | ||||
-rw-r--r-- | admin/ajax/togglegroups.php | 12 |
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" ))); } ?> |