src/Controller/ReturnImpostazioniServiceController.php line 51

  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Impostazioni;
  4. use Doctrine\Persistence\ManagerRegistry;
  5. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  6. use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
  7. class ReturnImpostazioniServiceController extends AbstractController
  8. {
  9.     protected $doctrine;
  10.     protected $params;
  11.     protected $cacheImpostazioni = array();
  12.     public function __construct(ManagerRegistry $registryParameterBagInterface $params)
  13.     {
  14.         $this->doctrine $registry;
  15.         $this->params $params;
  16.         return $this;
  17.     }
  18.     public function ritornaParametro($nome){
  19.         return $this->params->get($nome);
  20.     }
  21.     public function ritornaImpostazioneDaNome($name)
  22.     {
  23.         if (array_key_exists($name$this->cacheImpostazioni)){
  24.             return $this->cacheImpostazioni[$name];
  25.         }else {
  26.             $imp $this->doctrine->getRepository(Impostazioni::class)->findOneBy(array('nome' => $name));
  27.             if ($imp) {
  28.                 $this->cacheImpostazioni[$name] = $imp->getValore();
  29.                 return $imp->getValore();
  30.             }
  31.             else
  32.                 return null;
  33.         }
  34.     }
  35.     public function caricaCacheImpostazioniInvioMail(){
  36.         $this->caricaCacheImpostazioniDaNomi(array('MailHostSmtp','MailPorta','MailUsername''MailCcComunicazioni','MailPassword','MailCrittografia','IndirizzoMailFromInvioComunicazioni''NomeShop''Logo'));
  37.     }
  38.     /**
  39.      * @param $arrayNomi array
  40.      * @return bool
  41.      */
  42.     public function caricaCacheImpostazioniDaNomi($arrayNomi){
  43.         $daCaricare = array();
  44.         //Verifico se già caricati
  45.         foreach ($arrayNomi as $nome){
  46.             if (!in_array($nome$this->cacheImpostazioni)){
  47.                 array_push($daCaricare$nome);
  48.             }
  49.         }
  50.         /** @var Impostazioni[] $imp */
  51.         $imp $this->doctrine->getRepository(Impostazioni::class)->findBy(array('nome' => $daCaricare));
  52.         /** @var Impostazioni $i */
  53.         foreach($imp as $i) {
  54.             $this->cacheImpostazioni[$i->getNome()] = $i->getValore();
  55.         }
  56.         return true;
  57.     }
  58.     /**
  59.      * @param $famiglie array
  60.      * @return bool
  61.      */
  62.     public function caricaCacheImpostazioniDaFamiglie($famiglie){
  63.         $daCaricare = array();
  64.         //Verifico se già caricati
  65.         foreach ($famiglie as $nome){
  66.             if (!in_array($nome$this->cacheImpostazioni)){
  67.                 array_push($daCaricare$nome);
  68.             }
  69.         }
  70.         /** @var Impostazioni[] $imp */
  71.         $imp $this->doctrine->getRepository(Impostazioni::class)->findBy(array('famiglia' => $daCaricare));
  72.         /** @var Impostazioni $i */
  73.         foreach($imp as $i) {
  74.             $this->cacheImpostazioni[$i->getNome()] = $i->getValore();
  75.         }
  76.         return true;
  77.     }
  78. }