move redirect-to-openid code to OpenID plugin

This commit is contained in:
Evan Prodromou
2009-08-04 13:17:43 -04:00
parent 000e21be19
commit 622c0b24c3
4 changed files with 28 additions and 17 deletions

View File

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

View File

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