summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugins/Authentication/AuthenticationPlugin.php14
-rw-r--r--plugins/Authentication/User_username.php21
2 files changed, 23 insertions, 12 deletions
diff --git a/plugins/Authentication/AuthenticationPlugin.php b/plugins/Authentication/AuthenticationPlugin.php
index f061e456d..a76848b04 100644
--- a/plugins/Authentication/AuthenticationPlugin.php
+++ b/plugins/Authentication/AuthenticationPlugin.php
@@ -122,12 +122,7 @@ abstract class AuthenticationPlugin extends Plugin
$authenticated = $this->checkPassword($nickname, $password);
if($authenticated){
$authenticatedUser = User::staticGet('nickname', $nickname);
- $user_username = new User_username();
- $user_username->user_id = $authenticatedUser->id;
- $user_username->provider_name = $this->provider_name;
- $user_username->username = $nickname;
- $user_username->created = DB_DataObject_Cast::dateTime();
- $user_username->insert();
+ User_username::register($authenticatedUser,$nickname,$this->provider_name);
return false;
}
}
@@ -138,12 +133,7 @@ abstract class AuthenticationPlugin extends Plugin
$user = $this->autoregister($nickname);
if($user){
$authenticatedUser = $user;
- $user_username = new User_username();
- $user_username->user_id = $authenticatedUser->id;
- $user_username->provider_name = $this->provider_name;
- $user_username->username = $nickname;
- $user_username->created = DB_DataObject_Cast::dateTime();
- $user_username->insert();
+ User_username::register($authenticatedUser,$nickname,$this->provider_name);
return false;
}
}
diff --git a/plugins/Authentication/User_username.php b/plugins/Authentication/User_username.php
index 79adeb189..f30f60d83 100644
--- a/plugins/Authentication/User_username.php
+++ b/plugins/Authentication/User_username.php
@@ -22,4 +22,25 @@ class User_username extends Memcached_DataObject
/* the code above is auto generated do not remove the tag below */
###END_AUTOCODE
+
+ /**
+ * Register a user with a username on a given provider
+ * @param User User object
+ * @param string username on the given provider
+ * @param provider_name string name of the provider
+ * @return mixed User_username instance if the registration succeeded, false if it did not
+ */
+ static function register($user, $username, $provider_name)
+ {
+ $user_username = new User_username();
+ $user_username->user_id = $user->id;
+ $user_username->provider_name = $provider_name;
+ $user_username->username = $username;
+ $user_username->created = DB_DataObject_Cast::dateTime();
+ if($user_username->insert()){
+ return $user_username;
+ }else{
+ return false;
+ }
+ }
}