From 4900ff27c0f352655e291c5275fc031b14ac9d18 Mon Sep 17 00:00:00 2001 From: Brad Jorsch Date: Mon, 19 Dec 2016 14:02:43 -0500 Subject: [PATCH] ApiMove: Fix fatal when attempting to move to a namespace with no talkpages The move will probably error out anyway, but we want it to do so properly instead of by throwing a PHP fatal. Bug: T153693 Change-Id: I19334a28a3f539e0f3d3866353093711f68786ee --- includes/api/ApiMove.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/includes/api/ApiMove.php b/includes/api/ApiMove.php index 7c8aa90ce9..18e582d637 100644 --- a/includes/api/ApiMove.php +++ b/includes/api/ApiMove.php @@ -59,7 +59,7 @@ class ApiMove extends ApiBase { if ( !$toTitle || $toTitle->isExternal() ) { $this->dieWithError( [ 'apierror-invalidtitle', wfEscapeWikiText( $params['to'] ) ] ); } - $toTalk = $toTitle->getTalkPage(); + $toTalk = $toTitle->canTalk() ? $toTitle->getTalkPage() : null; if ( $toTitle->getNamespace() == NS_FILE && !RepoGroup::singleton()->getLocalRepo()->findFile( $toTitle ) @@ -100,7 +100,7 @@ class ApiMove extends ApiBase { $r['moveoverredirect'] = $toTitleExists; // Move the talk page - if ( $params['movetalk'] && $fromTalk->exists() && !$fromTitle->isTalkPage() ) { + if ( $params['movetalk'] && $toTalk && $fromTalk->exists() && !$fromTitle->isTalkPage() ) { $toTalkExists = $toTalk->exists(); $status = $this->movePage( $fromTalk, $toTalk, $params['reason'], !$params['noredirect'] ); if ( $status->isOK() ) { -- 2.20.1