src/Helper/TwigProvider.php line 70

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. /**
  4.  * @author Mehrez Labidi
  5.  * @Description
  6.  */
  7. namespace App\Helper;
  8. use App\Entity\Model\Annonces;
  9. use Symfony\Component\DependencyInjection\ContainerInterface;
  10. use App\Services\ManagerEntity\{
  11.     LocalisationsManagers,
  12.     SecteursActiviteManagers
  13. };
  14. use App\Repository\ParametresDiversRepository;
  15. use Symfony\Component\DependencyInjection\ParameterBag\ContainerBagInterface;
  16. class TwigProvider {
  17.     /**
  18.      * @var LocalisationsManagers
  19.      */
  20.     private $localisationsManagers;
  21.     /**
  22.      * @var Container
  23.      */
  24.     private $container;
  25.     /**
  26.      * 
  27.      * @var type
  28.      */
  29.     private $pdRepo;
  30.     /**
  31.      * 
  32.      * @var type
  33.      */
  34.     private $sam;
  35.     /**
  36.      * @var ContainerBagInterface 
  37.      */
  38.     private $params;
  39.     /**
  40.      * @Description: {{  twig_vars.annoncesConst   }}
  41.      * @return type
  42.      */
  43.     public function annoncesConst() {
  44.         return Annonces::getConstants();
  45.     }
  46.     public function __construct(ContainerInterface $containerLocalisationsManagers $localisationsManagersParametresDiversRepository $pdRepoSecteursActiviteManagers $samContainerBagInterface $params) {
  47.         $this->container $container;
  48.         $this->localisationsManagers $localisationsManagers;
  49.         $this->pdRepo $pdRepo;
  50.         $this->sam $sam;
  51.         $this->params $params;
  52.     }
  53.     /**
  54.      * @Description: {{  twig_vars.currentRoute   }}
  55.      * @return type
  56.      */
  57.     public function currentRoute() {
  58.         return $this->container->get('request_stack')->getMasterRequest()->get('_route');
  59.     }
  60.     /**
  61.      * 
  62.      * @return type
  63.      */
  64.     public function listPays($beginWithShortList false) {
  65.         return $this->localisationsManagers->getListPays($beginWithShortList);
  66.     }
  67.     /**
  68.      * @Description: {{  twig_vars.listNombresAafficher   }}
  69.      * @Description: valeur stocké dans  partage_dbo.parametres_divers // global-admin pour éviter des requetes count pour des chiffres
  70.      * @return type
  71.      */
  72.     public function listNombresAafficher() {
  73.         return $this->pdRepo->getListNombresAafficher();
  74.     }
  75.     /**
  76.      * @Description: {{  twig_vars.getAllSecteursActiviteFonds   }}
  77.      * @return type
  78.      */
  79.     public function getAllSecteursActiviteFonds() {
  80.         return $this->sam->getListeSecteursActiviteFonds();
  81.     }
  82.     /**
  83.      * @Description: {{  twig_vars.paysAnnuaireExperts   }}
  84.      * @return type
  85.      */
  86.     public function paysAnnuaireExperts() {
  87.         $codePays $this->container->get('request_stack')->getSession()->get('codePays');
  88.         if ($codePays) {
  89.             $item $list = [];
  90.             foreach ($this->params->get('app.pays_annuaire_experts') as $key => $pays) {
  91.                 if ($pays[1] == strtoupper($codePays)) { // pour mettre en avant la version du site pays
  92.                     $item[] = $pays;
  93.                 } else {
  94.                     $list[] = $pays;
  95.                 }
  96.             }
  97.             return array_merge($item$list);
  98.         }
  99.         return $this->params->get('app.pays_annuaire_experts');
  100.     }
  101. }