![]() 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/Ui/Component/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Cms\Ui\Component; use Magento\Framework\Api\Filter; use Magento\Framework\Api\FilterBuilder; use Magento\Framework\Api\Search\SearchCriteriaBuilder; use Magento\Framework\App\ObjectManager; use Magento\Framework\App\RequestInterface; use Magento\Framework\AuthorizationInterface; use Magento\Framework\View\Element\UiComponent\DataProvider\Reporting; /** * DataProvider for cms ui. */ class DataProvider extends \Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider { /** * @var AuthorizationInterface */ private $authorization; /** * @var AddFilterInterface[] */ private $additionalFilterPool; /** * @param string $name * @param string $primaryFieldName * @param string $requestFieldName * @param Reporting $reporting * @param SearchCriteriaBuilder $searchCriteriaBuilder * @param RequestInterface $request * @param FilterBuilder $filterBuilder * @param array $meta * @param array $data * @param array $additionalFilterPool * @SuppressWarnings(PHPMD.ExcessiveParameterList) */ public function __construct( $name, $primaryFieldName, $requestFieldName, Reporting $reporting, SearchCriteriaBuilder $searchCriteriaBuilder, RequestInterface $request, FilterBuilder $filterBuilder, array $meta = [], array $data = [], array $additionalFilterPool = [] ) { parent::__construct( $name, $primaryFieldName, $requestFieldName, $reporting, $searchCriteriaBuilder, $request, $filterBuilder, $meta, $data ); $this->meta = array_replace_recursive($meta, $this->prepareMetadata()); $this->additionalFilterPool = $additionalFilterPool; } /** * Get authorization info. * * @deprecated 101.0.7 * @return AuthorizationInterface|mixed */ private function getAuthorizationInstance() { if ($this->authorization === null) { $this->authorization = ObjectManager::getInstance()->get(AuthorizationInterface::class); } return $this->authorization; } /** * Prepares Meta * * @return array */ public function prepareMetadata() { $metadata = []; if (!$this->getAuthorizationInstance()->isAllowed('Magento_Cms::save')) { $metadata = [ 'cms_page_columns' => [ 'arguments' => [ 'data' => [ 'config' => [ 'editorConfig' => [ 'enabled' => false ], 'componentType' => \Magento\Ui\Component\Container::NAME ] ] ] ] ]; } return $metadata; } /** * @inheritdoc */ public function addFilter(Filter $filter) { if (!empty($this->additionalFilterPool[$filter->getField()])) { $this->additionalFilterPool[$filter->getField()]->addFilter($this->searchCriteriaBuilder, $filter); } else { parent::addFilter($filter); } } }