* @ingroup DifferenceEngine
*/
+use MediaWiki\MediaWikiServices;
use MediaWiki\Revision\RevisionRecord;
use MediaWiki\Revision\SlotRecord;
+use MediaWiki\Storage\NameTableAccessException;
/**
* DifferenceEngine is responsible for rendering the difference between two revisions as HTML.
* or false if no link is needed
*/
protected function getMarkPatrolledLinkInfo() {
- global $wgUseRCPatrol;
-
$user = $this->getUser();
+ $config = $this->getConfig();
// Prepare a change patrol link, if applicable
if (
// Is patrolling enabled and the user allowed to?
- $wgUseRCPatrol && $this->mNewPage && $this->mNewPage->quickUserCan( 'patrol', $user ) &&
+ $config->get( 'UseRCPatrol' ) &&
+ $this->mNewPage && $this->mNewPage->quickUserCan( 'patrol', $user ) &&
// Only do this if the revision isn't more than 6 hours older
// than the Max RC age (6h because the RC might not be cleaned out regularly)
RecentChange::isInRCLifespan( $this->mNewRev->getTimestamp(), 21600 )
* @return string
*/
protected function debug( $generator = "internal" ) {
- global $wgShowHostnames;
if ( !$this->enableDebugComment ) {
return '';
}
$data = [ $generator ];
- if ( $wgShowHostnames ) {
+ if ( $this->getConfig()->get( 'ShowHostnames' ) ) {
$data[] = wfHostname();
}
$data[] = wfTimestamp( TS_DB );
return self::intermediateEditsMsg( $nEdits, $numUsers, $limit );
}
- return ''; // nothing
+ return '';
}
/**
// Load tags information for both revisions
$dbr = wfGetDB( DB_REPLICA );
+ $changeTagDefStore = MediaWikiServices::getInstance()->getChangeTagDefStore();
if ( $this->mOldid !== false ) {
- $this->mOldTags = $dbr->selectField(
- 'tag_summary',
- 'ts_tags',
- [ 'ts_rev_id' => $this->mOldid ],
+ $tagIds = $dbr->selectFieldValues(
+ 'change_tag',
+ 'ct_tag_id',
+ [ 'ct_rev_id' => $this->mOldid ],
__METHOD__
);
+ $tags = [];
+ foreach ( $tagIds as $tagId ) {
+ try {
+ $tags[] = $changeTagDefStore->getName( (int)$tagId );
+ } catch ( NameTableAccessException $exception ) {
+ continue;
+ }
+ }
+ $this->mOldTags = implode( ',', $tags );
} else {
$this->mOldTags = false;
}
- $this->mNewTags = $dbr->selectField(
- 'tag_summary',
- 'ts_tags',
- [ 'ts_rev_id' => $this->mNewid ],
+
+ $tagIds = $dbr->selectFieldValues(
+ 'change_tag',
+ 'ct_tag_id',
+ [ 'ct_rev_id' => $this->mNewid ],
__METHOD__
);
+ $tags = [];
+ foreach ( $tagIds as $tagId ) {
+ try {
+ $tags[] = $changeTagDefStore->getName( (int)$tagId );
+ } catch ( NameTableAccessException $exception ) {
+ continue;
+ }
+ }
+ $this->mNewTags = implode( ',', $tags );
return true;
}