summaryrefslogtreecommitdiff
path: root/app/Model/UserModel.php
diff options
context:
space:
mode:
Diffstat (limited to 'app/Model/UserModel.php')
-rw-r--r--app/Model/UserModel.php16
1 files changed, 16 insertions, 0 deletions
diff --git a/app/Model/UserModel.php b/app/Model/UserModel.php
index 56b1a960..af49ce7d 100644
--- a/app/Model/UserModel.php
+++ b/app/Model/UserModel.php
@@ -376,4 +376,20 @@ class UserModel extends Base
->eq('id', $user_id)
->save(array('token' => ''));
}
+
+ public function getOrCreateExternalUserId($username, $name, $externalIdColumn, $externalId)
+ {
+ $userId = $this->db->table(self::TABLE)->eq($externalIdColumn, $externalId)->findOneColumn('id');
+
+ if (empty($userId)) {
+ $userId = $this->create(array(
+ 'username' => $username,
+ 'name' => $name,
+ 'is_ldap_user' => 1,
+ $externalIdColumn => $externalId,
+ ));
+ }
+
+ return $userId;
+ }
}