diff options
author | Pierre Schmitz <pierre@archlinux.de> | 2015-12-20 09:00:55 +0100 |
---|---|---|
committer | Pierre Schmitz <pierre@archlinux.de> | 2015-12-20 09:00:55 +0100 |
commit | a2190ac74dd4d7080b12bab90e552d7aa81209ef (patch) | |
tree | 8b31f38de9882d18df54cf8d9e0de74167a094eb /includes/specials/SpecialMyLanguage.php | |
parent | 15e69f7b20b6596b9148030acce5b59993b95a45 (diff) | |
parent | 257401d8b2cf661adf36c84b0e3fd1cf85e33c22 (diff) |
Merge branch 'mw-1.26'
Diffstat (limited to 'includes/specials/SpecialMyLanguage.php')
-rw-r--r-- | includes/specials/SpecialMyLanguage.php | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/includes/specials/SpecialMyLanguage.php b/includes/specials/SpecialMyLanguage.php index 9d4f6167..d11fbe63 100644 --- a/includes/specials/SpecialMyLanguage.php +++ b/includes/specials/SpecialMyLanguage.php @@ -41,11 +41,11 @@ class SpecialMyLanguage extends RedirectSpecialArticle { * If the special page is a redirect, then get the Title object it redirects to. * False otherwise. * - * @param string $par Subpage string - * @return Title|bool + * @param string|null $subpage + * @return Title */ - public function getRedirect( $par ) { - $title = $this->findTitle( $par ); + public function getRedirect( $subpage ) { + $title = $this->findTitle( $subpage ); // Go to the main page if given invalid title. if ( !$title ) { $title = Title::newMainPage(); @@ -59,18 +59,22 @@ class SpecialMyLanguage extends RedirectSpecialArticle { * it returns Page/fi if it exists, otherwise Page/de if it exists, * otherwise Page. * - * @param string $par + * @param string|null $subpage * @return Title|null */ - public function findTitle( $par ) { + public function findTitle( $subpage ) { // base = title without language code suffix // provided = the title as it was given - $base = $provided = Title::newFromText( $par ); + $base = $provided = null; + if ( $subpage !== null ) { + $provided = Title::newFromText( $subpage ); + $base = $provided; + } - if ( $base && strpos( $par, '/' ) !== false ) { - $pos = strrpos( $par, '/' ); - $basepage = substr( $par, 0, $pos ); - $code = substr( $par, $pos + 1 ); + if ( $provided && strpos( $subpage, '/' ) !== false ) { + $pos = strrpos( $subpage, '/' ); + $basepage = substr( $subpage, 0, $pos ); + $code = substr( $subpage, $pos + 1 ); if ( strlen( $code ) && Language::isKnownLanguageTag( $code ) ) { $base = Title::newFromText( $basepage ); } |