forked from GNUsocial/gnu-social
Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x
This commit is contained in:
@@ -70,7 +70,7 @@ abstract class AuthenticationPlugin extends Plugin
|
||||
* Automatically register a user when they attempt to login with valid credentials.
|
||||
* User::register($data) is a very useful method for this implementation
|
||||
* @param username
|
||||
* @return boolean true if the user was created, false if not
|
||||
* @return mixed instance of User, or false (if user couldn't be created)
|
||||
*/
|
||||
function autoRegister($username)
|
||||
{
|
||||
@@ -122,27 +122,20 @@ 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;
|
||||
}
|
||||
}
|
||||
}else{
|
||||
if($this->autoregistration){
|
||||
$authenticated = $this->checkPassword($nickname, $password);
|
||||
if($authenticated && $this->autoregister($nickname)){
|
||||
$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();
|
||||
return false;
|
||||
if($authenticated){
|
||||
$user = $this->autoregister($nickname);
|
||||
if($user){
|
||||
$authenticatedUser = $user;
|
||||
User_username::register($authenticatedUser,$nickname,$this->provider_name);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user