Merge "Removed old HTMLCacheUpdateJob b/c code"
[lhc/web/wiklou.git] / includes / specials / SpecialMyLanguage.php
index cef0411..6cea158 100644 (file)
@@ -63,7 +63,6 @@ class SpecialMyLanguage extends RedirectSpecialArticle {
         * @return Title|null
         */
        public function findTitle( $par ) {
-               global $wgLanguageCode;
                // base = title without language code suffix
                // provided = the title as it was given
                $base = $provided = Title::newFromText( $par );
@@ -72,7 +71,7 @@ class SpecialMyLanguage extends RedirectSpecialArticle {
                        $pos = strrpos( $par, '/' );
                        $basepage = substr( $par, 0, $pos );
                        $code = substr( $par, $pos + 1 );
-                       if ( Language::isKnownLanguageTag( $code ) ) {
+                       if ( strlen( $code ) && Language::isKnownLanguageTag( $code ) ) {
                                $base = Title::newFromText( $basepage );
                        }
                }
@@ -81,9 +80,14 @@ class SpecialMyLanguage extends RedirectSpecialArticle {
                        return null;
                }
 
+               if ( $base->isRedirect() ) {
+                       $page = new WikiPage( $base );
+                       $base = $page->getRedirectTarget();
+               }
+
                $uiCode = $this->getLanguage()->getCode();
                $proposed = $base->getSubpage( $uiCode );
-               if ( $uiCode !== $wgLanguageCode && $proposed && $proposed->exists() ) {
+               if ( $uiCode !== $this->getConfig()->get( 'LanguageCode' ) && $proposed && $proposed->exists() ) {
                        return $proposed;
                } elseif ( $provided && $provided->exists() ) {
                        return $provided;