Fixed sporatic problem with logout.
This commit is contained in:
parent
4186dd2691
commit
f841dd6af4
|
@ -120,22 +120,28 @@ class FBConnectPlugin extends Plugin
|
||||||
$apikey = common_config('facebook', 'apikey');
|
$apikey = common_config('facebook', 'apikey');
|
||||||
$plugin_path = common_path('plugins/FBConnect');
|
$plugin_path = common_path('plugins/FBConnect');
|
||||||
|
|
||||||
$url = common_get_returnto();
|
$login_url = common_get_returnto();
|
||||||
|
|
||||||
if ($url) {
|
if ($login_url) {
|
||||||
// We don't have to return to it again
|
// We don't have to return to it again
|
||||||
common_set_returnto(null);
|
common_set_returnto(null);
|
||||||
} else {
|
} else {
|
||||||
$url = common_local_url('public');
|
$url = common_local_url('public');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$logout_url = common_local_url('logout');
|
||||||
|
|
||||||
$html = sprintf('<script type="text/javascript">FB.init("%s", "%s/xd_receiver.htm");
|
$html = sprintf('<script type="text/javascript">FB.init("%s", "%s/xd_receiver.htm");
|
||||||
|
|
||||||
function refresh_page() {
|
function goto_login() {
|
||||||
window.location = "%s";
|
window.location = "%s";
|
||||||
}
|
}
|
||||||
|
|
||||||
</script>', $apikey, $plugin_path, $url);
|
function goto_logout() {
|
||||||
|
window.location = "%s";
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>', $apikey, $plugin_path, $login_url, $logout_url);
|
||||||
|
|
||||||
|
|
||||||
$action->raw($html);
|
$action->raw($html);
|
||||||
|
@ -170,8 +176,8 @@ class FBConnectPlugin extends Plugin
|
||||||
$text = _('Logout');
|
$text = _('Logout');
|
||||||
|
|
||||||
$html = sprintf('<li id="nav_logout"><a href="%s" title="%s" ' .
|
$html = sprintf('<li id="nav_logout"><a href="%s" title="%s" ' .
|
||||||
'onclick="FB.Connect.logoutAndRedirect(\'%s\')">%s</a></li>',
|
'onclick="FB.Connect.logout(function() { goto_logout() })">%s</a></li>',
|
||||||
$logout_url, $title, $logout_url, $text);
|
$logout_url, $title, $text);
|
||||||
|
|
||||||
$action->raw($html);
|
$action->raw($html);
|
||||||
|
|
||||||
|
@ -198,7 +204,7 @@ class FBConnectPlugin extends Plugin
|
||||||
|
|
||||||
if (!$user) {
|
if (!$user) {
|
||||||
$action->elementStart('li');
|
$action->elementStart('li');
|
||||||
$action->element('fb:login-button', array('onlogin' => 'refresh_page()',
|
$action->element('fb:login-button', array('onlogin' => 'goto_login()',
|
||||||
'length' => 'long'));
|
'length' => 'long'));
|
||||||
$action->elementEnd('li');
|
$action->elementEnd('li');
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user