GitHost.io will be shut down on June 1, 2019. At that point this instance will be unreachable and all data will be irrevocably deleted. More details at https://about.gitlab.com/gitlab-hosted/#githost-is-shutting-down-on-june-1st-2019

Commit 622c0b24 authored by Evan Prodromou's avatar Evan Prodromou

move redirect-to-openid code to OpenID plugin

parent 000e21be
......@@ -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;
}
}
......@@ -4,7 +4,7 @@
*/
require_once INSTALLDIR.'/classes/Memcached_DataObject.php';
class User_openid extends Memcached_DataObject
class User_openid extends Memcached_DataObject
{
###START_AUTOCODE
/* the code below is auto generated do not remove the above tag */
......@@ -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);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment