From 3b13e6b9f6cb8ded2bc23af494ae18755006aeee Mon Sep 17 00:00:00 2001 From: Piotr Miazga Date: Fri, 2 Aug 2019 16:49:11 +0200 Subject: [PATCH] Hygiene: remove deprecated calls from Menu system Changes: - Title::getTalkPage() is deprecated, use NamespaceInfo instead - Http::isValidURI is deprecated, use MWHttpRequest instead Change-Id: I6938fe93d18372ef855f398a506c8b5ba68b640e --- includes/menu/Definitions.php | 3 ++- .../menu/User/AdvancedUserMenuBuilder.php | 20 ++++++++++--------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/includes/menu/Definitions.php b/includes/menu/Definitions.php index e41735d..dd4cd2d 100644 --- a/includes/menu/Definitions.php +++ b/includes/menu/Definitions.php @@ -30,6 +30,7 @@ use MediaWiki\Minerva\Menu\Entries\SingleMenuEntry; use Message; use MinervaUI; use MWException; +use MWHttpRequest; use SpecialMobileWatchlist; use SpecialPage; use Title; @@ -302,7 +303,7 @@ final class Definitions { } $inContentLang = $message->inContentLanguage(); $titleName = $inContentLang->plain(); - if ( $inContentLang->isDisabled() || \Http::isValidURI( $titleName ) ) { + if ( $inContentLang->isDisabled() || MWHttpRequest::isValidURI( $titleName ) ) { return; } $title = Title::newFromText( $titleName ); diff --git a/includes/menu/User/AdvancedUserMenuBuilder.php b/includes/menu/User/AdvancedUserMenuBuilder.php index 3ef3792..b180dd7 100644 --- a/includes/menu/User/AdvancedUserMenuBuilder.php +++ b/includes/menu/User/AdvancedUserMenuBuilder.php @@ -68,15 +68,17 @@ final class AdvancedUserMenuBuilder implements IUserMenuBuilder { public function getGroup( array $personalTools ): Group { $group = new Group(); $group->insertEntry( new ProfileMenuEntry( $this->user ) ); - $group->insertEntry( new SingleMenuEntry( - 'userTalk', - $this->messageLocalizer->msg( 'mobile-frontend-user-page-talk' )->escaped(), - $this->user->getUserPage()->getTalkPage()->getLocalURL(), - true, - null, - 'before', - 'wikimedia-ui-userTalk-base20' - ) ); + $talkPage = $this->user->getUserPage()->getTalkPageIfDefined(); + if ( $talkPage ) { + $group->insertEntry( new SingleMenuEntry( 'userTalk', + $this->messageLocalizer->msg( 'mobile-frontend-user-page-talk' )->escaped(), + $talkPage->getLocalURL(), + true, + null, + 'before', + 'wikimedia-ui-userTalk-base20' + ) ); + } $sandbox = $personalTools['sandbox']['links'][0] ?? false; if ( $sandbox ) {