From 0ef74abc2d4bdb97a589231046933f1a70671fe3 Mon Sep 17 00:00:00 2001 From: Piotr Miazga Date: Sat, 27 Apr 2019 00:09:23 +0200 Subject: [PATCH] Improve Community Main Menu element handling The Commmunity Portal main menu element should be handled same way as Skin::buildSideBar() does: - it should ignore "-" -> this is how editors disable the link - it should use inContentLanguage() to properly support different languages Bug: T216152 Change-Id: I41b2373fd1b55d9d4beaba60eeb362e6188d24de --- includes/menu/Definitions.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/includes/menu/Definitions.php b/includes/menu/Definitions.php index 6fd1797..66c04fd 100644 --- a/includes/menu/Definitions.php +++ b/includes/menu/Definitions.php @@ -22,6 +22,7 @@ namespace MediaWiki\Minerva\Menu; use IContextSource; use MediaWiki\Special\SpecialPageFactory; +use Message; use MinervaUI; use MWException; use SpecialMobileWatchlist; @@ -298,8 +299,13 @@ final class Definitions { * @throws MWException */ public function insertCommunityPortal( Group $group ) { - $titleName = \MessageCache::singleton()->get( 'Portal-url' ); - if ( !$titleName || \Http::isValidURI( $titleName ) ) { + $message = new Message( 'Portal-url' ); + if ( !$message->exists() ) { + return; + } + $inContentLang = $message->inContentLanguage(); + $titleName = $inContentLang->plain(); + if ( $inContentLang->isDisabled() || \Http::isValidURI( $titleName ) ) { return; } $title = Title::newFromText( $titleName );