X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fspecials%2FSpecialMovepage.php;h=b561e5b61c7384313519a6788721938eb5ec8caa;hb=a9164f143a59a8d957a1d7f205715ac57fff3c8c;hp=599ab31135c9d6a462ea5e49a7216d39ffec046e;hpb=d24cb5054ca51282c82db63cc78fc99d2e23dbbf;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/specials/SpecialMovepage.php b/includes/specials/SpecialMovepage.php index 599ab31135..b561e5b61c 100644 --- a/includes/specials/SpecialMovepage.php +++ b/includes/specials/SpecialMovepage.php @@ -21,6 +21,8 @@ * @ingroup SpecialPage */ +use MediaWiki\MediaWikiServices; + /** * A special page that allows users to change page titles * @@ -75,7 +77,7 @@ class MovePageForm extends UnlistedSpecialPage { $this->outputHeader(); $request = $this->getRequest(); - $target = !is_null( $par ) ? $par : $request->getVal( 'target' ); + $target = $par ?? $request->getVal( 'target' ); // Yes, the use of getVal() and getText() is wanted, see T22365 @@ -297,7 +299,7 @@ class MovePageForm extends UnlistedSpecialPage { $immovableNamespaces = []; foreach ( array_keys( $this->getLanguage()->getNamespaces() ) as $nsId ) { - if ( !MWNamespace::isMovable( $nsId ) ) { + if ( !MediaWikiServices::getInstance()->getNamespaceInfo()->isMovable( $nsId ) ) { $immovableNamespaces[] = $nsId; } } @@ -333,14 +335,12 @@ class MovePageForm extends UnlistedSpecialPage { // HTML maxlength uses "UTF-16 code units", which means that characters outside BMP // (e.g. emojis) count for two each. This limit is overridden in JS to instead count - // Unicode codepoints (or 255 UTF-8 bytes for old schema). - $conf = $this->getConfig(); - $oldCommentSchema = $conf->get( 'CommentTableSchemaMigrationStage' ) === MIGRATION_OLD; + // Unicode codepoints. $fields[] = new OOUI\FieldLayout( new OOUI\TextInputWidget( [ 'name' => 'wpReason', 'id' => 'wpReason', - 'maxLength' => $oldCommentSchema ? 200 : CommentStore::COMMENT_CHARACTER_LIMIT, + 'maxLength' => CommentStore::COMMENT_CHARACTER_LIMIT, 'infusable' => true, 'value' => $this->reason, ] ), @@ -593,21 +593,12 @@ class MovePageForm extends UnlistedSpecialPage { # Do the actual move. $mp = new MovePage( $ot, $nt ); - $valid = $mp->isValidMove(); - if ( !$valid->isOK() ) { - $this->showForm( $valid->getErrorsArray() ); - return; - } - $permStatus = $mp->checkPermissions( $user, $this->reason ); - if ( !$permStatus->isOK() ) { - $this->showForm( $permStatus->getErrorsArray(), true ); - return; - } + $userPermitted = $mp->checkPermissions( $user, $this->reason )->isOK(); - $status = $mp->move( $user, $this->reason, $createRedirect ); + $status = $mp->moveIfAllowed( $user, $this->reason, $createRedirect ); if ( !$status->isOK() ) { - $this->showForm( $status->getErrorsArray() ); + $this->showForm( $status->getErrorsArray(), !$userPermitted ); return; } @@ -675,11 +666,12 @@ class MovePageForm extends UnlistedSpecialPage { */ // @todo FIXME: Use Title::moveSubpages() here + $nsInfo = MediaWikiServices::getInstance()->getNamespaceInfo(); $dbr = wfGetDB( DB_MASTER ); if ( $this->moveSubpages && ( - MWNamespace::hasSubpages( $nt->getNamespace() ) || ( + $nsInfo->hasSubpages( $nt->getNamespace() ) || ( $this->moveTalk - && MWNamespace::hasSubpages( $nt->getTalkPage()->getNamespace() ) + && $nsInfo->hasSubpages( $nt->getTalkPage()->getNamespace() ) ) ) ) { $conds = [ @@ -687,11 +679,11 @@ class MovePageForm extends UnlistedSpecialPage { . ' OR page_title = ' . $dbr->addQuotes( $ot->getDBkey() ) ]; $conds['page_namespace'] = []; - if ( MWNamespace::hasSubpages( $nt->getNamespace() ) ) { + if ( $nsInfo->hasSubpages( $nt->getNamespace() ) ) { $conds['page_namespace'][] = $ot->getNamespace(); } if ( $this->moveTalk && - MWNamespace::hasSubpages( $nt->getTalkPage()->getNamespace() ) + $nsInfo->hasSubpages( $nt->getTalkPage()->getNamespace() ) ) { $conds['page_namespace'][] = $ot->getTalkPage()->getNamespace(); } @@ -810,7 +802,8 @@ class MovePageForm extends UnlistedSpecialPage { * @param Title $title Page being moved. */ function showSubpages( $title ) { - $nsHasSubpages = MWNamespace::hasSubpages( $title->getNamespace() ); + $nsHasSubpages = MediaWikiServices::getInstance()->getNamespaceInfo()-> + hasSubpages( $title->getNamespace() ); $subpages = $title->getSubpages(); $count = $subpages instanceof TitleArray ? $subpages->count() : 0;