return $oldid;
}
- /**
- * Get text of an article from database
- * Does *NOT* follow redirects.
- *
- * @protected
- * @note This is really internal functionality that should really NOT be
- * used by other functions. For accessing article content, use the WikiPage
- * class, especially WikiBase::getContent(). However, a lot of legacy code
- * uses this method to retrieve page text from the database, so the function
- * has to remain public for now.
- *
- * @return string|bool String containing article contents, or false if null
- * @deprecated since 1.21, use WikiPage::getContent() instead
- */
- function fetchContent() {
- // BC cruft!
-
- wfDeprecated( __METHOD__, '1.21' );
-
- if ( $this->mContentLoaded && $this->mContent ) {
- return $this->mContent;
- }
-
- $content = $this->fetchContentObject();
-
- if ( !$content ) {
- return false;
- }
-
- // @todo Get rid of mContent everywhere!
- $this->mContent = ContentHandler::getContentText( $content );
- ContentHandler::runLegacyHooks(
- 'ArticleAfterFetchContent',
- [ &$this, &$this->mContent ],
- '1.21'
- );
-
- return $this->mContent;
- }
-
/**
* Get text content object
* Does *NOT* follow redirects.
$this->mContentObject = $content;
$this->mRevIdFetched = $this->mRevision->getId();
+ // Avoid PHP 7.1 warning of passing $this by reference
+ $articlePage = $this;
+
ContentHandler::runLegacyHooks(
'ArticleAfterFetchContentObject',
- [ &$this, &$this->mContentObject ],
+ [ &$articlePage, &$this->mContentObject ],
'1.21'
);
while ( !$outputDone && ++$pass ) {
switch ( $pass ) {
case 1:
- Hooks::run( 'ArticleViewHeader', [ &$this, &$outputDone, &$useParserCache ] );
+ // Avoid PHP 7.1 warning of passing $this by reference
+ $articlePage = $this;
+ Hooks::run( 'ArticleViewHeader', [ &$articlePage, &$outputDone, &$useParserCache ] );
break;
case 2:
# Early abort if the page doesn't exist
# 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;
}
/**
* Show a diff page according to current request variables. For use within
* Article::view() only, other callers should use the DifferenceEngine class.
- *
*/
protected function showDiffPage() {
$request = $this->getContext()->getRequest();
$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
$redirectTargetUrl = $this->getTitle()->getLinkURL( $query );
if ( isset( $this->mRedirectedFrom ) ) {
+ // Avoid PHP 7.1 warning of passing $this by reference
+ $articlePage = $this;
+
// This is an internally redirected page view.
// We'll need a backlink to the source page for navigation.
- if ( Hooks::run( 'ArticleViewRedirect', [ &$this ] ) ) {
+ if ( Hooks::run( 'ArticleViewRedirect', [ &$articlePage ] ) ) {
$redir = Linker::linkKnown(
$this->mRedirectedFrom,
null,
* @param int $oldid Revision ID of this article revision
*/
public function setOldSubtitle( $oldid = 0 ) {
- if ( !Hooks::run( 'DisplayOldSubtitle', [ &$this, &$oldid ] ) ) {
+ // Avoid PHP 7.1 warning of passing $this by reference
+ $articlePage = $this;
+
+ if ( !Hooks::run( 'DisplayOldSubtitle', [ &$articlePage, &$oldid ] ) ) {
return;
}
$title = $this->getTitle();
$ctx = $this->getContext();
$outputPage = $ctx->getOutput();
+ if ( !wfMessage( 'deletereason-dropdown' )->inContentLanguage()->isDisabled() ) {
+ $reasonsList = Xml::getArrayFromWikiTextList(
+ wfMessage( 'deletereason-dropdown' )->inContentLanguage()->text()
+ );
+ $outputPage->addModules( 'mediawiki.reasonSuggest' );
+ $outputPage->addJsConfigVars( [
+ 'reasons' => $reasonsList
+ ] );
+ }
$useMediaWikiUIEverywhere = $ctx->getConfig()->get( 'UseMediaWikiUIEverywhere' );
$outputPage->setPageTitle( wfMessage( 'delete-confirm', $title->getPrefixedText() ) );
$outputPage->addBacklinkSubtitle( $title );
Hooks::run( 'ArticleConfirmDelete', [ $this, $outputPage, &$reason ] );
$user = $this->getContext()->getUser();
-
if ( $user->isAllowed( 'suppressrevision' ) ) {
$suppress = Html::openElement( 'div', [ 'id' => 'wpDeleteSuppressRow' ] ) .
Xml::checkLabel( wfMessage( 'revdelete-suppress' )->text(),
$suppress = '';
}
$checkWatch = $user->getBoolOption( 'watchdeletion' ) || $user->isWatched( $title );
-
$form = Html::openElement( 'form', [ 'method' => 'post',
'action' => $title->getLocalURL( 'action=delete' ), 'id' => 'deleteconfirm' ] ) .
Html::openElement( 'fieldset', [ 'id' => 'mw-delete-table' ] ) .
&& !$this->mRedirectedFrom && !$this->getTitle()->isRedirect();
// Extension may have reason to disable file caching on some pages.
if ( $cacheable ) {
- $cacheable = Hooks::run( 'IsFileCacheable', [ &$this ] );
+ // Avoid PHP 7.1 warning of passing $this by reference
+ $articlePage = $this;
+ $cacheable = Hooks::run( 'IsFileCacheable', [ &$articlePage ] );
}
}
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 );
- }
// ******
}