![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-cms/Model/ResourceModel/Page/Grid/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Cms\Model\ResourceModel\Page\Grid; use Magento\Framework\Api\Search\SearchResultInterface; use Magento\Framework\Api\Search\AggregationInterface; use Magento\Cms\Model\ResourceModel\Page\Collection as PageCollection; use Magento\Framework\App\ObjectManager; use Magento\Framework\Data\Collection\Db\FetchStrategyInterface; use Magento\Framework\Data\Collection\EntityFactoryInterface; use Magento\Framework\EntityManager\MetadataPool; use Magento\Framework\Event\ManagerInterface; use Magento\Framework\Model\ResourceModel\Db\AbstractDb; use Magento\Framework\Stdlib\DateTime\TimezoneInterface; use Magento\Store\Model\StoreManagerInterface; use Psr\Log\LoggerInterface; /** * Class Collection * Collection for displaying grid of sales documents */ class Collection extends PageCollection implements SearchResultInterface { /** * @var TimezoneInterface */ private $timeZone; /** * @var AggregationInterface */ protected $aggregations; /** * @param EntityFactoryInterface $entityFactory * @param LoggerInterface $logger * @param FetchStrategyInterface $fetchStrategy * @param ManagerInterface $eventManager * @param StoreManagerInterface $storeManager * @param MetadataPool $metadataPool * @param mixed|null $mainTable * @param string $eventPrefix * @param mixed $eventObject * @param mixed $resourceModel * @param string $model * @param mixed|null $connection * @param AbstractDb|null $resource * @param TimezoneInterface|null $timeZone * * @SuppressWarnings(PHPMD.ExcessiveParameterList) */ public function __construct( EntityFactoryInterface $entityFactory, LoggerInterface $logger, FetchStrategyInterface $fetchStrategy, ManagerInterface $eventManager, StoreManagerInterface $storeManager, MetadataPool $metadataPool, $mainTable, $eventPrefix, $eventObject, $resourceModel, $model = \Magento\Framework\View\Element\UiComponent\DataProvider\Document::class, $connection = null, AbstractDb $resource = null, TimezoneInterface $timeZone = null ) { parent::__construct( $entityFactory, $logger, $fetchStrategy, $eventManager, $storeManager, $metadataPool, $connection, $resource ); $this->_eventPrefix = $eventPrefix; $this->_eventObject = $eventObject; $this->_init($model, $resourceModel); $this->setMainTable($mainTable); $this->timeZone = $timeZone ?: ObjectManager::getInstance()->get(TimezoneInterface::class); } /** * @inheritDoc */ public function addFieldToFilter($field, $condition = null) { if ($field === 'creation_time' || $field === 'update_time') { if (is_array($condition)) { foreach ($condition as $key => $value) { $condition[$key] = $this->timeZone->convertConfigTimeToUtc($value); } } } return parent::addFieldToFilter($field, $condition); } /** * Get aggregation interface instance * * @return AggregationInterface */ public function getAggregations() { return $this->aggregations; } /** * Set aggregation interface instance * * @param AggregationInterface $aggregations * @return $this */ public function setAggregations($aggregations) { $this->aggregations = $aggregations; return $this; } /** * Get search criteria. * * @return \Magento\Framework\Api\SearchCriteriaInterface|null */ public function getSearchCriteria() { return null; } /** * Set search criteria. * * @param \Magento\Framework\Api\SearchCriteriaInterface $searchCriteria * @return $this * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function setSearchCriteria(\Magento\Framework\Api\SearchCriteriaInterface $searchCriteria = null) { return $this; } /** * Get total count. * * @return int */ public function getTotalCount() { return $this->getSize(); } /** * Set total count. * * @param int $totalCount * @return $this * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function setTotalCount($totalCount) { return $this; } /** * Set items list. * * @param \Magento\Framework\Api\ExtensibleDataInterface[] $items * @return $this * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function setItems(array $items = null) { return $this; } }