src/Controller/Api/Publique/ApiPubliqueController.php line 49

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Api\Publique;
  3. use App\Entity\Campagneprospect;
  4. use App\Entity\Utilisateur;
  5. use App\Helpers\Fonctions\Fonctions;
  6. use App\Helpers\Mailing;
  7. use Exception;
  8. use Symfony\Component\HttpFoundation\Request;
  9. use Symfony\Component\Routing\Annotation\Route;
  10. use function json_decode;
  11. /**
  12.  * @Route("/publique")
  13.  */
  14. class ApiPubliqueController extends ApiController
  15. {
  16.     /**
  17.      * @Route("/versionlogs", name="api_versionlogs",  methods={"GET"})
  18.      */
  19.     public function versionlogs()
  20.     {
  21.         $data file_get_contents("versionlogs.md");
  22.         return $this->apiOk($data);
  23.     }
  24.     /**
  25.      * @Route("/fonctionnalitelogs", name="api_fonctionnaliteslogs",  methods={"GET"})
  26.      */
  27.     public function fonctionnaliteslogs()
  28.     {
  29.         $data file_get_contents("fonctionnalitelogs.md");
  30.         return $this->apiOk($data);
  31.     }
  32.     /**
  33.      * @Route("/rappelnotifications", name="api_rappelnotifications",  methods={"GET"})
  34.      */
  35.     public function rappelnotifications()
  36.     {
  37.         $send false;
  38.         $fileName 'log_'.date('Y-m-d').'.txt';
  39.         $filePath "notificationRappelPerso/" $fileName;
  40.         // Get the directory path
  41.         $directory dirname($filePath);
  42.         // Check if the directory exists, if not, create it
  43.         if (!is_dir($directory)) {
  44.             mkdir($directory0755true);
  45.         }
  46.         if (!file_exists($filePath)) {
  47.             $send true;
  48.         }
  49.         if($send){
  50.             // Recuperer la liste des rappels++ d'aujourdhui et grouped by user !
  51.             $today = new \DateTime();
  52.             $today->setTime(000); // Ensure time is set to midnight for accurate date comparison
  53.             $listeRappel $this->em->getRepository(Campagneprospect::class)->createQueryBuilder('c')
  54.                 ->where('c.rappelprive = :rappelprive')
  55.                 ->andWhere('DATE(c.daterappel) = :today')
  56.                 ->setParameter('rappelprive'1)
  57.                 ->setParameter('today'$today->format('Y-m-d'))
  58.                 ->getQuery()
  59.                 ->getResult();
  60.             // group by $utilisateur
  61.             $RappelUtilisateurs $this->groupRappelsByUtilisateur($listeRappel);
  62.             foreach ($RappelUtilisateurs as $item){
  63.                 (new Mailing($this->mailer$this->templating))->notificationRappelPerso($item);
  64.             }
  65.             $text PHP_EOL."---------------------".date("Y-m-d H:i:s")."------------------------------".PHP_EOL.serialize($RappelUtilisateurs);
  66.             file_put_contents($filePath,$text);
  67.             return $this->apiOk("1");
  68.         }
  69.         return $this->apiOk("0");
  70.     }
  71. }