diff options
author | Pierre Schmitz <pierre@archlinux.de> | 2015-12-17 09:15:42 +0100 |
---|---|---|
committer | Pierre Schmitz <pierre@archlinux.de> | 2015-12-17 09:44:51 +0100 |
commit | a1789ddde42033f1b05cc4929491214ee6e79383 (patch) | |
tree | 63615735c4ddffaaabf2428946bb26f90899f7bf /includes/specialpage/RedirectSpecialPage.php | |
parent | 9e06a62f265e3a2aaabecc598d4bc617e06fa32d (diff) |
Update to MediaWiki 1.26.0
Diffstat (limited to 'includes/specialpage/RedirectSpecialPage.php')
-rw-r--r-- | includes/specialpage/RedirectSpecialPage.php | 33 |
1 files changed, 21 insertions, 12 deletions
diff --git a/includes/specialpage/RedirectSpecialPage.php b/includes/specialpage/RedirectSpecialPage.php index 2e6e55a7..9129ee5d 100644 --- a/includes/specialpage/RedirectSpecialPage.php +++ b/includes/specialpage/RedirectSpecialPage.php @@ -33,8 +33,11 @@ abstract class RedirectSpecialPage extends UnlistedSpecialPage { // Query parameters added by redirects protected $mAddedRedirectParams = array(); - public function execute( $par ) { - $redirect = $this->getRedirect( $par ); + /** + * @param string|null $subpage + */ + public function execute( $subpage ) { + $redirect = $this->getRedirect( $subpage ); $query = $this->getRedirectQuery(); // Redirect to a page title with possible query parameters if ( $redirect instanceof Title ) { @@ -58,22 +61,24 @@ abstract class RedirectSpecialPage extends UnlistedSpecialPage { * If the special page is a redirect, then get the Title object it redirects to. * False otherwise. * - * @param string $par Subpage string + * @param string|null $subpage * @return Title|bool */ - abstract public function getRedirect( $par ); + abstract public function getRedirect( $subpage ); /** * 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 ) { @@ -112,12 +117,16 @@ abstract class SpecialRedirectToSpecial extends RedirectSpecialPage { $this->mAddedRedirectParams = $addedRedirectParams; } + /** + * @param string|null $subpage + * @return Title|bool + */ public function getRedirect( $subpage ) { if ( $this->redirSubpage === false ) { return SpecialPage::getTitleFor( $this->redirName, $subpage ); - } else { - return SpecialPage::getTitleFor( $this->redirName, $this->redirSubpage ); } + + return SpecialPage::getTitleFor( $this->redirName, $this->redirSubpage ); } } @@ -140,11 +149,11 @@ abstract class SpecialRedirectToSpecial extends RedirectSpecialPage { * - limit, offset: Useful for linking to history of one's own user page or * user talk page. For example, this would be a link to "the last edit to your * user talk page in the year 2010": - * http://en.wikipedia.org/wiki/Special:MyPage?offset=20110000000000&limit=1&action=history + * https://en.wikipedia.org/wiki/Special:MyPage?offset=20110000000000&limit=1&action=history * * - feed: would allow linking to the current user's RSS feed for their user * talk page: - * http://en.wikipedia.org/w/index.php?title=Special:MyTalk&action=history&feed=rss + * https://en.wikipedia.org/w/index.php?title=Special:MyTalk&action=history&feed=rss * * - preloadtitle: Can be used to provide a default section title for a * preloaded new comment on one's own talk page. @@ -159,7 +168,7 @@ abstract class SpecialRedirectToSpecial extends RedirectSpecialPage { * - redlink: Affects the message the user sees if their talk page/user talk * page does not currently exist. Avoids confusion for newbies with no user * pages over why they got a "permission error" following this link: - * http://en.wikipedia.org/w/index.php?title=Special:MyPage&redlink=1 + * https://en.wikipedia.org/w/index.php?title=Special:MyPage&redlink=1 * * - debug: determines whether the debug parameter is passed to load.php, * which disables reformatting and allows scripts to be debugged. Useful @@ -198,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', ); |