];
$titleObj = $newTitle;
+
+ // T239428: Check whether the new title is valid
+ if ( $titleObj->isExternal() || !$titleObj->canExist() ) {
+ $redirValues[count( $redirValues ) - 1]['to'] = $titleObj->getFullText();
+ $this->dieWithError(
+ [
+ 'apierror-edit-invalidredirect',
+ Message::plaintextParam( $oldTitle->getPrefixedText() ),
+ Message::plaintextParam( $titleObj->getFullText() ),
+ ],
+ 'edit-invalidredirect',
+ [ 'redirects' => $redirValues ]
+ );
+ }
}
ApiResult::setIndexedTagName( $redirValues, 'r' );