try to clear openid url cookie better

darcs-hash:20080619183238-84dde-dbe912a40894ec7414e6d5ea0bc40ec527385436.gz
This commit is contained in:
Evan Prodromou 2008-06-19 14:32:38 -04:00
parent aabac60b6e
commit 480ca70dc8
2 changed files with 22 additions and 9 deletions

View File

@ -27,8 +27,8 @@ class LogoutAction extends Action {
if (!common_logged_in()) { if (!common_logged_in()) {
common_user_error(_t('Not logged in.')); common_user_error(_t('Not logged in.'));
} else { } else {
common_set_user(NULL);
oid_clear_last(); oid_clear_last();
common_set_user(NULL);
common_redirect(common_local_url('public')); common_redirect(common_local_url('public'));
} }
} }

View File

@ -49,21 +49,34 @@ function oid_consumer() {
} }
function oid_clear_last() { function oid_clear_last() {
if (oid_get_last()) { oid_set_last('');
oid_set_last('');
}
} }
function oid_set_last($openid_url) { function oid_set_last($openid_url) {
global $config;
setcookie(OPENID_COOKIE_KEY, $openid_url, $path = common_config('site', 'path');
$server = common_config('site', 'server');
if ($path && ($path != '/')) {
$cookiepath = '/' . $path . '/';
} else {
$cookiepath = '/';
}
setcookie(OPENID_COOKIE_KEY,
$openid_url,
time() + OPENID_COOKIE_EXPIRY, time() + OPENID_COOKIE_EXPIRY,
'/' . $config['site']['path'] . '/', $cookiepath,
$config['site']['server']); $server);
} }
function oid_get_last() { function oid_get_last() {
return $_COOKIE[OPENID_COOKIE_KEY]; $openid_url = $_COOKIE[OPENID_COOKIE_KEY];
if ($openid_url && strlen($openid_url) > 0) {
return $openid_url;
} else {
return NULL;
}
} }
function oid_link_user($id, $canonical, $display) { function oid_link_user($id, $canonical, $display) {