X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=blobdiff_plain;f=includes%2Fpage%2FWikiPage.php;h=4f4decfbdd0e310ad3c9c2fd08cdb72889f5e50f;hp=3ba2d2e69e638644a2e0cced4ec83969409fd76a;hb=6c9a2923fe1ee3a65cb027be5e781772f2b12fbd;hpb=1c7f71cefab6a2b3163312bccaa3c46bc61b063d diff --git a/includes/page/WikiPage.php b/includes/page/WikiPage.php index 3ba2d2e69e..4f4decfbdd 100644 --- a/includes/page/WikiPage.php +++ b/includes/page/WikiPage.php @@ -20,6 +20,7 @@ * @file */ +use MediaWiki\Edit\PreparedEdit; use \MediaWiki\Logger\LoggerFactory; use \MediaWiki\MediaWikiServices; use Wikimedia\Rdbms\FakeResultWrapper; @@ -49,7 +50,7 @@ class WikiPage implements Page, IDBAccessObject { public $mLatest = false; // !< Integer (false means "not loaded") /**@}}*/ - /** @var stdClass Map of cache fields (text, parser output, ect) for a proposed/new edit */ + /** @var PreparedEdit Map of cache fields (text, parser output, ect) for a proposed/new edit */ public $mPreparedEdit = false; /** @@ -382,11 +383,12 @@ class WikiPage implements Page, IDBAccessObject { if ( is_int( $from ) ) { list( $index, $opts ) = DBAccessObjectUtils::getDBOptions( $from ); $data = $this->pageDataFromTitle( wfGetDB( $index ), $this->mTitle, $opts ); + $loadBalancer = MediaWikiServices::getInstance()->getDBLoadBalancer(); if ( !$data && $index == DB_REPLICA - && wfGetLB()->getServerCount() > 1 - && wfGetLB()->hasOrMadeRecentMasterChanges() + && $loadBalancer->getServerCount() > 1 + && $loadBalancer->hasOrMadeRecentMasterChanges() ) { $from = self::READ_LATEST; list( $index, $opts ) = DBAccessObjectUtils::getDBOptions( $from ); @@ -781,7 +783,7 @@ class WikiPage implements Page, IDBAccessObject { * Determine whether a page would be suitable for being counted as an * article in the site_stats table based on the title & its content * - * @param object|bool $editInfo (false): object returned by prepareTextForEdit(), + * @param PreparedEdit|bool $editInfo (false): object returned by prepareTextForEdit(), * if false, the current database state will be used * @return bool */ @@ -1606,7 +1608,7 @@ class WikiPage implements Page, IDBAccessObject { $meta = [ 'bot' => ( $flags & EDIT_FORCE_BOT ), 'minor' => ( $flags & EDIT_MINOR ) && $user->isAllowed( 'minoredit' ), - 'serialized' => $editInfo->pst, + 'serialized' => $pstContent->serialize( $serialFormat ), 'serialFormat' => $serialFormat, 'baseRevId' => $baseRevId, 'oldRevision' => $old_revision, @@ -1960,7 +1962,9 @@ class WikiPage implements Page, IDBAccessObject { /** * Prepare content which is about to be saved. - * Returns a stdClass with source, pst and output members + * + * Prior to 1.30, this returned a stdClass object with the same class + * members. * * @param Content $content * @param Revision|int|null $revision Revision object. For backwards compatibility, a @@ -1969,7 +1973,7 @@ class WikiPage implements Page, IDBAccessObject { * @param string|null $serialFormat * @param bool $useCache Check shared prepared edit cache * - * @return object + * @return PreparedEdit * * @since 1.21 */ @@ -2019,7 +2023,7 @@ class WikiPage implements Page, IDBAccessObject { $popts = ParserOptions::newFromUserAndLang( $user, $wgContLang ); Hooks::run( 'ArticlePrepareTextForEdit', [ $this, $popts ] ); - $edit = (object)[]; + $edit = new PreparedEdit(); if ( $cachedEdit ) { $edit->timestamp = $cachedEdit->timestamp; } else { @@ -2970,7 +2974,7 @@ class WikiPage implements Page, IDBAccessObject { } // Clear caches - WikiPage::onArticleDelete( $this->mTitle ); + self::onArticleDelete( $this->mTitle ); ResourceLoaderWikiModule::invalidateModuleCache( $this->mTitle, $revision, null, wfWikiID() ); @@ -2997,7 +3001,7 @@ class WikiPage implements Page, IDBAccessObject { * @param string $token Rollback token. * @param bool $bot If true, mark all reverted edits as bot. * - * @param array $resultDetails Array contains result-specific array of additional values + * @param array &$resultDetails Array contains result-specific array of additional values * 'alreadyrolled' : 'current' (rev) * success : 'summary' (str), 'current' (rev), 'target' (rev) * @@ -3049,7 +3053,7 @@ class WikiPage implements Page, IDBAccessObject { * @param string $summary Custom summary. Set to default summary if empty. * @param bool $bot If true, mark all reverted edits as bot. * - * @param array $resultDetails Contains result-specific array of additional values + * @param array &$resultDetails Contains result-specific array of additional values * @param User $guser The user performing the rollback * @param array|null $tags Change tags to apply to the rollback * Callers are responsible for permission checks