forked from GNUsocial/gnu-social
move redirect-to-openid code to OpenID plugin
This commit is contained in:
parent
000e21be19
commit
622c0b24c3
@ -670,17 +670,6 @@ class User extends Memcached_DataObject
|
||||
return $profile;
|
||||
}
|
||||
|
||||
function hasOpenID()
|
||||
{
|
||||
$oid = new User_openid();
|
||||
|
||||
$oid->user_id = $this->id;
|
||||
|
||||
$cnt = $oid->find();
|
||||
|
||||
return ($cnt > 0);
|
||||
}
|
||||
|
||||
function getDesign()
|
||||
{
|
||||
return Design::staticGet('id', $this->design_id);
|
||||
|
@ -78,11 +78,7 @@ class SettingsAction extends CurrentUserDesignAction
|
||||
common_set_returnto($this->selfUrl());
|
||||
$user = common_current_user();
|
||||
if (Event::handle('RedirectToLogin', array($this, $user))) {
|
||||
if ($user->hasOpenID()) {
|
||||
common_redirect(common_local_url('openidlogin'), 303);
|
||||
} else {
|
||||
common_redirect(common_local_url('login'), 303);
|
||||
}
|
||||
common_redirect(common_local_url('login'), 303);
|
||||
}
|
||||
} else if ($_SERVER['REQUEST_METHOD'] == 'POST') {
|
||||
$this->handlePost();
|
||||
|
@ -156,4 +156,19 @@ class OpenIDPlugin extends Plugin
|
||||
$action->element('meta', array('http-equiv' => 'X-XRDS-Location',
|
||||
'content' => common_local_url('publicxrds')));
|
||||
}
|
||||
|
||||
/**
|
||||
* Redirect to OpenID login if they have an OpenID
|
||||
*
|
||||
* @return boolean whether to continue
|
||||
*/
|
||||
|
||||
function onRedirectToLogin($action, $user)
|
||||
{
|
||||
if (!empty($user) && User_openid::hasOpenID($user->id)) {
|
||||
common_redirect(common_local_url('openidlogin'), 303);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -22,4 +22,15 @@ class User_openid extends Memcached_DataObject
|
||||
|
||||
/* the code above is auto generated do not remove the tag below */
|
||||
###END_AUTOCODE
|
||||
|
||||
static function hasOpenID($user_id)
|
||||
{
|
||||
$oid = new User_openid();
|
||||
|
||||
$oid->user_id = $user_id;
|
||||
|
||||
$cnt = $oid->find();
|
||||
|
||||
return ($cnt > 0);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user