Networking\InitCmsBundle\Controller\PageAdminController::batchActionCacheClear PHP Méthode

batchActionCacheClear() public méthode

public batchActionCacheClear ( Sonata\AdminBundle\Datagrid\ProxyQueryInterface $selectedModelQuery ) : RedirectResponse
$selectedModelQuery Sonata\AdminBundle\Datagrid\ProxyQueryInterface
Résultat Symfony\Component\HttpFoundation\RedirectResponse
    public function batchActionCacheClear(ProxyQueryInterface $selectedModelQuery)
    {
        if ($this->admin->isGranted('PUBLISH') === false) {
            throw new AccessDeniedException();
        }
        $selectedModels = $selectedModelQuery->execute();
        try {
            foreach ($selectedModels as $selectedModel) {
                /** @var \Networking\InitCmsBundle\Lib\PhpCacheInterface $phpCache */
                $phpCache = $this->get('networking_init_cms.lib.php_cache');
                if ($phpCache->isActive()) {
                    /** @var PageInterface $selectedModel */
                    $cacheKey = $selectedModel->getLocale() . $selectedModel->getFullPath();
                    $phpCache->delete($cacheKey);
                }
            }
        } catch (\Exception $e) {
            $this->get('session')->getFlashBag()->add('sonata_flash_error', 'flash_batch_cache_clear_error');
            return new RedirectResponse($this->admin->generateUrl('list', $this->admin->getFilterParameters()));
        }
        $this->get('session')->getFlashBag()->add('sonata_flash_success', 'flash_batch_cache_clear_success');
        return new RedirectResponse($this->admin->generateUrl('list', $this->admin->getFilterParameters()));
    }