diff options
Diffstat (limited to 'includes/specials/SpecialUserlogout.php')
-rw-r--r-- | includes/specials/SpecialUserlogout.php | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/includes/specials/SpecialUserlogout.php b/includes/specials/SpecialUserlogout.php index 39b5b284..d747448f 100644 --- a/includes/specials/SpecialUserlogout.php +++ b/includes/specials/SpecialUserlogout.php @@ -1,6 +1,6 @@ <?php /** - * Implements Special:Upload + * Implements Special:Userlogout * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -33,31 +33,30 @@ class SpecialUserlogout extends UnlistedSpecialPage { } function execute( $par ) { - global $wgUser, $wgOut; - /** * Some satellite ISPs use broken precaching schemes that log people out straight after * they're logged in (bug 17790). Luckily, there's a way to detect such requests. */ if ( isset( $_SERVER['REQUEST_URI'] ) && strpos( $_SERVER['REQUEST_URI'], '&' ) !== false ) { wfDebug( "Special:Userlogout request {$_SERVER['REQUEST_URI']} looks suspicious, denying.\n" ); - wfHttpError( 400, wfMsg( 'loginerror' ), wfMsg( 'suspicious-userlogout' ) ); - return; + throw new HttpError( 400, wfMessage( 'suspicious-userlogout' ), wfMessage( 'loginerror' ) ); } $this->setHeaders(); $this->outputHeader(); - $oldName = $wgUser->getName(); - $wgUser->logout(); + $user = $this->getUser(); + $oldName = $user->getName(); + $user->logout(); - $wgOut->addWikiMsg( 'logouttext' ); + $out = $this->getOutput(); + $out->addWikiMsg( 'logouttext' ); // Hook. $injected_html = ''; - wfRunHooks( 'UserLogoutComplete', array( &$wgUser, &$injected_html, $oldName ) ); - $wgOut->addHTML( $injected_html ); + wfRunHooks( 'UserLogoutComplete', array( &$user, &$injected_html, $oldName ) ); + $out->addHTML( $injected_html ); - $wgOut->returnToMain(); + $out->returnToMain(); } } |