# Protect the redirect title as the title used to be...
$res = $dbw->select(
'page_restrictions',
- '*',
+ [ 'pr_type', 'pr_level', 'pr_cascade', 'pr_user', 'pr_expiry' ],
[ 'pr_page' => $pageid ],
__METHOD__,
'FOR UPDATE'
* @throws MWException
*/
private function moveToInternal( User $user, &$nt, $reason = '', $createRedirect = true,
- array $changeTags = [] ) {
-
- global $wgContLang;
+ array $changeTags = []
+ ) {
if ( $nt->exists() ) {
$moveOverRedirect = true;
$logType = 'move_redir';
$overwriteMessage = wfMessage(
'delete_and_move_reason',
$this->oldTitle->getPrefixedText()
- )->text();
+ )->inContentLanguage()->text();
$newpage = WikiPage::factory( $nt );
$errs = [];
$status = $newpage->doDeleteArticleReal(
$defaultContentModelChanging = ( $oldDefault !== $newDefault
&& $oldDefault === $contentModel );
- // bug 57084: log_page should be the ID of the *moved* page
+ // T59084: log_page should be the ID of the *moved* page
$oldid = $this->oldTitle->getArticleID();
$logTitle = clone $this->oldTitle;
$logEntry->setComment( $reason );
$logEntry->setParameters( [
'4::target' => $nt->getPrefixedText(),
- '5::noredir' => $redirectContent ? '0': '1',
+ '5::noredir' => $redirectContent ? '0' : '1',
] );
$formatter = LogFormatter::newFromEntry( $logEntry );
if ( $reason ) {
$comment .= wfMessage( 'colon-separator' )->inContentLanguage()->text() . $reason;
}
- # Truncate for whole multibyte characters.
- $comment = $wgContLang->truncate( $comment, 255 );
$dbw = wfGetDB( DB_MASTER );
);
if ( !$redirectContent ) {
- // Clean up the old title *before* reset article id - bug 45348
+ // Clean up the old title *before* reset article id - T47348
WikiPage::onArticleDelete( $this->oldTitle );
}
$this->oldTitle->resetArticleID( 0 ); // 0 == non existing
$nt->resetArticleID( $oldid );
- $newpage->loadPageData( WikiPage::READ_LOCKING ); // bug 46397
+ $newpage->loadPageData( WikiPage::READ_LOCKING ); // T48397
$newpage->updateRevisionOn( $dbw, $nullRevision );
# Recreate the redirect, this time in the other direction.
if ( $redirectContent ) {
$redirectArticle = WikiPage::factory( $this->oldTitle );
- $redirectArticle->loadFromRow( false, WikiPage::READ_LOCKING ); // bug 46397
+ $redirectArticle->loadFromRow( false, WikiPage::READ_LOCKING ); // T48397
$newid = $redirectArticle->insertOn( $dbw );
if ( $newid ) { // sanity
$this->oldTitle->resetArticleID( $newid );
$redirectArticle->doEditUpdates( $redirectRevision, $user, [ 'created' => true ] );
- ChangeTags::addTags( $changeTags, null, $redirectRevId, null );
+ // make a copy because of log entry below
+ $redirectTags = $changeTags;
+ if ( in_array( 'mw-new-redirect', ChangeTags::getSoftwareTags() ) ) {
+ $redirectTags[] = 'mw-new-redirect';
+ }
+ ChangeTags::addTags( $redirectTags, null, $redirectRevId, null );
}
}