Файловый менеджер - Редактировать - /var/www/html/mediawiki-1.43.1/includes/Storage/PageUpdaterFactory.php
Ðазад
<?php /** * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * http://www.gnu.org/copyleft/gpl.html * * @file */ namespace MediaWiki\Storage; use JobQueueGroup; use MediaWiki\Config\ServiceOptions; use MediaWiki\Content\IContentHandlerFactory; use MediaWiki\Content\Transform\ContentTransformer; use MediaWiki\HookContainer\HookContainer; use MediaWiki\Language\Language; use MediaWiki\MainConfigNames; use MediaWiki\Page\PageIdentity; use MediaWiki\Page\WikiPageFactory; use MediaWiki\Parser\ParserCache; use MediaWiki\Permissions\PermissionManager; use MediaWiki\Revision\RevisionRenderer; use MediaWiki\Revision\RevisionStore; use MediaWiki\Revision\SlotRoleRegistry; use MediaWiki\Title\TitleFormatter; use MediaWiki\User\TalkPageNotificationManager; use MediaWiki\User\UserEditTracker; use MediaWiki\User\UserGroupManager; use MediaWiki\User\UserIdentity; use MediaWiki\User\UserNameUtils; use MessageCache; use Psr\Log\LoggerInterface; use Wikimedia\ObjectCache\WANObjectCache; use Wikimedia\Rdbms\ILBFactory; /** * A factory for PageUpdater and DerivedPageDataUpdater instances. * * @since 1.37 * @ingroup Page */ class PageUpdaterFactory { /** * Options that have to be present in the ServiceOptions object passed to the constructor. * @note must include PageUpdater::CONSTRUCTOR_OPTIONS * @internal */ public const CONSTRUCTOR_OPTIONS = [ MainConfigNames::ArticleCountMethod, MainConfigNames::RCWatchCategoryMembership, MainConfigNames::PageCreationLog, MainConfigNames::UseAutomaticEditSummaries, MainConfigNames::ManualRevertSearchRadius, MainConfigNames::UseRCPatrol, MainConfigNames::ParsoidCacheConfig, ]; /** @var RevisionStore */ private $revisionStore; /** @var RevisionRenderer */ private $revisionRenderer; /** @var SlotRoleRegistry */ private $slotRoleRegistry; /** @var ParserCache */ private $parserCache; /** @var JobQueueGroup */ private $jobQueueGroup; /** @var MessageCache */ private $messageCache; /** @var Language */ private $contLang; /** @var ILBFactory */ private $loadbalancerFactory; /** @var IContentHandlerFactory */ private $contentHandlerFactory; /** @var HookContainer */ private $hookContainer; /** @var EditResultCache */ private $editResultCache; /** @var UserNameUtils */ private $userNameUtils; /** @var LoggerInterface */ private $logger; /** @var ServiceOptions */ private $options; /** @var UserEditTracker */ private $userEditTracker; /** @var UserGroupManager */ private $userGroupManager; /** @var TitleFormatter */ private $titleFormatter; /** @var ContentTransformer */ private $contentTransformer; /** @var PageEditStash */ private $pageEditStash; /** @var TalkPageNotificationManager */ private $talkPageNotificationManager; /** @var WANObjectCache */ private $mainWANObjectCache; /** @var PermissionManager */ private $permissionManager; /** @var WikiPageFactory */ private $wikiPageFactory; /** @var string[] */ private $softwareTags; /** * @param RevisionStore $revisionStore * @param RevisionRenderer $revisionRenderer * @param SlotRoleRegistry $slotRoleRegistry * @param ParserCache $parserCache * @param JobQueueGroup $jobQueueGroup * @param MessageCache $messageCache * @param Language $contLang * @param ILBFactory $loadbalancerFactory * @param IContentHandlerFactory $contentHandlerFactory * @param HookContainer $hookContainer * @param EditResultCache $editResultCache * @param UserNameUtils $userNameUtils * @param LoggerInterface $logger * @param ServiceOptions $options * @param UserEditTracker $userEditTracker * @param UserGroupManager $userGroupManager * @param TitleFormatter $titleFormatter * @param ContentTransformer $contentTransformer * @param PageEditStash $pageEditStash * @param TalkPageNotificationManager $talkPageNotificationManager * @param WANObjectCache $mainWANObjectCache * @param PermissionManager $permissionManager * @param WikiPageFactory $wikiPageFactory * @param string[] $softwareTags */ public function __construct( RevisionStore $revisionStore, RevisionRenderer $revisionRenderer, SlotRoleRegistry $slotRoleRegistry, ParserCache $parserCache, JobQueueGroup $jobQueueGroup, MessageCache $messageCache, Language $contLang, ILBFactory $loadbalancerFactory, IContentHandlerFactory $contentHandlerFactory, HookContainer $hookContainer, EditResultCache $editResultCache, UserNameUtils $userNameUtils, LoggerInterface $logger, ServiceOptions $options, UserEditTracker $userEditTracker, UserGroupManager $userGroupManager, TitleFormatter $titleFormatter, ContentTransformer $contentTransformer, PageEditStash $pageEditStash, TalkPageNotificationManager $talkPageNotificationManager, WANObjectCache $mainWANObjectCache, PermissionManager $permissionManager, WikiPageFactory $wikiPageFactory, array $softwareTags ) { $options->assertRequiredOptions( self::CONSTRUCTOR_OPTIONS ); $this->revisionStore = $revisionStore; $this->revisionRenderer = $revisionRenderer; $this->slotRoleRegistry = $slotRoleRegistry; $this->parserCache = $parserCache; $this->jobQueueGroup = $jobQueueGroup; $this->messageCache = $messageCache; $this->contLang = $contLang; $this->loadbalancerFactory = $loadbalancerFactory; $this->contentHandlerFactory = $contentHandlerFactory; $this->hookContainer = $hookContainer; $this->editResultCache = $editResultCache; $this->userNameUtils = $userNameUtils; $this->logger = $logger; $this->options = $options; $this->userEditTracker = $userEditTracker; $this->userGroupManager = $userGroupManager; $this->titleFormatter = $titleFormatter; $this->contentTransformer = $contentTransformer; $this->pageEditStash = $pageEditStash; $this->talkPageNotificationManager = $talkPageNotificationManager; $this->mainWANObjectCache = $mainWANObjectCache; $this->permissionManager = $permissionManager; $this->softwareTags = $softwareTags; $this->wikiPageFactory = $wikiPageFactory; } /** * Return a PageUpdater for building an update to a page. * * @internal For now, most code should keep using WikiPage::newPageUpdater() instead. * @note We can only start using this method everywhere when WikiPage::prepareContentForEdit() * and WikiPage::getCurrentUpdate() have been removed. For now, the WikiPage instance is * used to make the state of an ongoing edit available to hook handlers. * * @param PageIdentity $page * @param UserIdentity $user * * @return PageUpdater * @since 1.37 */ public function newPageUpdater( PageIdentity $page, UserIdentity $user ): PageUpdater { return $this->newPageUpdaterForDerivedPageDataUpdater( $page, $user, $this->newDerivedPageDataUpdater( $page ) ); } /** * Return a PageUpdater for building an update to a page, reusing the state of * an existing DerivedPageDataUpdater. * * @param PageIdentity $page * @param UserIdentity $user * @param DerivedPageDataUpdater $derivedPageDataUpdater * * @return PageUpdater * @internal needed by WikiPage to back the WikiPage::newPageUpdater method. * * @since 1.37 */ public function newPageUpdaterForDerivedPageDataUpdater( PageIdentity $page, UserIdentity $user, DerivedPageDataUpdater $derivedPageDataUpdater ): PageUpdater { $pageUpdater = new PageUpdater( $user, $page, $derivedPageDataUpdater, $this->loadbalancerFactory, $this->revisionStore, $this->slotRoleRegistry, $this->contentHandlerFactory, $this->hookContainer, $this->userEditTracker, $this->userGroupManager, $this->titleFormatter, new ServiceOptions( PageUpdater::CONSTRUCTOR_OPTIONS, $this->options ), $this->softwareTags, $this->logger, $this->wikiPageFactory ); $pageUpdater->setUsePageCreationLog( $this->options->get( MainConfigNames::PageCreationLog ) ); $pageUpdater->setUseAutomaticEditSummaries( $this->options->get( MainConfigNames::UseAutomaticEditSummaries ) ); return $pageUpdater; } /** * @param PageIdentity $page * * @return DerivedPageDataUpdater * @internal Needed by WikiPage to back the deprecated prepareContentForEdit() method. * @note Avoid direct usage of DerivedPageDataUpdater. * @see docs/pageupdater.md for more information. */ public function newDerivedPageDataUpdater( PageIdentity $page ): DerivedPageDataUpdater { $derivedDataUpdater = new DerivedPageDataUpdater( $this->options, $page, $this->revisionStore, $this->revisionRenderer, $this->slotRoleRegistry, $this->parserCache, $this->jobQueueGroup, $this->messageCache, $this->contLang, $this->loadbalancerFactory, $this->contentHandlerFactory, $this->hookContainer, $this->editResultCache, $this->userNameUtils, $this->contentTransformer, $this->pageEditStash, $this->talkPageNotificationManager, $this->mainWANObjectCache, $this->permissionManager, $this->wikiPageFactory ); $derivedDataUpdater->setLogger( $this->logger ); $derivedDataUpdater->setArticleCountMethod( $this->options->get( MainConfigNames::ArticleCountMethod ) ); $derivedDataUpdater->setRcWatchCategoryMembership( $this->options->get( MainConfigNames::RCWatchCategoryMembership ) ); return $derivedDataUpdater; } }
| ver. 1.1 | |
.
| PHP 8.4.18 | Ð“ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ Ñтраницы: 0 |
proxy
|
phpinfo
|
ÐаÑтройка