src/Services/param/ParametreManager.php line 54

Open in your IDE?
  1. <?php
  2. /*
  3.  * To change this license header, choose License Headers in Project Properties.
  4.  * To change this template file, choose Tools | Templates
  5.  * and open the template in the editor.
  6.  */
  7. /*
  8.  * Description of ParametreManager
  9.  *
  10.  * @author Edmond
  11.  */
  12. namespace App\Services\param;
  13. use \Doctrine\ORM\EntityManagerInterface;
  14. use App\Types\param\TypeDonnees;
  15. use App\Entity\param\Param;
  16. use App\Entity\param\LoadProcess;
  17. use App\Repository\param\ParamRepository;
  18. use \PDO;
  19. class ParametreManager  implements ParametreManagerInterface{
  20.     private $em;
  21.     /*
  22.      * 
  23.      * @var string  $paramBundle
  24.      * Nom du Bundle
  25.      */
  26.     private $paramBundle 'adminParamBundle:';
  27.     /*
  28.      * 
  29.      * @var string  $userBundle
  30.      * Nom du Bundle
  31.      */
  32.     //private $userBundle = 'App\Entity\user\';
  33.     public function __construct(EntityManagerInterface $em) {
  34.         $this->em $em;
  35.     }
  36.     
  37.     /*
  38.      * retoutne la valeur d'un parametre
  39.      * @param \ParamBundle\Entity\Param $paramtre
  40.      * @param int $objetDate Si $objet = 1, on retournera un objet, si non un string
  41.      * @param type $int
  42.      */
  43.     public function getValeurParametre($paramtreName$objetDate 1ParamRepository $repoParam) {
  44.         $valeur NULL;
  45.         $objetParam $this->givenParam($paramtreName,$repoParam);
  46.         if ($objetParam != NULL) {
  47.             $typeDonnee $objetParam->getTypeDonnee();
  48.             $valeur $objetParam->getValeur();
  49.             if ($typeDonnee == TypeDonnees::INT) {
  50.                 $valeur intval($valeur);
  51.             } else if ($typeDonnee == TypeDonnees::DATE) {
  52.                 if($objetDate == 0){
  53.                     return $valeur;
  54.                 }
  55.                 $dateTemp = new \DateTime();
  56.                 $dateFormat 'Y-m-d';
  57.                 $valeur $dateTemp->createFromFormat($dateFormat$valeur);
  58.             } else if ($typeDonnee == TypeDonnees::DATETIME) {
  59.                 if($objetDate == 0){
  60.                     return $valeur;
  61.                 }
  62.                 $dateTemp = new \DateTime();
  63.                 $dateFormat 'Y-m-d H:i:s';
  64.                 if(strlen($valeur) == 8){
  65.                     $valeur date('Y-m-d').' '.$valeur;
  66.                 }
  67.                 $valeur $dateTemp->createFromFormat($dateFormat$valeur);
  68.                 
  69.                 
  70.             } else if ($typeDonnee == TypeDonnees::BOOLEAN) {
  71.                 $valeur = ($valeur == '1') ? TRUE FALSE;
  72.             }
  73.         }
  74.         return $valeur;
  75.     }
  76.     /*
  77.      * Met à jour la valeur d'un parametre
  78.      * 
  79.      * @param type $paramtreName
  80.      * @param type $valeur
  81.      * @param type $description
  82.      * @param type $typeDonnee
  83.      * @return boolean
  84.      */
  85.     public function setParametre($paramtreName$valeur$typeDonnee 1$libelle ''$description '',$typeParam=0) {
  86.         $rep FALSE;
  87.         if (!empty($paramtreName)) {
  88.             if ($typeDonnee == TypeDonnees::BOOLEAN) {
  89.                 $valeur = ($valeur == 1) ? '1' '0';
  90.             }
  91.             $o $this->givenParam($paramtreName);
  92.             if ($o != NULL) {
  93.                 $o->setValeur($valeur);
  94.                 $o->setLibelle($libelle);
  95.                 $o->setDescription($description);
  96.                 $this->em->flush();
  97.             } else {
  98.                 $p = new Param($paramtreName$typeDonnee$valeur$description);
  99.                 $p->setNom($paramtreName);
  100.                 $p->setValeur($valeur);
  101.                 $p->setTypeDonnee($typeDonnee);
  102.                 $p->setLibelle($libelle);
  103.                 $p->setTypeParam($typeParam);
  104.                 $p->setDescription($description);
  105.                 $this->em->persist($p);
  106.                 $this->em->flush();
  107.             }
  108.             $rep TRUE;
  109.         }
  110.         return $rep;
  111.     }
  112.     /*
  113.      * retoutne un objet parametre à partir de son nom ($paramtreName)
  114.      * 
  115.      * @param type $paramtreName
  116.      * @param type $int
  117.      * @return type
  118.      */
  119.     public function getParametre($paramtreNameParamRepository $repoParam ) {
  120.         return $this->givenParam($paramtreName$repoParam);
  121.     }
  122.     /*
  123.      * Retourn un objet Parametre
  124.      * @param type $paramtreName
  125.      * @return null
  126.      */
  127.     public function givenParam($paramtreNameParamRepository $repoParam ) {
  128.         if (!empty($paramtreName)) {
  129.             $t $repoParam ->findOneByNom($paramtreName);
  130.             return $t;
  131.         }
  132.         return NULL;
  133.     }
  134.     public function getAllParametres(ParamRepository $repoParam) {
  135.         return   $repoParam->findBy(array('affiche'=>1));
  136.     }
  137.     /*
  138.      * Retourne un nom par defaut lors de la création d'un nouveau param
  139.      * @return type
  140.      */
  141.     public function getDefaultNewName() {
  142.         $name 0;
  143.         $sql 'SELECT MAX(nom) as max_nom FROM param';
  144.         $stmt $this->em->getConnection()->prepare($sql);
  145.         
  146.         try {
  147.             $stmt->execute();
  148.             $result $stmt->fetchAll(PDO::FETCH_ASSOC);
  149.             if (is_array($result) && (count($result) > 0)) {
  150.                 $temp $result[0];
  151.                 $name = (int) $temp['max_nom'];
  152.             }
  153.         } catch (\Exception $e) {
  154.             var_dump($e->getMessage());
  155.             exit;
  156.         }
  157.         return $name 1;
  158.     }
  159.     
  160.     /*
  161.      * Enrégitrement des informations concernant le loadProcess
  162.      * 
  163.      * @param type $paramtreName
  164.      * @param type $valeur
  165.      * @param type $description
  166.      * @param type $typeDonnee
  167.      * @return boolean
  168.      */
  169.     public function addloadProcess($idUser) {        
  170.         $rep FALSE;        
  171.         if ($idUser !=0) {
  172.                 $processLoad = new LoadProcess();
  173.                 $processLoad->setIdUser($idUser);
  174.                 $this->em->persist($processLoad);
  175.                 $this->em->flush();
  176.         }
  177.             $rep TRUE;       
  178.         return $rep;
  179.     }    
  180.     
  181.     /*
  182.      * Retourne un nom par defaut lors de la création d'un nouveau param
  183.      * @return type
  184.      */
  185.     public function getCurrentLoadProcess($idUser=0) {
  186.         $name 0;
  187.         $sql 'SELECT MAX(idprocessload) as id FROM load_process where iduser =  :iduser';
  188.         $stmt $this->em->getConnection()->prepare($sql);
  189.         
  190.         try {
  191.             $stmt->bindValue(':iduser'$idUserPDO::PARAM_INT);
  192.             $stmt->execute();
  193.             $result $stmt->fetch(PDO::FETCH_ASSOC);
  194.             
  195.             
  196.         } catch (\Exception $e) {
  197.             var_dump($e->getMessage());
  198.             exit;
  199.         }
  200.         return $result ;
  201.     }   
  202.     
  203.     
  204.       
  205.     
  206. }