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;
|
return $profile;
|
||||||
}
|
}
|
||||||
|
|
||||||
function hasOpenID()
|
|
||||||
{
|
|
||||||
$oid = new User_openid();
|
|
||||||
|
|
||||||
$oid->user_id = $this->id;
|
|
||||||
|
|
||||||
$cnt = $oid->find();
|
|
||||||
|
|
||||||
return ($cnt > 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
function getDesign()
|
function getDesign()
|
||||||
{
|
{
|
||||||
return Design::staticGet('id', $this->design_id);
|
return Design::staticGet('id', $this->design_id);
|
||||||
|
@ -78,12 +78,8 @@ class SettingsAction extends CurrentUserDesignAction
|
|||||||
common_set_returnto($this->selfUrl());
|
common_set_returnto($this->selfUrl());
|
||||||
$user = common_current_user();
|
$user = common_current_user();
|
||||||
if (Event::handle('RedirectToLogin', array($this, $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') {
|
} else if ($_SERVER['REQUEST_METHOD'] == 'POST') {
|
||||||
$this->handlePost();
|
$this->handlePost();
|
||||||
} else {
|
} else {
|
||||||
|
@ -156,4 +156,19 @@ class OpenIDPlugin extends Plugin
|
|||||||
$action->element('meta', array('http-equiv' => 'X-XRDS-Location',
|
$action->element('meta', array('http-equiv' => 'X-XRDS-Location',
|
||||||
'content' => common_local_url('publicxrds')));
|
'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 */
|
/* the code above is auto generated do not remove the tag below */
|
||||||
###END_AUTOCODE
|
###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