From: Bart Visscher Date: Wed, 14 Nov 2012 20:44:44 +0000 (+0100) Subject: Better check and handling of user creation X-Git-Tag: v5.0.0alpha1~442^2~2 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=59627367ae4ba41c84f14e55ef4fe57c2924b7ab;p=nextcloud-server.git Better check and handling of user creation --- diff --git a/lib/user.php b/lib/user.php index 801ab7f608d..872fff9b2d9 100644 --- a/lib/user.php +++ b/lib/user.php @@ -182,7 +182,7 @@ class OC_User { $backend->createUser($uid, $password); OC_Hook::emit( "OC_User", "post_createUser", array( "uid" => $uid, "password" => $password )); - return true; + return self::userExists($uid); } } return false; diff --git a/settings/ajax/createuser.php b/settings/ajax/createuser.php index 16b48c8a9ca..addae78517a 100644 --- a/settings/ajax/createuser.php +++ b/settings/ajax/createuser.php @@ -29,14 +29,17 @@ $username = $_POST["username"]; $password = $_POST["password"]; // Does the group exist? -if( in_array( $username, OC_User::getUsers())) { +if(OC_User::userExists($username)) { OC_JSON::error(array("data" => array( "message" => "User already exists" ))); exit(); } // Return Success story try { - OC_User::createUser($username, $password); + if (!OC_User::createUser($username, $password)) { + OC_JSON::error(array('data' => array( 'message' => 'User creation failed for '.$username ))); + exit(); + } foreach( $groups as $i ) { if(!OC_Group::groupExists($i)) { OC_Group::createGroup($i);