vendor/avenue/avenue-admin/src/Controller/BaseController.php line 60

Open in your IDE?
  1. <?php
  2. namespace AvenueAdminBundle\Controller;
  3. use AvenueAdminBundle\Document\Config;
  4. use AvenueAdminBundle\Mail\Mail;
  5. use Psr\Log\LoggerInterface;
  6. use Doctrine\ODM\MongoDB\DocumentManager;
  7. use Symfony\Component\Security\Core\Security;
  8. use Doctrine\ODM\MongoDB\Query\Builder;
  9. use Doctrine\ODM\MongoDB\Repository\DocumentRepository;
  10. abstract class BaseController extends \Symfony\Bundle\FrameworkBundle\Controller\AbstractController
  11. {
  12.     /**
  13.      * @var DocumentManager
  14.      */
  15.     private $dm;
  16.     private $logger;
  17.     /**
  18.      * @return LoggerInterface
  19.      */
  20.     public function getLogger()
  21.     {
  22.         return $this->logger;
  23.     }
  24.     /**
  25.      * @param LoggerInterface $logger
  26.      * @required
  27.      */
  28.     public function setLogger(LoggerInterface $logger): void
  29.     {
  30.         $this->logger $logger;
  31.     }
  32.     /**
  33.      * @return DocumentManager
  34.      */
  35.     public function getDocumentManager() {
  36.         return $this->dm;
  37.     }
  38.     /**
  39.      * @param DocumentManager $dm
  40.      * @required
  41.      */
  42.     public function setDocumentManager(DocumentManager $dm): void
  43.     {
  44.         $this->dm $dm;
  45.     }
  46.     /**
  47.      * @param $className
  48.      * @return \Doctrine\Common\Persistence\ObjectRepository|DocumentRepository
  49.      */
  50.     protected function getDocumentRepository($className)
  51.     {
  52.         return $this->dm->getRepository($className);
  53.     }
  54.     /**
  55.      * @param $className
  56.      * @return Builder
  57.      */
  58.     protected function getQueryBuilder($className)
  59.     {
  60.         return $this->getDocumentRepository($className)->createQueryBuilder();
  61.     }
  62.     /**
  63.      * @return \Twig\Environment
  64.      */
  65.     protected function getTwig()
  66.     {
  67.         return $this->container->get('twig');
  68.     }
  69.     /**
  70.      * @param string $seoTitle
  71.      * @param string $seoDescription
  72.      * @param string $seoKeywords
  73.      */
  74.     protected function setSeoVariables($seoTitle$seoDescription ''$seoKeywords '')
  75.     {
  76.         $twig $this->getTwig();
  77.         $twig->addGlobal('seoTitle'$seoTitle);
  78.         $twig->addGlobal('seoDescription'$seoDescription);
  79.         $twig->addGlobal('seoKeywords'$seoKeywords);
  80.     }
  81.     private $mail;
  82.     /**
  83.      * @required
  84.      * @param Mail $mail
  85.      */
  86.     public function setMail(Mail $mail) {
  87.         $this->mail $mail;
  88.     }
  89.     public function getMail(): Mail {
  90.         return $this->mail;
  91.     }
  92. }