![]() 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/CacheBundle/EventListener/ |
<?php declare(strict_types=1); namespace Mautic\CacheBundle\EventListener; use Mautic\CacheBundle\Cache\CacheProvider; use Psr\Log\LoggerInterface; use Symfony\Component\Cache\Adapter\AdapterInterface; use Symfony\Component\HttpKernel\CacheClearer\CacheClearerInterface; class CacheClearSubscriber implements CacheClearerInterface { /** * @var CacheProvider */ private AdapterInterface $cacheProvider; private LoggerInterface $logger; public function __construct(AdapterInterface $cacheProvider, LoggerInterface $logger) { $this->cacheProvider = $cacheProvider; $this->logger = $logger; } /** * @param string $cacheDir * * @throws \Exception */ public function clear($cacheDir): void { try { $reflect = new \ReflectionClass($this->cacheProvider->getCacheAdapter()); $adapter = $reflect->getShortName(); } catch (\ReflectionException) { $adapter = 'unknown'; } try { if (!$this->cacheProvider->clear()) { $this->logger->emergency('Failed to clear Mautic cache.', ['adapter' => $adapter]); throw new \Exception('Failed to clear '.$adapter); } } catch (\PDOException) { } } }