From 5248dfa7ad189f6ea7581e6dd350afcc4bb1fe17 Mon Sep 17 00:00:00 2001 From: Erik Bernhardson Date: Thu, 26 Feb 2015 16:19:27 -0800 Subject: [PATCH] Gracefully handle redirects in SpecialMyLanguage Currently if you have a link that goes through SpecialMyLanguage and that page is redirected you will no longer get it in your language. This adjusts to follow redirects before resolving language. Bug: T58036 Change-Id: I88fcfeb86d81a33a8eccc6119693c2ecb857afb2 --- includes/specials/SpecialMyLanguage.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/includes/specials/SpecialMyLanguage.php b/includes/specials/SpecialMyLanguage.php index 71b18930c8..6cea15818c 100644 --- a/includes/specials/SpecialMyLanguage.php +++ b/includes/specials/SpecialMyLanguage.php @@ -80,6 +80,11 @@ 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 !== $this->getConfig()->get( 'LanguageCode' ) && $proposed && $proposed->exists() ) { -- 2.20.1