From 28906899160daa96960ea5de676e6e81687e95f8 Mon Sep 17 00:00:00 2001 From: Tyler Cipriani Date: Mon, 1 Feb 2016 16:58:27 -0800 Subject: [PATCH] Revert "Unroll Article::__call" This reverts commit 6051fcd38374db7e2d984ec535da264cb48d291f. Bug: T125468 Change-Id: I9456c8e1b95ca3b2b2fa5d306f45a46210c4b1fc --- includes/page/Article.php | 580 +------------------------------------- 1 file changed, 15 insertions(+), 565 deletions(-) diff --git a/includes/page/Article.php b/includes/page/Article.php index 938c049a58..f16158b875 100644 --- a/includes/page/Article.php +++ b/includes/page/Article.php @@ -2084,574 +2084,22 @@ class Article implements Page { } /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::checkFlags - */ - public function checkFlags( $flags ) { - return $this->mPage->checkFlags( $flags ); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::checkTouched - */ - public function checkTouched() { - return $this->mPage->checkTouched(); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::clearPreparedEdit - */ - public function clearPreparedEdit() { - return $this->mPage->clearPreparedEdit(); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::doDeleteArticleReal - */ - public function doDeleteArticleReal( - $reason, $suppress = false, $u1 = null, $u2 = null, &$error = '', User $user = null - ) { - return $this->mPage->doDeleteArticleReal( - $reason, $suppress, $u1, $u2, $error, $user - ); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::doDeleteUpdates - */ - public function doDeleteUpdates( $id, Content $content = null ) { - return $this->mPage->doDeleteUpdates( $id, $content ); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::doEdit - */ - public function doEdit( $text, $summary, $flags = 0, $baseRevId = false, $user = null ) { - ContentHandler::deprecated( __METHOD__, '1.21' ); - return $this->mPage->doEdit( $text, $summary, $flags, $baseRevId, $user ); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::doEditContent - */ - public function doEditContent( Content $content, $summary, $flags = 0, $baseRevId = false, - User $user = null, $serialFormat = null - ) { - return $this->mPage->doEditContent( $content, $summary, $flags, $baseRevId, - $user, $serialFormat - ); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::doEditUpdates - */ - public function doEditUpdates( Revision $revision, User $user, array $options = array() ) { - return $this->mPage->doEditUpdates( $revision, $user, $options ); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::doPurge - */ - public function doPurge() { - return $this->mPage->doPurge(); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::doQuickEditContent - */ - public function doQuickEditContent( - Content $content, User $user, $comment = '', $minor = false, $serialFormat = null - ) { - return $this->mPage->doQuickEditContent( - $content, $user, $comment, $minor, $serialFormat - ); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::doViewUpdates - */ - public function doViewUpdates( User $user, $oldid = 0 ) { - return $this->mPage->doViewUpdates( $user, $oldid ); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::exists - */ - public function exists() { - return $this->mPage->exists(); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::followRedirect - */ - public function followRedirect() { - return $this->mPage->followRedirect(); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::getActionOverrides - */ - public function getActionOverrides() { - return $this->mPage->getActionOverrides(); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::getAutoDeleteReason - */ - public function getAutoDeleteReason( &$hasHistory ) { - return $this->mPage->getAutoDeleteReason( $hasHistory ); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::getCategories - */ - public function getCategories() { - return $this->mPage->getCategories(); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::getComment - */ - public function getComment( $audience = Revision::FOR_PUBLIC, User $user = null ) { - return $this->mPage->getComment( $audience, $user ); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::getContentHandler - */ - public function getContentHandler() { - return $this->mPage->getContentHandler(); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::getContentModel - */ - public function getContentModel() { - return $this->mPage->getContentModel(); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::getContributors - */ - public function getContributors() { - return $this->mPage->getContributors(); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::getCreator - */ - public function getCreator( $audience = Revision::FOR_PUBLIC, User $user = null ) { - return $this->mPage->getCreator( $audience, $user ); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::getDeletionUpdates - */ - public function getDeletionUpdates( Content $content = null ) { - return $this->mPage->getDeletionUpdates( $content ); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::getHiddenCategories - */ - public function getHiddenCategories() { - return $this->mPage->getHiddenCategories(); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::getId - */ - public function getId() { - return $this->mPage->getId(); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::getLatest - */ - public function getLatest() { - return $this->mPage->getLatest(); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::getLinksTimestamp - */ - public function getLinksTimestamp() { - return $this->mPage->getLinksTimestamp(); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::getMinorEdit - */ - public function getMinorEdit() { - return $this->mPage->getMinorEdit(); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::getOldestRevision - */ - public function getOldestRevision() { - return $this->mPage->getOldestRevision(); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::getRedirectTarget - */ - public function getRedirectTarget() { - return $this->mPage->getRedirectTarget(); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::getRedirectURL - */ - public function getRedirectURL( $rt ) { - return $this->mPage->getRedirectURL( $rt ); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::getRevision - */ - public function getRevision() { - return $this->mPage->getRevision(); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::getText - */ - public function getText( $audience = Revision::FOR_PUBLIC, User $user = null ) { - ContentHandler::deprecated( __METHOD__, '1.21' ); - return $this->mPage->getText( $audience, $user ); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::getTimestamp - */ - public function getTimestamp() { - return $this->mPage->getTimestamp(); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::getTouched - */ - public function getTouched() { - return $this->mPage->getTouched(); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::getUndoContent - */ - public function getUndoContent( Revision $undo, Revision $undoafter = null ) { - return $this->mPage->getUndoContent( $undo, $undoafter ); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::getUndoText - */ - public function getUndoText( Revision $undo, Revision $undoafter = null ) { - ContentHandler::deprecated( __METHOD__, '1.21' ); - return $this->mPage->getUndoText( $undo, $undoafter ); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::getUser - */ - public function getUser( $audience = Revision::FOR_PUBLIC, User $user = null ) { - return $this->mPage->getUser( $audience, $user ); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::getUserText - */ - public function getUserText( $audience = Revision::FOR_PUBLIC, User $user = null ) { - return $this->mPage->getUserText( $audience, $user ); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::hasViewableContent - */ - public function hasViewableContent() { - return $this->mPage->hasViewableContent(); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::insertOn - */ - public function insertOn( $dbw, $pageId = null ) { - return $this->mPage->insertOn( $dbw, $pageId ); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::insertProtectNullRevision - */ - public function insertProtectNullRevision( $revCommentMsg, array $limit, - array $expiry, $cascade, $reason, $user = null - ) { - return $this->mPage->insertProtectNullRevision( $revCommentMsg, $limit, - $expiry, $cascade, $reason, $user - ); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::insertRedirect - */ - public function insertRedirect() { - return $this->mPage->insertRedirect(); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::insertRedirectEntry - */ - public function insertRedirectEntry( Title $rt, $oldLatest = null ) { - return $this->mPage->insertRedirectEntry( $rt, $oldLatest ); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::isCountable - */ - public function isCountable( $editInfo = false ) { - return $this->mPage->isCountable( $editInfo ); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::isRedirect - */ - public function isRedirect() { - return $this->mPage->isRedirect(); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::loadFromRow - */ - public function loadFromRow( $data, $from ) { - return $this->mPage->loadFromRow( $data, $from ); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::loadPageData - */ - public function loadPageData( $from = 'fromdb' ) { - return $this->mPage->loadPageData( $from ); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::lockAndGetLatest - */ - public function lockAndGetLatest() { - return $this->mPage->lockAndGetLatest(); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::makeParserOptions - */ - public function makeParserOptions( $context ) { - return $this->mPage->makeParserOptions( $context ); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::pageDataFromId - */ - public function pageDataFromId( $dbr, $id, $options = array() ) { - return $this->mPage->pageDataFromId( $dbr, $id, $options ); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::pageDataFromTitle - */ - public function pageDataFromTitle( $dbr, $title, $options = array() ) { - return $this->mPage->pageDataFromTitle( $dbr, $title, $options ); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::prepareContentForEdit - */ - public function prepareContentForEdit( - Content $content, $revision = null, User $user = null, - $serialFormat = null, $useCache = true - ) { - return $this->mPage->prepareContentForEdit( - $content, $revision, $user, - $serialFormat, $useCache - ); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @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 - */ - public function protectDescription( array $limit, array $expiry ) { - return $this->mPage->protectDescription( $limit, $expiry ); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::protectDescriptionLog - */ - public function protectDescriptionLog( array $limit, array $expiry ) { - return $this->mPage->protectDescriptionLog( $limit, $expiry ); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::replaceSection - */ - public function replaceSection( $sectionId, $text, $sectionTitle = '', - $edittime = null - ) { - ContentHandler::deprecated( __METHOD__, '1.21' ); - return $this->mPage->replaceSection( $sectionId, $text, $sectionTitle, - $edittime - ); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::replaceSectionAtRev - */ - public function replaceSectionAtRev( $sectionId, Content $sectionContent, - $sectionTitle = '', $baseRevId = null - ) { - return $this->mPage->replaceSectionAtRev( $sectionId, $sectionContent, - $sectionTitle, $baseRevId - ); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::replaceSectionContent - */ - public function replaceSectionContent( - $sectionId, Content $sectionContent, $sectionTitle = '', $edittime = null - ) { - return $this->mPage->replaceSectionContent( - $sectionId, $sectionContent, $sectionTitle, $edittime - ); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::setTimestamp - */ - public function setTimestamp( $ts ) { - return $this->mPage->setTimestamp( $ts ); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::shouldCheckParserCache - */ - public function shouldCheckParserCache( ParserOptions $parserOptions, $oldId ) { - return $this->mPage->shouldCheckParserCache( $parserOptions, $oldId ); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::supportsSections - */ - public function supportsSections() { - return $this->mPage->supportsSections(); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::triggerOpportunisticLinksUpdate - */ - public function triggerOpportunisticLinksUpdate( ParserOutput $parserOutput ) { - return $this->mPage->triggerOpportunisticLinksUpdate( $parserOutput ); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::updateCategoryCounts - */ - public function updateCategoryCounts( array $added, array $deleted ) { - return $this->mPage->updateCategoryCounts( $added, $deleted ); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::updateIfNewerOn - */ - public function updateIfNewerOn( $dbw, $revision ) { - return $this->mPage->updateIfNewerOn( $dbw, $revision ); - } - - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::updateRedirectOn + * Use PHP's magic __call handler to transform instance calls to + * WikiPage functions for backwards compatibility. + * + * @param string $fname Name of called method + * @param array $args Arguments to the method + * @return mixed */ - public function updateRedirectOn( $dbw, $redirectTitle, $lastRevIsRedirect = null ) { - return $this->mPage->updateRedirectOn( $dbw, $redirectTitle, $lastRevIsRedirect = null ); + public function __call( $fname, $args ) { + if ( is_callable( array( $this->mPage, $fname ) ) ) { + # wfWarn( "Call to " . __CLASS__ . "::$fname; please use WikiPage instead" ); + return call_user_func_array( array( $this->mPage, $fname ), $args ); + } + trigger_error( 'Inaccessible function via __call(): ' . $fname, E_USER_ERROR ); } - /** - * Call to WikiPage function for backwards compatibility. - * @see WikiPage::updateRevisionOn - */ - public function updateRevisionOn( $dbw, $revision, $lastRevision = null, - $lastRevIsRedirect = null - ) { - return $this->mPage->updateRevisionOn( $dbw, $revision, $lastRevision, - $lastRevIsRedirect - ); - } + // ****** B/C functions to work-around PHP silliness with __call and references ****** // /** * @param array $limit @@ -2737,6 +2185,8 @@ class Article implements Page { return $handler->getAutoDeleteReason( $title, $hasHistory ); } + // ****** B/C functions for static methods ( __callStatic is PHP>=5.3 ) ****** // + /** * @return array * -- 2.20.1