![]() 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/app/bundles/PluginBundle/Entity/ |
<?php namespace Mautic\PluginBundle\Entity; use Doctrine\ORM\Query; use Mautic\CoreBundle\Cache\ResultCacheHelper; use Mautic\CoreBundle\Cache\ResultCacheOptions; use Mautic\CoreBundle\Entity\CommonRepository; /** * @extends CommonRepository<Integration> */ class IntegrationRepository extends CommonRepository { /** * @return mixed[] */ public function getIntegrations(): array { $query = $this->createQueryBuilder('i') ->join('i.plugin', 'p') ->getQuery(); $this->enableCache($query); $services = $query->getResult(); $results = []; foreach ($services as $s) { $results[$s->getName()] = $s; } return $results; } /** * Get core (no plugin) integrations. * * @return mixed[] */ public function getCoreIntegrations(): array { $query = $this->createQueryBuilder('i') ->getQuery(); $this->enableCache($query); $services = $query->getResult(); $results = []; foreach ($services as $s) { $results[$s->getName()] = $s; } return $results; } public function findOneByName(string $name): ?Integration { $query = $this->createQueryBuilder('i') ->where('i.name = :name') ->setParameter('name', $name) ->setMaxResults(1) ->getQuery(); $this->enableCache($query); return $query->getOneOrNullResult(); } private function enableCache(Query $query): void { ResultCacheHelper::enableOrmQueryCache($query, new ResultCacheOptions(Integration::CACHE_NAMESPACE)); } }