From: Glaisher Date: Tue, 9 Jun 2015 17:24:44 +0000 (+0500) Subject: Allow 'uselang', 'useskin', 'debug' as query parameters in RedirectSpecialPages X-Git-Tag: 1.31.0-rc.0~11098^2 X-Git-Url: http://git.cyclocoop.org/%7B%24www_url%7Dadmin/membres/fiche.php?a=commitdiff_plain;h=92dfd544b5c6da823c9fb01c32648249311391a5;p=lhc%2Fweb%2Fwiklou.git Allow 'uselang', 'useskin', 'debug' as query parameters in RedirectSpecialPages These are special cases which can be used in all these special pages so whitelist them. Also fixed error in documentation. Bug: T90390 Change-Id: Icc5e181533dc9825c877ccade4c80ea86ba19642 --- diff --git a/includes/specialpage/RedirectSpecialPage.php b/includes/specialpage/RedirectSpecialPage.php index a866ba7749..df1fa613f3 100644 --- a/includes/specialpage/RedirectSpecialPage.php +++ b/includes/specialpage/RedirectSpecialPage.php @@ -70,13 +70,15 @@ abstract class RedirectSpecialPage extends UnlistedSpecialPage { * Return part of the request string for a special redirect page * This allows passing, e.g. action=history to Special:Mypage, etc. * - * @return string + * @return array|bool */ public function getRedirectQuery() { $params = array(); $request = $this->getRequest(); - foreach ( $this->mAllowedRedirectParams as $arg ) { + foreach ( array_merge( $this->mAllowedRedirectParams, + array( 'uselang', 'useskin', 'debug' ) // parameters which can be passed to all pages + ) as $arg ) { if ( $request->getVal( $arg, null ) !== null ) { $params[$arg] = $request->getVal( $arg ); } elseif ( $request->getArray( $arg, null ) !== null ) { @@ -205,7 +207,7 @@ abstract class RedirectSpecialArticle extends RedirectSpecialPage { 'section', 'oldid', 'diff', 'dir', 'limit', 'offset', 'feed', # Misc options - 'redlink', 'debug', + 'redlink', # Options for action=raw; missing ctype can break JS or CSS in some browsers 'ctype', 'maxage', 'smaxage', );