Refactor User_username object creation to reuse code

This commit is contained in:
Craig Andrews 2009-11-13 13:11:28 -05:00
parent b9562cbb18
commit 5494eb6146
2 changed files with 23 additions and 12 deletions

View File

@ -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;
}
}

View File

@ -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;
}
}
}