X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=includes%2Fapi%2FApiEditPage.php;h=ad8951ad9bf00be1f9132dbdf71323f1349efb60;hb=a3a7176b6539f97d4f723aaacc20f0c18a48bc1d;hp=83f72e54c12c0645f734f8b4bfb9cd422182095e;hpb=66c91ac85b26c042b3d07255d1d7954be507699b;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/api/ApiEditPage.php b/includes/api/ApiEditPage.php index 83f72e54c1..ad8951ad9b 100644 --- a/includes/api/ApiEditPage.php +++ b/includes/api/ApiEditPage.php @@ -70,6 +70,20 @@ class ApiEditPage extends ApiBase { ]; $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' );