From 339211a1ead82c145fd09ae963ac08e74d40292c Mon Sep 17 00:00:00 2001 From: Derick Alangi Date: Sun, 21 Jul 2019 14:18:14 +0100 Subject: [PATCH] Avoid usage of deprecated Revision::* constants, use RevisionRecord Change-Id: I872fc89e5c02dd6a3ae9cd7e76640b95dc33f514 --- includes/EditPage.php | 15 ++++---- includes/Linker.php | 37 ++++++++++--------- includes/Title.php | 14 ++++--- includes/actions/pagers/HistoryPager.php | 15 +++++--- includes/api/ApiEditPage.php | 6 ++- includes/api/ApiParse.php | 11 +++--- includes/api/ApiQueryDeletedrevs.php | 23 ++++++------ includes/changes/CategoryMembershipChange.php | 9 +++-- includes/changes/ChangesFeed.php | 3 +- includes/changes/ChangesList.php | 11 +++--- includes/changes/EnhancedChangesList.php | 9 +++-- includes/changes/RCCacheEntryFactory.php | 7 ++-- includes/changetags/ChangeTagsLogItem.php | 5 ++- includes/content/ContentHandler.php | 3 +- includes/diff/DifferenceEngine.php | 26 ++++++------- includes/export/WikiExporter.php | 3 +- includes/export/XmlDumpWriter.php | 8 ++-- .../filerepo/file/LocalFileDeleteBatch.php | 3 +- includes/logging/DeleteLogFormatter.php | 10 +++-- includes/page/Article.php | 16 ++++---- includes/page/WikiPage.php | 8 ++-- .../ResourceLoaderWikiModule.php | 3 +- .../revisiondelete/RevDelArchivedFileItem.php | 10 +++-- includes/revisiondelete/RevDelFileItem.php | 14 ++++--- .../revisiondelete/RevDelRevisionItem.php | 30 +++++++++------ .../revisiondelete/RevDelRevisionList.php | 3 +- .../revisiondelete/RevisionDeleteUser.php | 5 ++- includes/revisiondelete/RevisionDeleter.php | 12 +++--- includes/revisionlist/RevisionItem.php | 12 ++++-- includes/specials/SpecialMergeHistory.php | 6 ++- includes/specials/SpecialRevisionDelete.php | 8 ++-- includes/specials/SpecialUndelete.php | 14 +++---- includes/specials/pagers/ContribsPager.php | 16 +++++--- .../specials/pagers/DeletedContribsPager.php | 13 ++++--- .../watcheditem/WatchedItemQueryService.php | 5 ++- languages/LanguageConverter.php | 3 +- 36 files changed, 229 insertions(+), 167 deletions(-) diff --git a/includes/EditPage.php b/includes/EditPage.php index d27ef9c7a9..4f102aa93a 100644 --- a/includes/EditPage.php +++ b/includes/EditPage.php @@ -25,6 +25,7 @@ use MediaWiki\EditPage\TextboxBuilder; use MediaWiki\EditPage\TextConflictHelper; use MediaWiki\Logger\LoggerFactory; use MediaWiki\MediaWikiServices; +use MediaWiki\Storage\RevisionRecord; use Wikimedia\ScopedCallback; /** @@ -1222,8 +1223,8 @@ class EditPage { # the revisions exist and they were not deleted. # Otherwise, $content will be left as-is. if ( !is_null( $undorev ) && !is_null( $oldrev ) && - !$undorev->isDeleted( Revision::DELETED_TEXT ) && - !$oldrev->isDeleted( Revision::DELETED_TEXT ) + !$undorev->isDeleted( RevisionRecord::DELETED_TEXT ) && + !$oldrev->isDeleted( RevisionRecord::DELETED_TEXT ) ) { if ( WikiPage::hasDifferencesOutsideMainSlot( $undorev, $oldrev ) || !$this->isSupportedContentModel( $oldrev->getContentModel() ) @@ -1245,7 +1246,7 @@ class EditPage { } if ( $undoMsg === null ) { - $oldContent = $this->page->getContent( Revision::RAW ); + $oldContent = $this->page->getContent( RevisionRecord::RAW ); $popts = ParserOptions::newFromUserAndLang( $user, MediaWikiServices::getInstance()->getContentLanguage() ); $newContent = $content->preSaveTransform( $this->mTitle, $user, $popts ); @@ -1405,7 +1406,7 @@ class EditPage { */ protected function getCurrentContent() { $rev = $this->page->getRevision(); - $content = $rev ? $rev->getContent( Revision::RAW ) : null; + $content = $rev ? $rev->getContent( RevisionRecord::RAW ) : null; if ( $content === false || $content === null ) { $handler = ContentHandler::getForModelID( $this->contentModel ); @@ -1496,7 +1497,7 @@ class EditPage { } $parserOptions = ParserOptions::newFromUser( $user ); - $content = $page->getContent( Revision::RAW ); + $content = $page->getContent( RevisionRecord::RAW ); if ( !$content ) { // TODO: somehow show a warning to the user! @@ -3139,12 +3140,12 @@ ERROR; if ( $revision ) { // Let sysop know that this will make private content public if saved - if ( !$revision->userCan( Revision::DELETED_TEXT, $user ) ) { + if ( !$revision->userCan( RevisionRecord::DELETED_TEXT, $user ) ) { $out->wrapWikiMsg( "\n", 'rev-deleted-text-permission' ); - } elseif ( $revision->isDeleted( Revision::DELETED_TEXT ) ) { + } elseif ( $revision->isDeleted( RevisionRecord::DELETED_TEXT ) ) { $out->wrapWikiMsg( "\n", 'rev-deleted-text-view' diff --git a/includes/Linker.php b/includes/Linker.php index f20795d769..5b5337a7b8 100644 --- a/includes/Linker.php +++ b/includes/Linker.php @@ -21,6 +21,7 @@ */ use MediaWiki\Linker\LinkTarget; use MediaWiki\MediaWikiServices; +use MediaWiki\Storage\RevisionRecord; /** * Some internal bits split of from Skin.php. These functions are used @@ -1093,15 +1094,15 @@ class Linker { * @return string HTML fragment */ public static function revUserLink( $rev, $isPublic = false ) { - if ( $rev->isDeleted( Revision::DELETED_USER ) && $isPublic ) { + if ( $rev->isDeleted( RevisionRecord::DELETED_USER ) && $isPublic ) { $link = wfMessage( 'rev-deleted-user' )->escaped(); - } elseif ( $rev->userCan( Revision::DELETED_USER ) ) { - $link = self::userLink( $rev->getUser( Revision::FOR_THIS_USER ), - $rev->getUserText( Revision::FOR_THIS_USER ) ); + } elseif ( $rev->userCan( RevisionRecord::DELETED_USER ) ) { + $link = self::userLink( $rev->getUser( RevisionRecord::FOR_THIS_USER ), + $rev->getUserText( RevisionRecord::FOR_THIS_USER ) ); } else { $link = wfMessage( 'rev-deleted-user' )->escaped(); } - if ( $rev->isDeleted( Revision::DELETED_USER ) ) { + if ( $rev->isDeleted( RevisionRecord::DELETED_USER ) ) { return '' . $link . ''; } return $link; @@ -1116,11 +1117,11 @@ class Linker { * @return string HTML */ public static function revUserTools( $rev, $isPublic = false, $useParentheses = true ) { - if ( $rev->userCan( Revision::DELETED_USER ) && - ( !$rev->isDeleted( Revision::DELETED_USER ) || !$isPublic ) + if ( $rev->userCan( RevisionRecord::DELETED_USER ) && + ( !$rev->isDeleted( RevisionRecord::DELETED_USER ) || !$isPublic ) ) { - $userId = $rev->getUser( Revision::FOR_THIS_USER ); - $userText = $rev->getUserText( Revision::FOR_THIS_USER ); + $userId = $rev->getUser( RevisionRecord::FOR_THIS_USER ); + $userText = $rev->getUserText( RevisionRecord::FOR_THIS_USER ); if ( $userId || (string)$userText !== '' ) { $link = self::userLink( $userId, $userText ) . self::userToolLinks( $userId, $userText, false, 0, null, @@ -1132,7 +1133,7 @@ class Linker { $link = wfMessage( 'rev-deleted-user' )->escaped(); } - if ( $rev->isDeleted( Revision::DELETED_USER ) ) { + if ( $rev->isDeleted( RevisionRecord::DELETED_USER ) ) { return ' ' . $link . ''; } return $link; @@ -1571,18 +1572,18 @@ class Linker { public static function revComment( Revision $rev, $local = false, $isPublic = false, $useParentheses = true ) { - if ( $rev->getComment( Revision::RAW ) == "" ) { + if ( $rev->getComment( RevisionRecord::RAW ) == "" ) { return ""; } - if ( $rev->isDeleted( Revision::DELETED_COMMENT ) && $isPublic ) { + if ( $rev->isDeleted( RevisionRecord::DELETED_COMMENT ) && $isPublic ) { $block = " " . wfMessage( 'rev-deleted-comment' )->escaped() . ""; - } elseif ( $rev->userCan( Revision::DELETED_COMMENT ) ) { - $block = self::commentBlock( $rev->getComment( Revision::FOR_THIS_USER ), + } elseif ( $rev->userCan( RevisionRecord::DELETED_COMMENT ) ) { + $block = self::commentBlock( $rev->getComment( RevisionRecord::FOR_THIS_USER ), $rev->getTitle(), $local, null, $useParentheses ); } else { $block = " " . wfMessage( 'rev-deleted-comment' )->escaped() . ""; } - if ( $rev->isDeleted( Revision::DELETED_COMMENT ) ) { + if ( $rev->isDeleted( RevisionRecord::DELETED_COMMENT ) ) { return " $block"; } return $block; @@ -1875,10 +1876,10 @@ class Linker { $editCount = 0; $moreRevs = false; foreach ( $res as $row ) { - if ( $rev->getUserText( Revision::RAW ) != $row->rev_user_text ) { + if ( $rev->getUserText( RevisionRecord::RAW ) != $row->rev_user_text ) { if ( $verify && - ( $row->rev_deleted & Revision::DELETED_TEXT - || $row->rev_deleted & Revision::DELETED_USER + ( $row->rev_deleted & RevisionRecord::DELETED_TEXT + || $row->rev_deleted & RevisionRecord::DELETED_USER ) ) { // If the user or the text of the revision we might rollback // to is deleted in some way we can't rollback. Similar to diff --git a/includes/Title.php b/includes/Title.php index 95ccd9a456..12d66415ac 100644 --- a/includes/Title.php +++ b/includes/Title.php @@ -23,6 +23,7 @@ */ use MediaWiki\Permissions\PermissionManager; +use MediaWiki\Storage\RevisionRecord; use Wikimedia\Assert\Assert; use Wikimedia\Rdbms\Database; use Wikimedia\Rdbms\IDatabase; @@ -3947,17 +3948,18 @@ class Title implements LinkTarget, IDBAccessObject { if ( $old->getId() === $new->getId() ) { return ( $old_cmp === '>' && $new_cmp === '<' ) ? [] : - [ $old->getUserText( Revision::RAW ) ]; + [ $old->getUserText( RevisionRecord::RAW ) ]; } elseif ( $old->getId() === $new->getParentId() ) { if ( $old_cmp === '>=' && $new_cmp === '<=' ) { - $authors[] = $old->getUserText( Revision::RAW ); - if ( $old->getUserText( Revision::RAW ) != $new->getUserText( Revision::RAW ) ) { - $authors[] = $new->getUserText( Revision::RAW ); + $authors[] = $oldUserText = $old->getUserText( RevisionRecord::RAW ); + $newUserText = $new->getUserText( RevisionRecord::RAW ); + if ( $oldUserText != $newUserText ) { + $authors[] = $newUserText; } } elseif ( $old_cmp === '>=' ) { - $authors[] = $old->getUserText( Revision::RAW ); + $authors[] = $old->getUserText( RevisionRecord::RAW ); } elseif ( $new_cmp === '<=' ) { - $authors[] = $new->getUserText( Revision::RAW ); + $authors[] = $new->getUserText( RevisionRecord::RAW ); } return $authors; } diff --git a/includes/actions/pagers/HistoryPager.php b/includes/actions/pagers/HistoryPager.php index 99c57e1640..5ef6e77b31 100644 --- a/includes/actions/pagers/HistoryPager.php +++ b/includes/actions/pagers/HistoryPager.php @@ -22,6 +22,7 @@ */ use MediaWiki\MediaWikiServices; +use MediaWiki\Revision\RevisionRecord; /** * @ingroup Pager @@ -409,8 +410,8 @@ class HistoryPager extends ReverseChronologicalPager { } } - if ( !$rev->isDeleted( Revision::DELETED_TEXT ) - && !$prevRev->isDeleted( Revision::DELETED_TEXT ) + if ( !$rev->isDeleted( RevisionRecord::DELETED_TEXT ) + && !$prevRev->isDeleted( RevisionRecord::DELETED_TEXT ) ) { # Create undo tooltip for the first (=latest) line only $undoTooltip = $latest @@ -491,7 +492,9 @@ class HistoryPager extends ReverseChronologicalPager { function curLink( $rev ) { $cur = $this->historyPage->message['cur']; $latest = $this->getWikiPage()->getLatest(); - if ( $latest === $rev->getId() || !$rev->userCan( Revision::DELETED_TEXT, $this->getUser() ) ) { + if ( $latest === $rev->getId() + || !$rev->userCan( RevisionRecord::DELETED_TEXT, $this->getUser() ) + ) { return $cur; } else { return MediaWikiServices::getInstance()->getLinkRenderer()->makeKnownLink( @@ -539,8 +542,8 @@ class HistoryPager extends ReverseChronologicalPager { $nextRev = new Revision( $next, 0, $this->getTitle() ); - if ( !$prevRev->userCan( Revision::DELETED_TEXT, $this->getUser() ) - || !$nextRev->userCan( Revision::DELETED_TEXT, $this->getUser() ) + if ( !$prevRev->userCan( RevisionRecord::DELETED_TEXT, $this->getUser() ) + || !$nextRev->userCan( RevisionRecord::DELETED_TEXT, $this->getUser() ) ) { return $last; } @@ -579,7 +582,7 @@ class HistoryPager extends ReverseChronologicalPager { $checkmark = [ 'checked' => 'checked' ]; } else { # Check visibility of old revisions - if ( !$rev->userCan( Revision::DELETED_TEXT, $this->getUser() ) ) { + if ( !$rev->userCan( RevisionRecord::DELETED_TEXT, $this->getUser() ) ) { $radio['disabled'] = 'disabled'; $checkmark = []; // We will check the next possible one } elseif ( !$this->oldIdChecked ) { diff --git a/includes/api/ApiEditPage.php b/includes/api/ApiEditPage.php index 96aea040e5..f5442ec085 100644 --- a/includes/api/ApiEditPage.php +++ b/includes/api/ApiEditPage.php @@ -20,6 +20,8 @@ * @file */ +use MediaWiki\Storage\RevisionRecord; + /** * A module that allows for editing and creating pages. * @@ -193,14 +195,14 @@ class ApiEditPage extends ApiBase { $undoafterRev = Revision::newFromId( $params['undoafter'] ); } $undoRev = Revision::newFromId( $params['undo'] ); - if ( is_null( $undoRev ) || $undoRev->isDeleted( Revision::DELETED_TEXT ) ) { + if ( is_null( $undoRev ) || $undoRev->isDeleted( RevisionRecord::DELETED_TEXT ) ) { $this->dieWithError( [ 'apierror-nosuchrevid', $params['undo'] ] ); } if ( $params['undoafter'] == 0 ) { $undoafterRev = $undoRev->getPrevious(); } - if ( is_null( $undoafterRev ) || $undoafterRev->isDeleted( Revision::DELETED_TEXT ) ) { + if ( is_null( $undoafterRev ) || $undoafterRev->isDeleted( RevisionRecord::DELETED_TEXT ) ) { $this->dieWithError( [ 'apierror-nosuchrevid', $params['undoafter'] ] ); } diff --git a/includes/api/ApiParse.php b/includes/api/ApiParse.php index 84fff968d2..a7390e617a 100644 --- a/includes/api/ApiParse.php +++ b/includes/api/ApiParse.php @@ -21,6 +21,7 @@ */ use MediaWiki\MediaWikiServices; +use MediaWiki\Storage\RevisionRecord; /** * @ingroup API @@ -105,7 +106,7 @@ class ApiParse extends ApiBase { } $this->checkTitleUserPermissions( $rev->getTitle(), 'read' ); - if ( !$rev->userCan( Revision::DELETED_TEXT, $this->getUser() ) ) { + if ( !$rev->userCan( RevisionRecord::DELETED_TEXT, $this->getUser() ) ) { $this->dieWithError( [ 'apierror-permissiondenied', $this->msg( 'action-deletedtext' ) ] ); @@ -562,23 +563,23 @@ class ApiParse extends ApiBase { WikiPage $page, $popts, $suppressCache, $pageId, $rev, $getContent ) { $revId = $rev ? $rev->getId() : null; - $isDeleted = $rev && $rev->isDeleted( Revision::DELETED_TEXT ); + $isDeleted = $rev && $rev->isDeleted( RevisionRecord::DELETED_TEXT ); if ( $getContent || $this->section !== false || $isDeleted ) { if ( $rev ) { - $this->content = $rev->getContent( Revision::FOR_THIS_USER, $this->getUser() ); + $this->content = $rev->getContent( RevisionRecord::FOR_THIS_USER, $this->getUser() ); if ( !$this->content ) { $this->dieWithError( [ 'apierror-missingcontent-revid', $revId ] ); } } else { - $this->content = $page->getContent( Revision::FOR_THIS_USER, $this->getUser() ); + $this->content = $page->getContent( RevisionRecord::FOR_THIS_USER, $this->getUser() ); if ( !$this->content ) { $this->dieWithError( [ 'apierror-missingcontent-pageid', $page->getId() ] ); } } $this->contentIsDeleted = $isDeleted; $this->contentIsSuppressed = $rev && - $rev->isDeleted( Revision::DELETED_TEXT | Revision::DELETED_RESTRICTED ); + $rev->isDeleted( RevisionRecord::DELETED_TEXT | RevisionRecord::DELETED_RESTRICTED ); } if ( $this->section !== false ) { diff --git a/includes/api/ApiQueryDeletedrevs.php b/includes/api/ApiQueryDeletedrevs.php index 4fbc1575b3..a6366f2c8d 100644 --- a/includes/api/ApiQueryDeletedrevs.php +++ b/includes/api/ApiQueryDeletedrevs.php @@ -22,6 +22,7 @@ use MediaWiki\MediaWikiServices; use MediaWiki\Storage\NameTableAccessException; +use MediaWiki\Storage\RevisionRecord; /** * Query module to enumerate all deleted revisions. @@ -197,9 +198,9 @@ class ApiQueryDeletedrevs extends ApiQueryBase { // (shouldn't be able to get here without 'deletedhistory', but // check it again just in case) if ( !$user->isAllowed( 'deletedhistory' ) ) { - $bitmask = Revision::DELETED_USER; + $bitmask = RevisionRecord::DELETED_USER; } elseif ( !$user->isAllowedAny( 'suppressrevision', 'viewsuppressed' ) ) { - $bitmask = Revision::DELETED_USER | Revision::DELETED_RESTRICTED; + $bitmask = RevisionRecord::DELETED_USER | RevisionRecord::DELETED_RESTRICTED; } else { $bitmask = 0; } @@ -288,11 +289,11 @@ class ApiQueryDeletedrevs extends ApiQueryBase { $rev['parentid'] = (int)$row->ar_parent_id; } if ( $fld_user || $fld_userid ) { - if ( $row->ar_deleted & Revision::DELETED_USER ) { + if ( $row->ar_deleted & RevisionRecord::DELETED_USER ) { $rev['userhidden'] = true; $anyHidden = true; } - if ( Revision::userCanBitfield( $row->ar_deleted, Revision::DELETED_USER, $user ) ) { + if ( Revision::userCanBitfield( $row->ar_deleted, RevisionRecord::DELETED_USER, $user ) ) { if ( $fld_user ) { $rev['user'] = $row->ar_user_text; } @@ -303,11 +304,11 @@ class ApiQueryDeletedrevs extends ApiQueryBase { } if ( $fld_comment || $fld_parsedcomment ) { - if ( $row->ar_deleted & Revision::DELETED_COMMENT ) { + if ( $row->ar_deleted & RevisionRecord::DELETED_COMMENT ) { $rev['commenthidden'] = true; $anyHidden = true; } - if ( Revision::userCanBitfield( $row->ar_deleted, Revision::DELETED_COMMENT, $user ) ) { + if ( Revision::userCanBitfield( $row->ar_deleted, RevisionRecord::DELETED_COMMENT, $user ) ) { $comment = $commentStore->getComment( 'ar_comment', $row )->text; if ( $fld_comment ) { $rev['comment'] = $comment; @@ -326,11 +327,11 @@ class ApiQueryDeletedrevs extends ApiQueryBase { $rev['len'] = $row->ar_len; } if ( $fld_sha1 ) { - if ( $row->ar_deleted & Revision::DELETED_TEXT ) { + if ( $row->ar_deleted & RevisionRecord::DELETED_TEXT ) { $rev['sha1hidden'] = true; $anyHidden = true; } - if ( Revision::userCanBitfield( $row->ar_deleted, Revision::DELETED_TEXT, $user ) ) { + if ( Revision::userCanBitfield( $row->ar_deleted, RevisionRecord::DELETED_TEXT, $user ) ) { if ( $row->ar_sha1 != '' ) { $rev['sha1'] = Wikimedia\base_convert( $row->ar_sha1, 36, 16, 40 ); } else { @@ -339,11 +340,11 @@ class ApiQueryDeletedrevs extends ApiQueryBase { } } if ( $fld_content ) { - if ( $row->ar_deleted & Revision::DELETED_TEXT ) { + if ( $row->ar_deleted & RevisionRecord::DELETED_TEXT ) { $rev['texthidden'] = true; $anyHidden = true; } - if ( Revision::userCanBitfield( $row->ar_deleted, Revision::DELETED_TEXT, $user ) ) { + if ( Revision::userCanBitfield( $row->ar_deleted, RevisionRecord::DELETED_TEXT, $user ) ) { ApiResult::setContentValue( $rev, 'text', Revision::getRevisionText( $row, 'ar_' ) ); } } @@ -358,7 +359,7 @@ class ApiQueryDeletedrevs extends ApiQueryBase { } } - if ( $anyHidden && ( $row->ar_deleted & Revision::DELETED_RESTRICTED ) ) { + if ( $anyHidden && ( $row->ar_deleted & RevisionRecord::DELETED_RESTRICTED ) ) { $rev['suppressed'] = true; } diff --git a/includes/changes/CategoryMembershipChange.php b/includes/changes/CategoryMembershipChange.php index f1e61bbb4c..2ef9c9f95f 100644 --- a/includes/changes/CategoryMembershipChange.php +++ b/includes/changes/CategoryMembershipChange.php @@ -1,4 +1,7 @@ getVisibility() & Revision::SUPPRESSED_USER : 0; + $deleted = $revision ? $revision->getVisibility() & RevisionRecord::SUPPRESSED_USER : 0; $newRevId = $revision ? $revision->getId() : 0; /** @@ -214,9 +217,9 @@ class CategoryMembershipChange { */ private function getUser() { if ( $this->revision ) { - $userId = $this->revision->getUser( Revision::RAW ); + $userId = $this->revision->getUser( RevisionRecord::RAW ); if ( $userId === 0 ) { - return User::newFromName( $this->revision->getUserText( Revision::RAW ), false ); + return User::newFromName( $this->revision->getUserText( RevisionRecord::RAW ), false ); } else { return User::newFromId( $userId ); } diff --git a/includes/changes/ChangesFeed.php b/includes/changes/ChangesFeed.php index 69c709c258..79092ee37c 100644 --- a/includes/changes/ChangesFeed.php +++ b/includes/changes/ChangesFeed.php @@ -21,6 +21,7 @@ */ use MediaWiki\MediaWikiServices; +use MediaWiki\Storage\RevisionRecord; /** * Feed to Special:RecentChanges and Special:RecentChangesLinked. @@ -117,7 +118,7 @@ class ChangesFeed { FeedUtils::formatDiff( $obj ), $url, $obj->rc_timestamp, - ( $obj->rc_deleted & Revision::DELETED_USER ) + ( $obj->rc_deleted & RevisionRecord::DELETED_USER ) ? wfMessage( 'rev-deleted-user' )->escaped() : $obj->rc_user_text, $talkpage ); diff --git a/includes/changes/ChangesList.php b/includes/changes/ChangesList.php index 34adea9c4c..4e32385c24 100644 --- a/includes/changes/ChangesList.php +++ b/includes/changes/ChangesList.php @@ -23,6 +23,7 @@ */ use MediaWiki\Linker\LinkRenderer; use MediaWiki\MediaWikiServices; +use MediaWiki\Storage\RevisionRecord; use Wikimedia\Rdbms\IResultWrapper; class ChangesList extends ContextSource { @@ -409,7 +410,7 @@ class ChangesList extends ContextSource { public static function revDateLink( Revision $rev, User $user, Language $lang, $title = null ) { $ts = $rev->getTimestamp(); $date = $lang->userTimeAndDate( $ts, $user ); - if ( $rev->userCan( Revision::DELETED_TEXT, $user ) ) { + if ( $rev->userCan( RevisionRecord::DELETED_TEXT, $user ) ) { $link = MediaWikiServices::getInstance()->getLinkRenderer()->makeKnownLink( $title ?? $rev->getTitle(), $date, @@ -419,7 +420,7 @@ class ChangesList extends ContextSource { } else { $link = htmlspecialchars( $date ); } - if ( $rev->isDeleted( Revision::DELETED_TEXT ) ) { + if ( $rev->isDeleted( RevisionRecord::DELETED_TEXT ) ) { $link = "$link"; } return $link; @@ -468,7 +469,7 @@ class ChangesList extends ContextSource { $rc->mAttribs['rc_type'] == RC_CATEGORIZE ) { $diffLink = $this->message['diff']; - } elseif ( !self::userCan( $rc, Revision::DELETED_TEXT, $this->getUser() ) ) { + } elseif ( !self::userCan( $rc, RevisionRecord::DELETED_TEXT, $this->getUser() ) ) { $diffLink = $this->message['diff']; } else { $query = [ @@ -524,7 +525,7 @@ class ChangesList extends ContextSource { [ 'class' => 'mw-changeslist-title' ], $params ); - if ( $this->isDeleted( $rc, Revision::DELETED_TEXT ) ) { + if ( $this->isDeleted( $rc, RevisionRecord::DELETED_TEXT ) ) { $articlelink = '' . $articlelink . ''; } # To allow for boldening pages watched by this user @@ -576,7 +577,7 @@ class ChangesList extends ContextSource { * @param RecentChange &$rc */ public function insertUserRelatedLinks( &$s, &$rc ) { - if ( $this->isDeleted( $rc, Revision::DELETED_USER ) ) { + if ( $this->isDeleted( $rc, RevisionRecord::DELETED_USER ) ) { $s .= ' ' . $this->msg( 'rev-deleted-user' )->escaped() . ''; } else { diff --git a/includes/changes/EnhancedChangesList.php b/includes/changes/EnhancedChangesList.php index 8f32ba2007..62cf39ee45 100644 --- a/includes/changes/EnhancedChangesList.php +++ b/includes/changes/EnhancedChangesList.php @@ -1,4 +1,7 @@ timestamp ); # Revision link - } elseif ( !ChangesList::userCan( $rcObj, Revision::DELETED_TEXT, $this->getUser() ) ) { + } elseif ( !ChangesList::userCan( $rcObj, RevisionRecord::DELETED_TEXT, $this->getUser() ) ) { $link = Html::element( 'span', [ 'class' => 'history-deleted' ], $rcObj->timestamp ); } else { $link = $this->linkRenderer->makeKnownLink( @@ -418,7 +421,7 @@ class EnhancedChangesList extends ChangesList { [], $params ); - if ( static::isDeleted( $rcObj, Revision::DELETED_TEXT ) ) { + if ( static::isDeleted( $rcObj, RevisionRecord::DELETED_TEXT ) ) { $link = '' . $link . ' '; } } @@ -552,7 +555,7 @@ class EnhancedChangesList extends ChangesList { if ( $isnew || $rcObj->mAttribs['rc_type'] == RC_CATEGORIZE || - !ChangesList::userCan( $rcObj, Revision::DELETED_TEXT, $this->getUser() ) + !ChangesList::userCan( $rcObj, RevisionRecord::DELETED_TEXT, $this->getUser() ) ) { $links['total-changes'] = Html::rawElement( 'span', [], $nchanges[$n] ); } else { diff --git a/includes/changes/RCCacheEntryFactory.php b/includes/changes/RCCacheEntryFactory.php index 2d60ca28f7..d448eae4a1 100644 --- a/includes/changes/RCCacheEntryFactory.php +++ b/includes/changes/RCCacheEntryFactory.php @@ -20,6 +20,7 @@ * @file */ use MediaWiki\Linker\LinkRenderer; +use MediaWiki\Storage\RevisionRecord; class RCCacheEntryFactory { @@ -79,7 +80,7 @@ class RCCacheEntryFactory { // Make user links $cacheEntry->userlink = $this->getUserLink( $cacheEntry ); - if ( !ChangesList::isDeleted( $cacheEntry, Revision::DELETED_USER ) ) { + if ( !ChangesList::isDeleted( $cacheEntry, RevisionRecord::DELETED_USER ) ) { $cacheEntry->usertalklink = Linker::userToolLinks( $cacheEntry->mAttribs['rc_user'], $cacheEntry->mAttribs['rc_user_text'], @@ -104,7 +105,7 @@ class RCCacheEntryFactory { * @return bool */ private function showDiffLinks( RecentChange $cacheEntry, User $user ) { - return ChangesList::userCan( $cacheEntry, Revision::DELETED_TEXT, $user ); + return ChangesList::userCan( $cacheEntry, RevisionRecord::DELETED_TEXT, $user ); } /** @@ -281,7 +282,7 @@ class RCCacheEntryFactory { * @return string */ private function getUserLink( RecentChange $cacheEntry ) { - if ( ChangesList::isDeleted( $cacheEntry, Revision::DELETED_USER ) ) { + if ( ChangesList::isDeleted( $cacheEntry, RevisionRecord::DELETED_USER ) ) { $userLink = ' ' . $this->context->msg( 'rev-deleted-user' )->escaped() . ''; } else { diff --git a/includes/changetags/ChangeTagsLogItem.php b/includes/changetags/ChangeTagsLogItem.php index 2bac909716..1827aab036 100644 --- a/includes/changetags/ChangeTagsLogItem.php +++ b/includes/changetags/ChangeTagsLogItem.php @@ -20,6 +20,7 @@ */ use MediaWiki\MediaWikiServices; +use MediaWiki\Storage\RevisionRecord; /** * Item class for a logging table row with its associated change tags. @@ -49,7 +50,9 @@ class ChangeTagsLogItem extends RevisionItemBase { } public function canView() { - return LogEventsList::userCan( $this->row, Revision::SUPPRESSED_ALL, $this->list->getUser() ); + return LogEventsList::userCan( + $this->row, RevisionRecord::SUPPRESSED_ALL, $this->list->getUser() + ); } public function canViewContent() { diff --git a/includes/content/ContentHandler.php b/includes/content/ContentHandler.php index 65a7b7daac..48dfc70090 100644 --- a/includes/content/ContentHandler.php +++ b/includes/content/ContentHandler.php @@ -26,6 +26,7 @@ * @author Daniel Kinzler */ +use MediaWiki\Storage\RevisionRecord; use Wikimedia\Assert\Assert; use MediaWiki\Logger\LoggerFactory; use MediaWiki\MediaWikiServices; @@ -1025,7 +1026,7 @@ abstract class ContentHandler { [ 'rev_user_text' => $revQuery['fields']['rev_user_text'] ], [ 'rev_page' => $title->getArticleID(), - $dbr->bitAnd( 'rev_deleted', Revision::DELETED_USER ) . ' = 0' + $dbr->bitAnd( 'rev_deleted', RevisionRecord::DELETED_USER ) . ' = 0' ], __METHOD__, [ 'LIMIT' => 20 ], diff --git a/includes/diff/DifferenceEngine.php b/includes/diff/DifferenceEngine.php index 86d1a43517..cd51445f8b 100644 --- a/includes/diff/DifferenceEngine.php +++ b/includes/diff/DifferenceEngine.php @@ -508,7 +508,7 @@ class DifferenceEngine extends ContextSource { # Check if one of the revisions is deleted/suppressed $deleted = $suppressed = false; - $allowed = $this->mNewRev->userCan( Revision::DELETED_TEXT, $user ); + $allowed = $this->mNewRev->userCan( RevisionRecord::DELETED_TEXT, $user ); $revisionTools = []; @@ -554,8 +554,8 @@ class DifferenceEngine extends ContextSource { } } - if ( !$this->mOldRev->isDeleted( Revision::DELETED_TEXT ) && - !$this->mNewRev->isDeleted( Revision::DELETED_TEXT ) + if ( !$this->mOldRev->isDeleted( RevisionRecord::DELETED_TEXT ) && + !$this->mNewRev->isDeleted( RevisionRecord::DELETED_TEXT ) ) { $undoLink = Html::element( 'a', [ 'href' => $this->mNewPage->getLocalURL( [ @@ -605,15 +605,15 @@ class DifferenceEngine extends ContextSource { Hooks::run( 'DifferenceEngineOldHeader', [ $this, &$oldHeader, $prevlink, $oldminor, $diffOnly, $ldel, $this->unhide ] ); - if ( $this->mOldRev->isDeleted( Revision::DELETED_TEXT ) ) { + if ( $this->mOldRev->isDeleted( RevisionRecord::DELETED_TEXT ) ) { $deleted = true; // old revisions text is hidden - if ( $this->mOldRev->isDeleted( Revision::DELETED_RESTRICTED ) ) { + if ( $this->mOldRev->isDeleted( RevisionRecord::DELETED_RESTRICTED ) ) { $suppressed = true; // also suppressed } } # Check if this user can see the revisions - if ( !$this->mOldRev->userCan( Revision::DELETED_TEXT, $user ) ) { + if ( !$this->mOldRev->userCan( RevisionRecord::DELETED_TEXT, $user ) ) { $allowed = false; } } @@ -675,9 +675,9 @@ class DifferenceEngine extends ContextSource { Hooks::run( 'DifferenceEngineNewHeader', [ $this, &$newHeader, $formattedRevisionTools, $nextlink, $rollback, $newminor, $diffOnly, $rdel, $this->unhide ] ); - if ( $this->mNewRev->isDeleted( Revision::DELETED_TEXT ) ) { + if ( $this->mNewRev->isDeleted( RevisionRecord::DELETED_TEXT ) ) { $deleted = true; // new revisions text is hidden - if ( $this->mNewRev->isDeleted( Revision::DELETED_RESTRICTED ) ) { + if ( $this->mNewRev->isDeleted( RevisionRecord::DELETED_RESTRICTED ) ) { $suppressed = true; // also suppressed } } @@ -1011,11 +1011,11 @@ class DifferenceEngine extends ContextSource { if ( !$this->loadRevisionData() ) { return false; } elseif ( $this->mOldRev && - !$this->mOldRev->userCan( Revision::DELETED_TEXT, $this->getUser() ) + !$this->mOldRev->userCan( RevisionRecord::DELETED_TEXT, $this->getUser() ) ) { return false; } elseif ( $this->mNewRev && - !$this->mNewRev->userCan( Revision::DELETED_TEXT, $this->getUser() ) + !$this->mNewRev->userCan( RevisionRecord::DELETED_TEXT, $this->getUser() ) ) { return false; } @@ -1465,7 +1465,7 @@ class DifferenceEngine extends ContextSource { $users = $this->mNewPage->getAuthorsBetween( $oldRev, $newRev, $limit ); $numUsers = count( $users ); - if ( $numUsers == 1 && $users[0] == $newRev->getUserText( Revision::RAW ) ) { + if ( $numUsers == 1 && $users[0] == $newRev->getUserText( RevisionRecord::RAW ) ) { $numUsers = 0; // special case to say "by the same user" instead of "by one other user" } @@ -1530,7 +1530,7 @@ class DifferenceEngine extends ContextSource { $header = Linker::linkKnown( $title, $header, [], [ 'oldid' => $rev->getId() ] ); - if ( $rev->userCan( Revision::DELETED_TEXT, $user ) ) { + if ( $rev->userCan( RevisionRecord::DELETED_TEXT, $user ) ) { $editQuery = [ 'action' => 'edit' ]; if ( !$rev->isCurrent() ) { $editQuery['oldid'] = $rev->getId(); @@ -1545,7 +1545,7 @@ class DifferenceEngine extends ContextSource { [ 'class' => 'mw-diff-edit' ], $editLink ); - if ( $rev->isDeleted( Revision::DELETED_TEXT ) ) { + if ( $rev->isDeleted( RevisionRecord::DELETED_TEXT ) ) { $header = Html::rawElement( 'span', [ 'class' => 'history-deleted' ], diff --git a/includes/export/WikiExporter.php b/includes/export/WikiExporter.php index 8b0ed00c51..fe6dadfe22 100644 --- a/includes/export/WikiExporter.php +++ b/includes/export/WikiExporter.php @@ -28,6 +28,7 @@ */ use MediaWiki\MediaWikiServices as MediaWikiServicesAlias; +use MediaWiki\Storage\RevisionRecord; use Wikimedia\Rdbms\IResultWrapper; use Wikimedia\Rdbms\IDatabase; @@ -253,7 +254,7 @@ class WikiExporter { 'rev_user' => $revQuery['fields']['rev_user'], ], [ - $this->db->bitAnd( 'rev_deleted', Revision::DELETED_USER ) . ' = 0', + $this->db->bitAnd( 'rev_deleted', RevisionRecord::DELETED_USER ) . ' = 0', $cond, ], __METHOD__, diff --git a/includes/export/XmlDumpWriter.php b/includes/export/XmlDumpWriter.php index f71b0d5278..7ee6d850af 100644 --- a/includes/export/XmlDumpWriter.php +++ b/includes/export/XmlDumpWriter.php @@ -320,7 +320,7 @@ class XmlDumpWriter { $out .= $this->writeTimestamp( $rev->getTimestamp() ); - if ( $rev->isDeleted( Revision::DELETED_USER ) ) { + if ( $rev->isDeleted( RevisionRecord::DELETED_USER ) ) { $out .= " " . Xml::element( 'contributor', [ 'deleted' => 'deleted' ] ) . "\n"; } else { // empty values get written out as uid 0, see T224221 @@ -334,7 +334,7 @@ class XmlDumpWriter { if ( $rev->isMinor() ) { $out .= " \n"; } - if ( $rev->isDeleted( Revision::DELETED_COMMENT ) ) { + if ( $rev->isDeleted( RevisionRecord::DELETED_COMMENT ) ) { $out .= " " . Xml::element( 'comment', [ 'deleted' => 'deleted' ] ) . "\n"; } else { if ( $rev->getComment()->text != '' ) { @@ -344,14 +344,14 @@ class XmlDumpWriter { } } - $contentMode = $rev->isDeleted( Revision::DELETED_TEXT ) ? self::WRITE_STUB_DELETED + $contentMode = $rev->isDeleted( RevisionRecord::DELETED_TEXT ) ? self::WRITE_STUB_DELETED : $this->contentMode; foreach ( $rev->getSlots()->getSlots() as $slot ) { $out .= $this->writeSlot( $slot, $contentMode ); } - if ( $rev->isDeleted( Revision::DELETED_TEXT ) ) { + if ( $rev->isDeleted( RevisionRecord::DELETED_TEXT ) ) { $out .= " \n"; } else { $out .= " " . Xml::element( 'sha1', null, strval( $rev->getSha1() ) ) . "\n"; diff --git a/includes/filerepo/file/LocalFileDeleteBatch.php b/includes/filerepo/file/LocalFileDeleteBatch.php index d447945951..61faa09535 100644 --- a/includes/filerepo/file/LocalFileDeleteBatch.php +++ b/includes/filerepo/file/LocalFileDeleteBatch.php @@ -22,6 +22,7 @@ */ use MediaWiki\MediaWikiServices; +use MediaWiki\Storage\RevisionRecord; /** * Helper class for file deletion @@ -195,7 +196,7 @@ class LocalFileDeleteBatch { // Bitfields to further suppress the content if ( $this->suppress ) { - $bitfield = Revision::SUPPRESSED_ALL; + $bitfield = RevisionRecord::SUPPRESSED_ALL; } else { $bitfield = 'oi_deleted'; } diff --git a/includes/logging/DeleteLogFormatter.php b/includes/logging/DeleteLogFormatter.php index 048b567c70..3bc19ffd37 100644 --- a/includes/logging/DeleteLogFormatter.php +++ b/includes/logging/DeleteLogFormatter.php @@ -23,6 +23,8 @@ * @since 1.22 */ +use MediaWiki\Storage\RevisionRecord; + /** * This class formats delete log entries. * @@ -280,10 +282,10 @@ class DeleteLogFormatter extends LogFormatter { ]; static $fields = [ - Revision::DELETED_TEXT => 'content', - Revision::DELETED_COMMENT => 'comment', - Revision::DELETED_USER => 'user', - Revision::DELETED_RESTRICTED => 'restricted', + RevisionRecord::DELETED_TEXT => 'content', + RevisionRecord::DELETED_COMMENT => 'comment', + RevisionRecord::DELETED_USER => 'user', + RevisionRecord::DELETED_RESTRICTED => 'restricted', ]; if ( isset( $rawParams['6::ofield'] ) ) { diff --git a/includes/page/Article.php b/includes/page/Article.php index 4e280851d8..a9ef2c1023 100644 --- a/includes/page/Article.php +++ b/includes/page/Article.php @@ -454,7 +454,9 @@ class Article implements Page { $this->mRevIdFetched = $this->mRevision->getId(); $this->fetchResult = Status::newGood( $this->mRevision ); - if ( !$this->mRevision->userCan( Revision::DELETED_TEXT, $this->getContext()->getUser() ) ) { + if ( + !$this->mRevision->userCan( RevisionRecord::DELETED_TEXT, $this->getContext()->getUser() ) + ) { wfDebug( __METHOD__ . " failed to retrieve content of revision " . $this->mRevision->getId() . "\n" ); @@ -466,7 +468,7 @@ class Article implements Page { if ( Hooks::isRegistered( 'ArticleAfterFetchContentObject' ) ) { $contentObject = $this->mRevision->getContent( - Revision::FOR_THIS_USER, + RevisionRecord::FOR_THIS_USER, $this->getContext()->getUser() ); @@ -489,7 +491,7 @@ class Article implements Page { // For B/C only $this->mContentObject = $this->mRevision->getContent( - Revision::FOR_THIS_USER, + RevisionRecord::FOR_THIS_USER, $this->getContext()->getUser() ); @@ -1481,7 +1483,7 @@ class Article implements Page { * @return bool True if the view is allowed, false if not. */ public function showDeletedRevisionHeader() { - if ( !$this->mRevision->isDeleted( Revision::DELETED_TEXT ) ) { + if ( !$this->mRevision->isDeleted( RevisionRecord::DELETED_TEXT ) ) { // Not deleted return true; } @@ -1489,7 +1491,7 @@ class Article implements Page { $outputPage = $this->getContext()->getOutput(); $user = $this->getContext()->getUser(); // If the user is not allowed to see it... - if ( !$this->mRevision->userCan( Revision::DELETED_TEXT, $user ) ) { + if ( !$this->mRevision->userCan( RevisionRecord::DELETED_TEXT, $user ) ) { $outputPage->wrapWikiMsg( "\n", 'rev-deleted-text-permission' ); @@ -1499,7 +1501,7 @@ class Article implements Page { # Give explanation and add a link to view the revision... $oldid = intval( $this->getOldID() ); $link = $this->getTitle()->getFullURL( "oldid={$oldid}&unhide=1" ); - $msg = $this->mRevision->isDeleted( Revision::DELETED_RESTRICTED ) ? + $msg = $this->mRevision->isDeleted( RevisionRecord::DELETED_RESTRICTED ) ? 'rev-suppressed-text-unhide' : 'rev-deleted-text-unhide'; $outputPage->wrapWikiMsg( "\n", [ $msg, $link ] ); @@ -1507,7 +1509,7 @@ class Article implements Page { return false; // We are allowed to see... } else { - $msg = $this->mRevision->isDeleted( Revision::DELETED_RESTRICTED ) ? + $msg = $this->mRevision->isDeleted( RevisionRecord::DELETED_RESTRICTED ) ? 'rev-suppressed-text-view' : 'rev-deleted-text-view'; $outputPage->wrapWikiMsg( "\n", $msg ); diff --git a/includes/page/WikiPage.php b/includes/page/WikiPage.php index fdba6fb065..adc62a1bb1 100644 --- a/includes/page/WikiPage.php +++ b/includes/page/WikiPage.php @@ -1176,7 +1176,7 @@ class WikiPage implements Page, IDBAccessObject { $conds[] = 'NOT(' . $actorMigration->getWhere( $dbr, 'rev_user', $user )['conds'] . ')'; // Username hidden? - $conds[] = "{$dbr->bitAnd( 'rev_deleted', Revision::DELETED_USER )} = 0"; + $conds[] = "{$dbr->bitAnd( 'rev_deleted', RevisionRecord::DELETED_USER )} = 0"; $jconds = [ 'user' => [ 'LEFT JOIN', $actorQuery['fields']['rev_user'] . ' = user_id' ], @@ -2695,7 +2695,7 @@ class WikiPage implements Page, IDBAccessObject { // we need to remember the old content so we can use it to generate all deletion updates. $revision = $this->getRevision(); try { - $content = $this->getContent( Revision::RAW ); + $content = $this->getContent( RevisionRecord::RAW ); } catch ( Exception $ex ) { wfLogWarning( __METHOD__ . ': failed to load content during deletion! ' . $ex->getMessage() ); @@ -2844,7 +2844,7 @@ class WikiPage implements Page, IDBAccessObject { // Bitfields to further suppress the content if ( $suppress ) { - $bitfield = Revision::SUPPRESSED_ALL; + $bitfield = RevisionRecord::SUPPRESSED_ALL; $revQuery['fields'] = array_diff( $revQuery['fields'], [ 'rev_deleted' ] ); } @@ -3768,7 +3768,7 @@ class WikiPage implements Page, IDBAccessObject { $slotContent = [ SlotRecord::MAIN => $rev ]; } else { $slotContent = array_map( function ( SlotRecord $slot ) { - return $slot->getContent( Revision::RAW ); + return $slot->getContent( RevisionRecord::RAW ); }, $rev->getSlots()->getSlots() ); } diff --git a/includes/resourceloader/ResourceLoaderWikiModule.php b/includes/resourceloader/ResourceLoaderWikiModule.php index d37c31b1f5..b1040733a0 100644 --- a/includes/resourceloader/ResourceLoaderWikiModule.php +++ b/includes/resourceloader/ResourceLoaderWikiModule.php @@ -23,6 +23,7 @@ */ use MediaWiki\Linker\LinkTarget; +use MediaWiki\Storage\RevisionRecord; use Wikimedia\Assert\Assert; use Wikimedia\Rdbms\Database; use Wikimedia\Rdbms\IDatabase; @@ -220,7 +221,7 @@ class ResourceLoaderWikiModule extends ResourceLoaderModule { if ( !$revision ) { return null; } - $content = $revision->getContent( Revision::RAW ); + $content = $revision->getContent( RevisionRecord::RAW ); if ( !$content ) { $this->getLogger()->error( diff --git a/includes/revisiondelete/RevDelArchivedFileItem.php b/includes/revisiondelete/RevDelArchivedFileItem.php index 00e40a0b5e..ab9830f706 100644 --- a/includes/revisiondelete/RevDelArchivedFileItem.php +++ b/includes/revisiondelete/RevDelArchivedFileItem.php @@ -19,6 +19,8 @@ * @ingroup RevisionDelete */ +use MediaWiki\Storage\RevisionRecord; + /** * Item class for a filearchive table row */ @@ -109,8 +111,8 @@ class RevDelArchivedFileItem extends RevDelFileItem { 'width' => $file->getWidth(), 'height' => $file->getHeight(), 'size' => $file->getSize(), - 'userhidden' => (bool)$file->isDeleted( Revision::DELETED_USER ), - 'commenthidden' => (bool)$file->isDeleted( Revision::DELETED_COMMENT ), + 'userhidden' => (bool)$file->isDeleted( RevisionRecord::DELETED_USER ), + 'commenthidden' => (bool)$file->isDeleted( RevisionRecord::DELETED_COMMENT ), 'contenthidden' => (bool)$this->isDeleted(), ]; if ( $this->canViewContent() ) { @@ -124,13 +126,13 @@ class RevDelArchivedFileItem extends RevDelFileItem { ), ]; } - if ( $file->userCan( Revision::DELETED_USER, $user ) ) { + if ( $file->userCan( RevisionRecord::DELETED_USER, $user ) ) { $ret += [ 'userid' => $file->getUser( 'id' ), 'user' => $file->getUser( 'text' ), ]; } - if ( $file->userCan( Revision::DELETED_COMMENT, $user ) ) { + if ( $file->userCan( RevisionRecord::DELETED_COMMENT, $user ) ) { $ret += [ 'comment' => $file->getRawDescription(), ]; diff --git a/includes/revisiondelete/RevDelFileItem.php b/includes/revisiondelete/RevDelFileItem.php index c7941b7658..8c080baf83 100644 --- a/includes/revisiondelete/RevDelFileItem.php +++ b/includes/revisiondelete/RevDelFileItem.php @@ -19,6 +19,8 @@ * @ingroup RevisionDelete */ +use MediaWiki\Storage\RevisionRecord; + /** * Item class for an oldimage table row */ @@ -164,14 +166,14 @@ class RevDelFileItem extends RevDelItem { * @return string HTML */ protected function getUserTools() { - if ( $this->file->userCan( Revision::DELETED_USER, $this->list->getUser() ) ) { + if ( $this->file->userCan( RevisionRecord::DELETED_USER, $this->list->getUser() ) ) { $uid = $this->file->getUser( 'id' ); $name = $this->file->getUser( 'text' ); $link = Linker::userLink( $uid, $name ) . Linker::userToolLinks( $uid, $name ); } else { $link = $this->list->msg( 'rev-deleted-user' )->escaped(); } - if ( $this->file->isDeleted( Revision::DELETED_USER ) ) { + if ( $this->file->isDeleted( RevisionRecord::DELETED_USER ) ) { return '' . $link . ''; } @@ -217,8 +219,8 @@ class RevDelFileItem extends RevDelItem { 'width' => $file->getWidth(), 'height' => $file->getHeight(), 'size' => $file->getSize(), - 'userhidden' => (bool)$file->isDeleted( Revision::DELETED_USER ), - 'commenthidden' => (bool)$file->isDeleted( Revision::DELETED_COMMENT ), + 'userhidden' => (bool)$file->isDeleted( RevisionRecord::DELETED_USER ), + 'commenthidden' => (bool)$file->isDeleted( RevisionRecord::DELETED_COMMENT ), 'contenthidden' => (bool)$this->isDeleted(), ]; if ( !$this->isDeleted() ) { @@ -236,13 +238,13 @@ class RevDelFileItem extends RevDelItem { ), ]; } - if ( $file->userCan( Revision::DELETED_USER, $user ) ) { + if ( $file->userCan( RevisionRecord::DELETED_USER, $user ) ) { $ret += [ 'userid' => $file->user, 'user' => $file->user_text, ]; } - if ( $file->userCan( Revision::DELETED_COMMENT, $user ) ) { + if ( $file->userCan( RevisionRecord::DELETED_COMMENT, $user ) ) { $ret += [ 'comment' => $file->description, ]; diff --git a/includes/revisiondelete/RevDelRevisionItem.php b/includes/revisiondelete/RevDelRevisionItem.php index 6eb0b37fd1..a5859e5565 100644 --- a/includes/revisiondelete/RevDelRevisionItem.php +++ b/includes/revisiondelete/RevDelRevisionItem.php @@ -19,6 +19,8 @@ * @ingroup RevisionDelete */ +use MediaWiki\Storage\RevisionRecord; + /** * Item class for a live revision table row */ @@ -63,11 +65,15 @@ class RevDelRevisionItem extends RevDelItem { } public function canView() { - return $this->revision->userCan( Revision::DELETED_RESTRICTED, $this->list->getUser() ); + return $this->revision->userCan( + RevisionRecord::DELETED_RESTRICTED, $this->list->getUser() + ); } public function canViewContent() { - return $this->revision->userCan( Revision::DELETED_TEXT, $this->list->getUser() ); + return $this->revision->userCan( + RevisionRecord::DELETED_TEXT, $this->list->getUser() + ); } public function getBits() { @@ -108,11 +114,11 @@ class RevDelRevisionItem extends RevDelItem { } public function isDeleted() { - return $this->revision->isDeleted( Revision::DELETED_TEXT ); + return $this->revision->isDeleted( RevisionRecord::DELETED_TEXT ); } public function isHideCurrentOp( $newBits ) { - return ( $newBits & Revision::DELETED_TEXT ) + return ( $newBits & RevisionRecord::DELETED_TEXT ) && $this->list->getCurrent() == $this->getId(); } @@ -203,19 +209,19 @@ class RevDelRevisionItem extends RevDelItem { $ret = [ 'id' => $rev->getId(), 'timestamp' => wfTimestamp( TS_ISO_8601, $rev->getTimestamp() ), - 'userhidden' => (bool)$rev->isDeleted( Revision::DELETED_USER ), - 'commenthidden' => (bool)$rev->isDeleted( Revision::DELETED_COMMENT ), - 'texthidden' => (bool)$rev->isDeleted( Revision::DELETED_TEXT ), + 'userhidden' => (bool)$rev->isDeleted( RevisionRecord::DELETED_USER ), + 'commenthidden' => (bool)$rev->isDeleted( RevisionRecord::DELETED_COMMENT ), + 'texthidden' => (bool)$rev->isDeleted( RevisionRecord::DELETED_TEXT ), ]; - if ( $rev->userCan( Revision::DELETED_USER, $user ) ) { + if ( $rev->userCan( RevisionRecord::DELETED_USER, $user ) ) { $ret += [ - 'userid' => $rev->getUser( Revision::FOR_THIS_USER ), - 'user' => $rev->getUserText( Revision::FOR_THIS_USER ), + 'userid' => $rev->getUser( RevisionRecord::FOR_THIS_USER ), + 'user' => $rev->getUserText( RevisionRecord::FOR_THIS_USER ), ]; } - if ( $rev->userCan( Revision::DELETED_COMMENT, $user ) ) { + if ( $rev->userCan( RevisionRecord::DELETED_COMMENT, $user ) ) { $ret += [ - 'comment' => $rev->getComment( Revision::FOR_THIS_USER ), + 'comment' => $rev->getComment( RevisionRecord::FOR_THIS_USER ), ]; } diff --git a/includes/revisiondelete/RevDelRevisionList.php b/includes/revisiondelete/RevDelRevisionList.php index 07362c422f..6bf9df265b 100644 --- a/includes/revisiondelete/RevDelRevisionList.php +++ b/includes/revisiondelete/RevDelRevisionList.php @@ -19,6 +19,7 @@ * @ingroup RevisionDelete */ +use MediaWiki\Storage\RevisionRecord; use Wikimedia\Rdbms\FakeResultWrapper; use Wikimedia\Rdbms\IDatabase; @@ -48,7 +49,7 @@ class RevDelRevisionList extends RevDelList { } public static function getRevdelConstant() { - return Revision::DELETED_TEXT; + return RevisionRecord::DELETED_TEXT; } public static function suggestTarget( $target, array $ids ) { diff --git a/includes/revisiondelete/RevisionDeleteUser.php b/includes/revisiondelete/RevisionDeleteUser.php index f7f7e8956a..0bddb09a0a 100644 --- a/includes/revisiondelete/RevisionDeleteUser.php +++ b/includes/revisiondelete/RevisionDeleteUser.php @@ -21,6 +21,7 @@ * @ingroup RevisionDelete */ +use MediaWiki\Storage\RevisionRecord; use Wikimedia\Rdbms\IDatabase; /** @@ -57,8 +58,8 @@ class RevisionDeleteUser { # current bitfields with the inverse of Revision::DELETED_USER. The # username bit is made to 0 (x & 0 = 0), while others are unchanged (x & 1 = x). # The same goes for the sysop-restricted *_deleted bit. - $delUser = Revision::DELETED_USER | Revision::DELETED_RESTRICTED; - $delAction = LogPage::DELETED_ACTION | Revision::DELETED_RESTRICTED; + $delUser = RevisionRecord::DELETED_USER | RevisionRecord::DELETED_RESTRICTED; + $delAction = LogPage::DELETED_ACTION | RevisionRecord::DELETED_RESTRICTED; if ( $op === '&' ) { $delUser = $dbw->bitNot( $delUser ); $delAction = $dbw->bitNot( $delAction ); diff --git a/includes/revisiondelete/RevisionDeleter.php b/includes/revisiondelete/RevisionDeleter.php index 7b2147a5e5..3ab96cb0c6 100644 --- a/includes/revisiondelete/RevisionDeleter.php +++ b/includes/revisiondelete/RevisionDeleter.php @@ -21,6 +21,8 @@ * @ingroup RevisionDelete */ +use MediaWiki\Storage\RevisionRecord; + /** * General controller for RevDel, used by both SpecialRevisiondelete and * ApiRevisionDelete. @@ -129,14 +131,14 @@ class RevisionDeleter { $ret = [ 0 => [], 1 => [], 2 => [] ]; // Build bitfield changes in language self::checkItem( 'revdelete-content', - Revision::DELETED_TEXT, $diff, $n, $ret ); + RevisionRecord::DELETED_TEXT, $diff, $n, $ret ); self::checkItem( 'revdelete-summary', - Revision::DELETED_COMMENT, $diff, $n, $ret ); + RevisionRecord::DELETED_COMMENT, $diff, $n, $ret ); self::checkItem( 'revdelete-uname', - Revision::DELETED_USER, $diff, $n, $ret ); + RevisionRecord::DELETED_USER, $diff, $n, $ret ); // Restriction application to sysops - if ( $diff & Revision::DELETED_RESTRICTED ) { - if ( $n & Revision::DELETED_RESTRICTED ) { + if ( $diff & RevisionRecord::DELETED_RESTRICTED ) { + if ( $n & RevisionRecord::DELETED_RESTRICTED ) { $ret[2][] = 'revdelete-restricted'; } else { $ret[2][] = 'revdelete-unrestricted'; diff --git a/includes/revisionlist/RevisionItem.php b/includes/revisionlist/RevisionItem.php index faf8d82e79..bf90c068b6 100644 --- a/includes/revisionlist/RevisionItem.php +++ b/includes/revisionlist/RevisionItem.php @@ -20,6 +20,8 @@ * @file */ +use MediaWiki\Storage\RevisionRecord; + /** * Item class for a live revision table row */ @@ -53,15 +55,19 @@ class RevisionItem extends RevisionItemBase { } public function canView() { - return $this->revision->userCan( Revision::DELETED_RESTRICTED, $this->context->getUser() ); + return $this->revision->userCan( + RevisionRecord::DELETED_RESTRICTED, $this->context->getUser() + ); } public function canViewContent() { - return $this->revision->userCan( Revision::DELETED_TEXT, $this->context->getUser() ); + return $this->revision->userCan( + RevisionRecord::DELETED_TEXT, $this->context->getUser() + ); } public function isDeleted() { - return $this->revision->isDeleted( Revision::DELETED_TEXT ); + return $this->revision->isDeleted( RevisionRecord::DELETED_TEXT ); } /** diff --git a/includes/specials/SpecialMergeHistory.php b/includes/specials/SpecialMergeHistory.php index 89eb410304..5b77d5a112 100644 --- a/includes/specials/SpecialMergeHistory.php +++ b/includes/specials/SpecialMergeHistory.php @@ -21,6 +21,8 @@ * @ingroup SpecialPage */ +use MediaWiki\Storage\RevisionRecord; + /** * Special page allowing users with the appropriate permissions to * merge article histories, with some restrictions @@ -293,12 +295,12 @@ class SpecialMergeHistory extends SpecialPage { [], [ 'oldid' => $rev->getId() ] ); - if ( $rev->isDeleted( Revision::DELETED_TEXT ) ) { + if ( $rev->isDeleted( RevisionRecord::DELETED_TEXT ) ) { $pageLink = '' . $pageLink . ''; } # Last link - if ( !$rev->userCan( Revision::DELETED_TEXT, $user ) ) { + if ( !$rev->userCan( RevisionRecord::DELETED_TEXT, $user ) ) { $last = $this->msg( 'last' )->escaped(); } elseif ( isset( $this->prevId[$row->rev_id] ) ) { $last = $linkRenderer->makeKnownLink( diff --git a/includes/specials/SpecialRevisionDelete.php b/includes/specials/SpecialRevisionDelete.php index 682bceb394..98c1f82a1c 100644 --- a/includes/specials/SpecialRevisionDelete.php +++ b/includes/specials/SpecialRevisionDelete.php @@ -21,6 +21,8 @@ * @ingroup SpecialPage */ +use MediaWiki\Storage\RevisionRecord; + /** * Special page allowing users with the appropriate permissions to view * and hide revisions. Log items can also be hidden. @@ -197,12 +199,12 @@ class SpecialRevisionDelete extends UnlistedSpecialPage { [ $this->typeLabels['check-label'], 'wpHidePrimary', RevisionDeleter::getRevdelConstant( $this->typeName ) ], - [ 'revdelete-hide-comment', 'wpHideComment', Revision::DELETED_COMMENT ], - [ 'revdelete-hide-user', 'wpHideUser', Revision::DELETED_USER ] + [ 'revdelete-hide-comment', 'wpHideComment', RevisionRecord::DELETED_COMMENT ], + [ 'revdelete-hide-user', 'wpHideUser', RevisionRecord::DELETED_USER ] ]; if ( $user->isAllowed( 'suppressrevision' ) ) { $this->checks[] = [ 'revdelete-hide-restricted', - 'wpHideRestricted', Revision::DELETED_RESTRICTED ]; + 'wpHideRestricted', RevisionRecord::DELETED_RESTRICTED ]; } # Either submit or create our form diff --git a/includes/specials/SpecialUndelete.php b/includes/specials/SpecialUndelete.php index 31e48368b5..9a16a72926 100644 --- a/includes/specials/SpecialUndelete.php +++ b/includes/specials/SpecialUndelete.php @@ -387,11 +387,11 @@ class SpecialUndelete extends SpecialPage { return; } - if ( $rev->isDeleted( Revision::DELETED_TEXT ) ) { - if ( !$rev->userCan( Revision::DELETED_TEXT, $user ) ) { + if ( $rev->isDeleted( RevisionRecord::DELETED_TEXT ) ) { + if ( !$rev->userCan( RevisionRecord::DELETED_TEXT, $user ) ) { $out->wrapWikiMsg( "\n", - $rev->isDeleted( Revision::DELETED_RESTRICTED ) ? + $rev->isDeleted( RevisionRecord::DELETED_RESTRICTED ) ? 'rev-suppressed-text-permission' : 'rev-deleted-text-permission' ); @@ -400,7 +400,7 @@ class SpecialUndelete extends SpecialPage { $out->wrapWikiMsg( "\n", - $rev->isDeleted( Revision::DELETED_RESTRICTED ) ? + $rev->isDeleted( RevisionRecord::DELETED_RESTRICTED ) ? 'rev-suppressed-text-view' : 'rev-deleted-text-view' ); $out->addHTML( '
' ); @@ -932,7 +932,7 @@ class SpecialUndelete extends SpecialPage { if ( $this->mCanView ) { $titleObj = $this->getPageTitle(); # Last link - if ( !$rev->userCan( Revision::DELETED_TEXT, $this->getUser() ) ) { + if ( !$rev->userCan( RevisionRecord::DELETED_TEXT, $this->getUser() ) ) { $pageLink = htmlspecialchars( $this->getLanguage()->userTimeAndDate( $ts, $user ) ); $last = $this->msg( 'diff' )->escaped(); } elseif ( $remaining > 0 || ( $earliestLiveTime && $ts > $earliestLiveTime ) ) { @@ -1055,7 +1055,7 @@ class SpecialUndelete extends SpecialPage { $user = $this->getUser(); $time = $this->getLanguage()->userTimeAndDate( $ts, $user ); - if ( !$rev->userCan( Revision::DELETED_TEXT, $user ) ) { + if ( !$rev->userCan( RevisionRecord::DELETED_TEXT, $user ) ) { return '' . $time . ''; } @@ -1069,7 +1069,7 @@ class SpecialUndelete extends SpecialPage { ] ); - if ( $rev->isDeleted( Revision::DELETED_TEXT ) ) { + if ( $rev->isDeleted( RevisionRecord::DELETED_TEXT ) ) { $link = '' . $link . ''; } diff --git a/includes/specials/pagers/ContribsPager.php b/includes/specials/pagers/ContribsPager.php index d82ba535a6..86571f8aaa 100644 --- a/includes/specials/pagers/ContribsPager.php +++ b/includes/specials/pagers/ContribsPager.php @@ -24,6 +24,7 @@ * @ingroup Pager */ use MediaWiki\MediaWikiServices; +use MediaWiki\Storage\RevisionRecord; use Wikimedia\Rdbms\IResultWrapper; use Wikimedia\Rdbms\FakeResultWrapper; use Wikimedia\Rdbms\IDatabase; @@ -347,10 +348,13 @@ class ContribsPager extends RangeChronologicalPager { // Paranoia: avoid brute force searches (T19342) if ( !$user->isAllowed( 'deletedhistory' ) ) { - $queryInfo['conds'][] = $this->mDb->bitAnd( 'rev_deleted', Revision::DELETED_USER ) . ' = 0'; + $queryInfo['conds'][] = $this->mDb->bitAnd( + 'rev_deleted', RevisionRecord::DELETED_USER + ) . ' = 0'; } elseif ( !$user->isAllowedAny( 'suppressrevision', 'viewsuppressed' ) ) { - $queryInfo['conds'][] = $this->mDb->bitAnd( 'rev_deleted', Revision::SUPPRESSED_USER ) . - ' != ' . Revision::SUPPRESSED_USER; + $queryInfo['conds'][] = $this->mDb->bitAnd( + 'rev_deleted', RevisionRecord::SUPPRESSED_USER + ) . ' != ' . RevisionRecord::SUPPRESSED_USER; } // $this->getIndexField() must be in the result rows, as reallyDoQuery() tries to access it. @@ -646,7 +650,7 @@ class ContribsPager extends RangeChronologicalPager { } } # Is there a visible previous revision? - if ( $rev->userCan( Revision::DELETED_TEXT, $user ) && $rev->getParentId() !== 0 ) { + if ( $rev->userCan( RevisionRecord::DELETED_TEXT, $user ) && $rev->getParentId() !== 0 ) { $difftext = $linkRenderer->makeKnownLink( $page, new HtmlArmor( $this->messages['diff'] ), @@ -696,7 +700,7 @@ class ContribsPager extends RangeChronologicalPager { # Note that only unprivileged users have rows with hidden user names excluded. # When querying for an IP range, we want to always show user and user talk links. $userlink = ''; - if ( ( $this->contribs == 'newbie' && !$rev->isDeleted( Revision::DELETED_USER ) ) + if ( ( $this->contribs == 'newbie' && !$rev->isDeleted( RevisionRecord::DELETED_USER ) ) || $this->isQueryableRange( $this->target ) ) { $userlink = ' ' . $lang->getDirMark() @@ -756,7 +760,7 @@ class ContribsPager extends RangeChronologicalPager { ]; # Denote if username is redacted for this edit - if ( $rev->isDeleted( Revision::DELETED_USER ) ) { + if ( $rev->isDeleted( RevisionRecord::DELETED_USER ) ) { $templateParams['rev-deleted-user-contribs'] = $this->msg( 'rev-deleted-user-contribs' )->escaped(); } diff --git a/includes/specials/pagers/DeletedContribsPager.php b/includes/specials/pagers/DeletedContribsPager.php index 11a8532092..88e1ea881c 100644 --- a/includes/specials/pagers/DeletedContribsPager.php +++ b/includes/specials/pagers/DeletedContribsPager.php @@ -23,6 +23,7 @@ * @ingroup Pager */ use MediaWiki\MediaWikiServices; +use MediaWiki\Storage\RevisionRecord; use Wikimedia\Rdbms\IDatabase; use Wikimedia\Rdbms\IResultWrapper; use Wikimedia\Rdbms\FakeResultWrapper; @@ -88,10 +89,10 @@ class DeletedContribsPager extends IndexPager { $user = $this->getUser(); // Paranoia: avoid brute force searches (T19792) if ( !$user->isAllowed( 'deletedhistory' ) ) { - $conds[] = $this->mDb->bitAnd( 'ar_deleted', Revision::DELETED_USER ) . ' = 0'; + $conds[] = $this->mDb->bitAnd( 'ar_deleted', RevisionRecord::DELETED_USER ) . ' = 0'; } elseif ( !$user->isAllowedAny( 'suppressrevision', 'viewsuppressed' ) ) { - $conds[] = $this->mDb->bitAnd( 'ar_deleted', Revision::SUPPRESSED_USER ) . - ' != ' . Revision::SUPPRESSED_USER; + $conds[] = $this->mDb->bitAnd( 'ar_deleted', RevisionRecord::SUPPRESSED_USER ) . + ' != ' . RevisionRecord::SUPPRESSED_USER; } $commentQuery = CommentStore::getStore()->getJoin( 'ar_comment' ); @@ -337,7 +338,7 @@ class DeletedContribsPager extends IndexPager { $comment = Linker::revComment( $rev ); $date = $this->getLanguage()->userTimeAndDate( $rev->getTimestamp(), $user ); - if ( !$user->isAllowed( 'undelete' ) || !$rev->userCan( Revision::DELETED_TEXT, $user ) ) { + if ( !$user->isAllowed( 'undelete' ) || !$rev->userCan( RevisionRecord::DELETED_TEXT, $user ) ) { $link = htmlspecialchars( $date ); // unusable link } else { $link = $linkRenderer->makeKnownLink( @@ -351,7 +352,7 @@ class DeletedContribsPager extends IndexPager { ); } // Style deleted items - if ( $rev->isDeleted( Revision::DELETED_TEXT ) ) { + if ( $rev->isDeleted( RevisionRecord::DELETED_TEXT ) ) { $link = '' . $link . ''; } @@ -384,7 +385,7 @@ class DeletedContribsPager extends IndexPager { $ret = "{$del}{$link} {$tools} {$separator} {$mflag} {$pagelink} {$comment}"; # Denote if username is redacted for this edit - if ( $rev->isDeleted( Revision::DELETED_USER ) ) { + if ( $rev->isDeleted( RevisionRecord::DELETED_USER ) ) { $ret .= " " . $this->msg( 'rev-deleted-user-contribs' )->escaped() . ""; } diff --git a/includes/watcheditem/WatchedItemQueryService.php b/includes/watcheditem/WatchedItemQueryService.php index f6ad623df3..df5ea70441 100644 --- a/includes/watcheditem/WatchedItemQueryService.php +++ b/includes/watcheditem/WatchedItemQueryService.php @@ -1,6 +1,7 @@ isAllowed( 'deletedhistory' ) ) { - $bitmask = Revision::DELETED_USER; + $bitmask = RevisionRecord::DELETED_USER; } elseif ( !$user->isAllowedAny( 'suppressrevision', 'viewsuppressed' ) ) { - $bitmask = Revision::DELETED_USER | Revision::DELETED_RESTRICTED; + $bitmask = RevisionRecord::DELETED_USER | RevisionRecord::DELETED_RESTRICTED; } if ( $bitmask ) { $conds[] = $db->bitAnd( 'rc_deleted', $bitmask ) . " != $bitmask"; diff --git a/languages/LanguageConverter.php b/languages/LanguageConverter.php index 9fc7d73f0e..61a967dc46 100644 --- a/languages/LanguageConverter.php +++ b/languages/LanguageConverter.php @@ -21,6 +21,7 @@ use MediaWiki\MediaWikiServices; use MediaWiki\Logger\LoggerFactory; +use MediaWiki\Storage\RevisionRecord; /** * Base class for language conversion. @@ -1043,7 +1044,7 @@ class LanguageConverter { $revision = Revision::newFromTitle( $title ); if ( $revision ) { if ( $revision->getContentModel() == CONTENT_MODEL_WIKITEXT ) { - $txt = $revision->getContent( Revision::RAW )->getText(); + $txt = $revision->getContent( RevisionRecord::RAW )->getText(); } // @todo in the future, use a specialized content model, perhaps based on json! -- 2.20.1