summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/private/User/Manager.php13
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/private/User/Manager.php b/lib/private/User/Manager.php
index 0477f23e552..c04f426c2cf 100644
--- a/lib/private/User/Manager.php
+++ b/lib/private/User/Manager.php
@@ -284,7 +284,20 @@ class Manager extends PublicEmitter implements IUserManager {
* @return bool|IUser the created user or false
*/
public function createUser($uid, $password) {
+ $localBackends = [];
foreach ($this->backends as $backend) {
+ if ($backend instanceof Database) {
+ // First check if there is another user backend
+ $localBackends[] = $backend;
+ continue;
+ }
+
+ if ($backend->implementsActions(Backend::CREATE_USER)) {
+ return $this->createUserFromBackend($uid, $password, $backend);
+ }
+ }
+
+ foreach ($localBackends as $backend) {
if ($backend->implementsActions(Backend::CREATE_USER)) {
return $this->createUserFromBackend($uid, $password, $backend);
}