* moved to separate EditPage and HTMLFileCache classes.
*/
class Article implements Page {
- /** @var IContextSource The context this Article is executed in */
+ /**
+ * @var IContextSource|null The context this Article is executed in.
+ * If null, REquestContext::getMain() is used.
+ */
protected $mContext;
/** @var WikiPage The WikiPage object of this instance */
protected $mPage;
- /** @var ParserOptions ParserOptions object for $wgUser articles */
+ /**
+ * @var ParserOptions|null ParserOptions object for $wgUser articles.
+ * Initialized by getParserOptions by calling $this->mPage->makeParserOptions().
+ */
public $mParserOptions;
/**
- * @var string Text of the revision we are working on
+ * @var string|null Text of the revision we are working on
* @todo BC cruft
*/
public $mContent;
/**
- * @var Content Content of the revision we are working on
+ * @var Content|null Content of the revision we are working on.
+ * Initialized by fetchContentObject().
* @since 1.21
*/
public $mContentObject;
/** @var int|null The oldid of the article that is to be shown, 0 for the current revision */
public $mOldId;
- /** @var Title Title from which we were redirected here */
+ /** @var Title|null Title from which we were redirected here, if any. */
public $mRedirectedFrom = null;
/** @var string|bool URL to redirect to or false if none */
/** @var int Revision ID of revision we are working on */
public $mRevIdFetched = 0;
- /** @var Revision Revision we are working on */
+ /**
+ * @var Revision|null Revision we are working on. Initialized by getOldIDFromRequest()
+ * or fetchContentObject().
+ */
public $mRevision = null;
- /** @var ParserOutput */
+ /**
+ * @var ParserOutput|null|false The ParserOutput generated for viewing the page,
+ * initialized by view(). If no ParserOutput could be generated, this is set to false.
+ */
public $mParserOutput;
/**
# Note that $this->mParserOutput is the *current*/oldid version output.
$pOutput = ( $outputDone instanceof ParserOutput )
? $outputDone // object fetched by hook
- : $this->mParserOutput;
+ : $this->mParserOutput ?: null; // ParserOutput or null, avoid false
# Adjust title for main page & pages with displaytitle
if ( $pOutput ) {
);
// DifferenceEngine directly fetched the revision:
- $this->mRevIdFetched = $de->mNewid;
+ $this->mRevIdFetched = $de->getNewid();
$de->showDiffPage( $diffOnly );
// Run view updates for the newer revision being diffed (and shown
* @return array The policy that should be set
* @todo actions other than 'view'
*/
- public function getRobotPolicy( $action, $pOutput = null ) {
+ public function getRobotPolicy( $action, ParserOutput $pOutput = null ) {
global $wgArticleRobotPolicies, $wgNamespaceRobotPolicies, $wgDefaultRobotPolicy;
$ns = $this->getTitle()->getNamespace();
* Call to WikiPage function for backwards compatibility.
* @see WikiPage::doDeleteUpdates
*/
- public function doDeleteUpdates( $id, Content $content = null ) {
- return $this->mPage->doDeleteUpdates( $id, $content );
+ public function doDeleteUpdates(
+ $id,
+ Content $content = null,
+ $revision = null,
+ User $user = null
+ ) {
+ $this->mPage->doDeleteUpdates( $id, $content, $revision, $user );
}
/**