![]() 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/CoreBundle/Factory/ |
<?php namespace Mautic\CoreBundle\Factory; use GuzzleHttp\Client; use Mautic\CoreBundle\Helper\CoreParametersHelper; use Mautic\CoreBundle\IpLookup\AbstractLookup; use Psr\Log\LoggerInterface; class IpLookupFactory { public function __construct( protected array $lookupServices, protected ?LoggerInterface $logger = null, protected ?Client $client = null, protected ?string $cacheDir = null, protected ?CoreParametersHelper $coreParametersHelper = null ) { } /** * @return AbstractLookup|null */ public function getService($service, $auth = null, array $ipLookupConfig = []) { static $services = []; if (empty($service)) { return null; } if (!isset($services[$service]) || (null !== $auth || null !== $ipLookupConfig)) { if (!isset($this->lookupServices[$service])) { throw new \InvalidArgumentException($service.' not registered.'); } $className = $this->lookupServices[$service]['class']; if (!str_starts_with($className, '\\')) { $className = '\\'.$className; } $services[$service] = new $className( $auth, $ipLookupConfig, $this->cacheDir, $this->logger, $this->client, $this->coreParametersHelper ); } return $services[$service]; } }