if ( $link ) {
return "[$link $id]";
} else {
- return $id;
+ return (string)$id;
}
}
Hooks::run( 'DifferenceEngineShowDiffPage', [ $out ] );
if ( !$this->loadRevisionData() ) {
- $this->showMissingRevision();
-
+ if ( Hooks::run( 'DifferenceEngineShowDiffPageMaybeShowMissingRevision', [ $this ] ) ) {
+ $this->showMissingRevision();
+ }
return;
}
*
* @return string HTML or empty string
*/
- protected function markPatrolledLink() {
+ public function markPatrolledLink() {
if ( $this->mMarkPatrolledLink === null ) {
$linkInfo = $this->getMarkPatrolledLinkInfo();
// If false, there is no patrol link needed/allowed
[
'action' => 'markpatrolled',
'rcid' => $linkInfo['rcid'],
- 'token' => $linkInfo['token'],
]
) . ']</span>';
// Allow extensions to change the markpatrolled link
Hooks::run( 'DifferenceEngineMarkPatrolledLink', [ $this,
- &$this->mMarkPatrolledLink, $linkInfo['rcid'], $linkInfo['token'] ] );
+ &$this->mMarkPatrolledLink, $linkInfo['rcid'] ] );
}
}
return $this->mMarkPatrolledLink;
* Returns an array of meta data needed to build a "mark as patrolled" link and
* adds the mediawiki.page.patrol.ajax to the output.
*
- * @return array|false An array of meta data for a patrol link (rcid & token)
+ * @return array|false An array of meta data for a patrol link (rcid only)
* or false if no link is needed
*/
protected function getMarkPatrolledLinkInfo() {
$this->getOutput()->addModules( 'mediawiki.page.patrol.ajax' );
}
- $token = $user->getEditToken( $rcid );
return [
'rcid' => $rcid,
- 'token' => $token,
];
}
}
$out->setRevisionTimestamp( $this->mNewRev->getTimestamp() );
$out->setArticleFlag( true );
- // NOTE: only needed for B/C: custom rendering of JS/CSS via hook
- if ( $this->mNewPage->isCssJsSubpage() || $this->mNewPage->isCssOrJsPage() ) {
- // This needs to be synchronised with Article::showCssOrJsPage(), which sucks
- // Give hooks a chance to customise the output
- // @todo standardize this crap into one function
- if ( ContentHandler::runLegacyHooks( 'ShowRawCssJs', [ $this->mNewContent, $this->mNewPage, $out ], '1.24' ) ) {
- // NOTE: deprecated hook, B/C only
- // use the content object's own rendering
- $cnt = $this->mNewRev->getContent();
- $po = $cnt ? $cnt->getParserOutput( $this->mNewRev->getTitle(), $this->mNewRev->getId() ) : null;
- if ( $po ) {
- $out->addParserOutputContent( $po );
- }
- }
- } elseif ( !Hooks::run( 'ArticleContentViewCustom', [ $this->mNewContent, $this->mNewPage, $out ] ) ) {
- // Handled by extension
- } elseif ( !ContentHandler::runLegacyHooks(
- 'ArticleViewCustom',
- [ $this->mNewContent, $this->mNewPage, $out ],
- '1.21'
- ) ) {
- // NOTE: deprecated hook, B/C only
+ if ( !Hooks::run( 'ArticleContentViewCustom', [ $this->mNewContent, $this->mNewPage, $out ] ) ) {
// Handled by extension
} else {
// Normal page
*
* @return string HTML fragment
*/
- protected function getRevisionHeader( Revision $rev, $complete = '' ) {
+ public function getRevisionHeader( Revision $rev, $complete = '' ) {
$lang = $this->getLanguage();
$user = $this->getUser();
$revtimestamp = $rev->getTimestamp();
if ( $this->mNewRev ) {
$this->mNewContent = $this->mNewRev->getContent( Revision::FOR_THIS_USER, $this->getUser() );
+ Hooks::run( 'DifferenceEngineLoadTextAfterNewContentIsLoaded', [ $this ] );
if ( $this->mNewContent === null ) {
return false;
}
$this->mNewContent = $this->mNewRev->getContent( Revision::FOR_THIS_USER, $this->getUser() );
+ Hooks::run( 'DifferenceEngineAfterLoadNewText', [ $this ] );
+
return true;
}