![]() 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/mautic.corals.io/vendor/doctrine/doctrine-bundle/ |
<?php namespace Doctrine\Bundle\DoctrineBundle; use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\Query\Filter\SQLFilter; /** * Configurator for an EntityManager */ class ManagerConfigurator { /** @var string[] */ private array $enabledFilters = []; /** @var array<string,array<string,string>> */ private array $filtersParameters = []; /** * @param string[] $enabledFilters * @param array<string,array<string,string>> $filtersParameters */ public function __construct(array $enabledFilters, array $filtersParameters) { $this->enabledFilters = $enabledFilters; $this->filtersParameters = $filtersParameters; } /** * Create a connection by name. */ public function configure(EntityManagerInterface $entityManager) { $this->enableFilters($entityManager); } /** * Enables filters for a given entity manager */ private function enableFilters(EntityManagerInterface $entityManager): void { if (empty($this->enabledFilters)) { return; } $filterCollection = $entityManager->getFilters(); foreach ($this->enabledFilters as $filter) { $filterObject = $filterCollection->enable($filter); if ($filterObject === null) { continue; } $this->setFilterParameters($filter, $filterObject); } } /** * Sets default parameters for a given filter */ private function setFilterParameters(string $name, SQLFilter $filter): void { if (empty($this->filtersParameters[$name])) { return; } $parameters = $this->filtersParameters[$name]; foreach ($parameters as $paramName => $paramValue) { $filter->setParameter($paramName, $paramValue); } } }