From f190f7492a49a57fe7cc48083e2b50be5c9e5c7a Mon Sep 17 00:00:00 2001 From: Piotr Miazga Date: Tue, 9 Jul 2019 13:05:00 +0200 Subject: [PATCH] Hygiene: Do not insert Random menu entry if message do not exists The `randompage-url` message might not be defined, or be set to '-' which means - this text do not exist. Minerva should respect that, instead of showing a link that points nowhere/to a '-' page Bug: T188697 Change-Id: If97d29b0e25f3635e94bf3b80b051355ea49cf7d --- includes/menu/Definitions.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/includes/menu/Definitions.php b/includes/menu/Definitions.php index 4e0672b40..afdbdafef 100644 --- a/includes/menu/Definitions.php +++ b/includes/menu/Definitions.php @@ -142,11 +142,13 @@ final class Definitions { * @throws MWException */ public function insertRandomItem( Group $group ) { - $page = $this->context->msg( 'randompage-url' )->escaped(); - // Random link + $pageMsg = new Message( 'randompage-url' ); + if ( !$pageMsg->exists() ) { + return; + } $group->insert( 'random' ) ->addComponent( $this->context->msg( 'mobile-frontend-random-button' )->escaped(), - Title::newFromText( $page )->getLocalURL() . '#/random', + Title::newFromText( $pageMsg->escaped() )->getLocalURL() . '#/random', MinervaUI::iconClass( 'random', 'before' ), [ 'id' => 'randomButton', 'data-event-name' => 'random',