$row: the DB row for this line
&$classes: the classes to add to the surrounding <li>
-'DifferenceEngineMarkPatrolledLink': Allows extensions to change the "mark as patrolled" link
-which is shown both on the diff header as well as on the bottom of a page, usually
-wrapped in a span element which has class="patrollink".
-$differenceEngine: DifferenceEngine object
-&$markAsPatrolledLink: The "mark as patrolled" link HTML (string)
-$rcid: Recent change ID (rc_id) for this change (int)
-$token: Patrol token; $rcid is used in generating this variable
-
-'DifferenceEngineMarkPatrolledRCID': Allows extensions to possibly change the rcid parameter.
-For example the rcid might be set to zero due to the user being the same as the
-performer of the change but an extension might still want to show it under certain
-conditions.
-&$rcid: rc_id (int) of the change or 0
-$differenceEngine: DifferenceEngine object
-$change: RecentChange object
-$user: User object representing the current user
-
-'DifferenceEngineNewHeader': Allows extensions to change the $newHeader variable, which
-contains information about the new revision, such as the revision's author, whether
-the revision was marked as a minor edit or not, etc.
-$differenceEngine: DifferenceEngine object
-&$newHeader: The string containing the various #mw-diff-otitle[1-5] divs, which
-include things like revision author info, revision comment, RevisionDelete link and more
-$formattedRevisionTools: Array containing revision tools, some of which may have
-been injected with the DiffRevisionTools hook
-$nextlink: String containing the link to the next revision (if any); also included in $newHeader
-$rollback: Rollback link (string) to roll this revision back to the previous one, if any
-$newminor: String indicating if the new revision was marked as a minor edit
-$diffOnly: Boolean parameter passed to DifferenceEngine#showDiffPage, indicating
-whether we should show just the diff; passed in as a query string parameter to the
-various URLs constructed here (i.e. $nextlink)
-$rdel: RevisionDelete link for the new revision, if the current user is allowed
-to use the RevisionDelete feature
-$unhide: Boolean parameter indicating whether to show RevisionDeleted revisions
-
-'DifferenceEngineOldHeader': Allows extensions to change the $oldHeader variable, which
-contains information about the old revision, such as the revision's author, whether
-the revision was marked as a minor edit or not, etc.
-$differenceEngine: DifferenceEngine object
-&$oldHeader: The string containing the various #mw-diff-otitle[1-5] divs, which
-include things like revision author info, revision comment, RevisionDelete link and more
-$prevlink: String containing the link to the previous revision (if any); also included in $oldHeader
-$oldminor: String indicating if the old revision was marked as a minor edit
-$diffOnly: Boolean parameter passed to DifferenceEngine#showDiffPage, indicating
-whether we should show just the diff; passed in as a query string parameter to the
-various URLs constructed here (i.e. $prevlink)
-$ldel: RevisionDelete link for the old revision, if the current user is allowed
-to use the RevisionDelete feature
-$unhide: Boolean parameter indicating whether to show RevisionDeleted revisions
-
-'DifferenceEngineOldHeaderNoOldRev': Change the $oldHeader variable in cases when
-there is no old revision
-&$oldHeader: empty string by default
-
-'DifferenceEngineRenderRevisionAddParserOutput': Allows extensions to change the parser output.
-Return false to not add parser output via OutputPage's addParserOutput method.
-$differenceEngine: DifferenceEngine object
-$out: OutputPage object
-$parserOutput: ParserOutput object
-$wikiPage: WikiPage object
-
-'DifferenceEngineRenderRevisionShowFinalPatrolLink': An extension can hook into this hook
-point and return false to not show the final "mark as patrolled" link on the bottom
-of a page.
-This hook has no arguments.
-
-'DifferenceEngineShowDiff': Allows extensions to affect the diff text which
-eventually gets sent to the OutputPage object.
-$differenceEngine: DifferenceEngine object
-
-'DifferenceEngineShowEmptyOldContent': Allows extensions to change the diff table
-body (without header) in cases when there is no old revision or the old and new
-revisions are identical.
-$differenceEngine: DifferenceEngine object
-
-'DifferenceEngineShowDiffPage': Add additional output via the available OutputPage
-object into the diff view
-$out: OutputPage object
-
'DiffRevisionTools': Override or extend the revision tools available from the
diff view, i.e. undo, etc.
$newRev: Revision object of the "new" revision
}
public function showDiffPage( $diffOnly = false ) {
+
# Allow frames except in certain special cases
$out = $this->getOutput();
$out->allowClickjacking();
$out->setRobotPolicy( 'noindex,nofollow' );
- // Allow extensions to add any extra output here
- Hooks::run( 'DifferenceEngineShowDiffPage', [ $out ] );
-
if ( !$this->loadRevisionData() ) {
$this->showMissingRevision();
$out->setPageTitle( $this->msg( 'difference-title', $this->mNewPage->getPrefixedText() ) );
$samePage = true;
$oldHeader = '';
- // Allow extensions to change the $oldHeader variable
- Hooks::run( 'DifferenceEngineOldHeaderNoOldRev', [ &$oldHeader ] );
} else {
Hooks::run( 'DiffViewHeader', [ $this, $this->mOldRev, $this->mNewRev ] );
'<div id="mw-diff-otitle5">' . $oldChangeTags[0] . '</div>' .
'<div id="mw-diff-otitle4">' . $prevlink . '</div>';
- // Allow extensions to change the $oldHeader variable
- Hooks::run( 'DifferenceEngineOldHeader', [ $this, &$oldHeader, $prevlink, $oldminor,
- $diffOnly, $ldel, $this->unhide ] );
-
if ( $this->mOldRev->isDeleted( Revision::DELETED_TEXT ) ) {
$deleted = true; // old revisions text is hidden
if ( $this->mOldRev->isDeleted( Revision::DELETED_RESTRICTED ) ) {
'<div id="mw-diff-ntitle5">' . $newChangeTags[0] . '</div>' .
'<div id="mw-diff-ntitle4">' . $nextlink . $this->markPatrolledLink() . '</div>';
- // Allow extensions to change the $newHeader variable
- Hooks::run( 'DifferenceEngineNewHeader', [ $this, &$newHeader, $formattedRevisionTools,
- $nextlink, $rollback, $newminor, $diffOnly, $rdel, $this->unhide ] );
-
if ( $this->mNewRev->isDeleted( Revision::DELETED_TEXT ) ) {
$deleted = true; // new revisions text is hidden
if ( $this->mNewRev->isDeleted( Revision::DELETED_RESTRICTED ) ) {
'token' => $linkInfo['token'],
]
) . ']</span>';
- // Allow extensions to change the markpatrolled link
- Hooks::run( 'DifferenceEngineMarkPatrolledLink', [ $this,
- &$this->mMarkPatrolledLink, $linkInfo['rcid'], $linkInfo['token'] ] );
}
}
return $this->mMarkPatrolledLink;
// If the user could patrol this it already would be patrolled
$rcid = 0;
}
-
- // Allow extensions to possibly change the rcid here
- // For example the rcid might be set to zero due to the user
- // being the same as the performer of the change but an extension
- // might still want to show it under certain conditions
- Hooks::run( 'DifferenceEngineMarkPatrolledRCID', [ &$rcid, $this, $change, $user ] );
-
// Build the link
if ( $rcid ) {
$this->getOutput()->preventClickjacking();
# WikiPage::getParserOutput() should not return false, but just in case
if ( $parserOutput ) {
- // Allow extensions to change parser output here
- if ( !Hooks::run( 'DifferenceEngineRenderRevisionAddParserOutput', [ $this, $out, $parserOutput, $wikiPage ] ) ) {
- $out->addParserOutput( $parserOutput );
- }
+ $out->addParserOutput( $parserOutput );
}
}
}
# @codingStandardsIgnoreEnd
- // Allow extensions to optionally not show the final patrolled link
- if ( Hooks::run( 'DifferenceEngineRenderRevisionShowFinalPatrolLink' ) ) {
- # Add redundant patrol link on bottom...
- $out->addHTML( $this->markPatrolledLink() );
- }
+ # Add redundant patrol link on bottom...
+ $out->addHTML( $this->markPatrolledLink() );
+
}
protected function getParserOutput( WikiPage $page, Revision $rev ) {
* @return bool
*/
public function showDiff( $otitle, $ntitle, $notice = '' ) {
- // Allow extensions to affect the output here
- Hooks::run( 'DifferenceEngineShowDiff', [ $this ] );
-
$diff = $this->getDiff( $otitle, $ntitle, $notice );
if ( $diff === false ) {
$this->showMissingRevision();
if ( $this->mOldRev === false || ( $this->mOldRev && $this->mNewRev
&& $this->mOldRev->getId() == $this->mNewRev->getId() )
) {
- if ( !Hooks::run( 'DifferenceEngineShowEmptyOldContent', [ $this ] ) ) {
- return '';
- }
+ return '';
}
// Cacheable?
$key = false;