# Preload timestamp to avoid a DB hit
$outputPage->setRevisionTimestamp( $this->mPage->getTimestamp() );
- # Pages containing custom CSS or JavaScript get special treatment
- if ( $this->getTitle()->isCssOrJsPage() || $this->getTitle()->isCssJsSubpage() ) {
- wfDebug( __METHOD__ . ": showing CSS/JS source\n" );
- $this->showCssOrJsPage();
- $outputDone = true;
- } elseif ( !Hooks::run( 'ArticleContentViewCustom',
+ if ( !Hooks::run( 'ArticleContentViewCustom',
[ $this->fetchContentObject(), $this->getTitle(), $outputPage ] ) ) {
- # Allow extensions do their own custom view for certain pages
- $outputDone = true;
- } elseif ( !ContentHandler::runLegacyHooks(
- 'ArticleViewCustom',
- [ $this->fetchContentObject(), $this->getTitle(), $outputPage ],
- '1.21'
- ) ) {
# Allow extensions do their own custom view for certain pages
$outputDone = true;
}
}
}
+ # Use adaptive TTLs for CDN so delayed/failed purges are noticed less often.
+ # This could use getTouched(), but that could be scary for major template edits.
+ $outputPage->adaptCdnTTL( $this->mPage->getTimestamp(), IExpiringStore::TTL_DAY );
+
# Check for any __NOINDEX__ tags on the page using $pOutput
$policy = $this->getRobotPolicy( 'view', $pOutput );
$outputPage->setIndexPolicy( $policy['index'] );
$this->mPage->doViewUpdates( $user, $oldid );
$outputPage->addModules( 'mediawiki.action.view.postEdit' );
-
}
/**
$this->mPage->doViewUpdates( $user, (int)$new );
}
- /**
- * Show a page view for a page formatted as CSS or JavaScript. To be called by
- * Article::view() only.
- *
- * This exists mostly to serve the deprecated ShowRawCssJs hook (used to customize these views).
- * It has been replaced by the ContentGetParserOutput hook, which lets you do the same but with
- * more flexibility.
- *
- * @param bool $showCacheHint Whether to show a message telling the user
- * to clear the browser cache (default: true).
- */
- protected function showCssOrJsPage( $showCacheHint = true ) {
- $outputPage = $this->getContext()->getOutput();
-
- if ( $showCacheHint ) {
- $dir = $this->getContext()->getLanguage()->getDir();
- $lang = $this->getContext()->getLanguage()->getHtmlCode();
-
- $outputPage->wrapWikiMsg(
- "<div id='mw-clearyourcache' lang='$lang' dir='$dir' class='mw-content-$dir'>\n$1\n</div>",
- 'clearyourcache'
- );
- }
-
- $this->fetchContentObject();
-
- if ( $this->mContentObject ) {
- // Give hooks a chance to customise the output
- if ( ContentHandler::runLegacyHooks(
- 'ShowRawCssJs',
- [ $this->mContentObject, $this->getTitle(), $outputPage ],
- '1.24'
- ) ) {
- // If no legacy hooks ran, display the content of the parser output, including RL modules,
- // but excluding metadata like categories and language links
- $po = $this->mContentObject->getParserOutput( $this->getTitle() );
- $outputPage->addParserOutputContent( $po );
- }
- }
- }
-
/**
* Get the robot policy to be used for the current view
* @param string $action The action= GET parameter
return false;
}
- $rcid = $rc->getAttribute( 'rc_id' );
-
- $token = $user->getEditToken( $rcid );
-
$outputPage->preventClickjacking();
if ( $wgEnableAPI && $wgEnableWriteAPI && $user->isAllowed( 'writeapi' ) ) {
$outputPage->addModules( 'mediawiki.page.patrol.ajax' );
[],
[
'action' => 'markpatrolled',
- 'rcid' => $rcid,
- 'token' => $token,
+ 'rcid' => $rc->getAttribute( 'rc_id' ),
]
);
return $this->mPage->getRevision();
}
- /**
- * Call to WikiPage function for backwards compatibility.
- * @see WikiPage::getText
- * @deprecated since 1.21 use WikiPage::getContent() instead
- */
- public function getText( $audience = Revision::FOR_PUBLIC, User $user = null ) {
- wfDeprecated( __METHOD__, '1.21' );
- return $this->mPage->getText( $audience, $user );
- }
-
/**
* Call to WikiPage function for backwards compatibility.
* @see WikiPage::getTimestamp
);
}
- /**
- * Call to WikiPage function for backwards compatibility.
- * @deprecated since 1.21, use prepareContentForEdit
- * @see WikiPage::prepareTextForEdit
- */
- public function prepareTextForEdit( $text, $revid = null, User $user = null ) {
- return $this->mPage->prepareTextForEdit( $text, $revid, $user );
- }
-
/**
* Call to WikiPage function for backwards compatibility.
* @see WikiPage::protectDescription
WikiPage::onArticleEdit( $title );
}
- /**
- * @param string $oldtext
- * @param string $newtext
- * @param int $flags
- * @return string
- * @deprecated since 1.21, use ContentHandler::getAutosummary() instead
- */
- public static function getAutosummary( $oldtext, $newtext, $flags ) {
- return WikiPage::getAutosummary( $oldtext, $newtext, $flags );
- }
// ******
}