src/Controller/AffiliationController.php line 36

Open in your IDE?
  1. <?php
  2. // src/Controller/EntrepriseController.php
  3. namespace App\Controller;
  4. use App\Entity\AppUser;
  5. use App\Entity\CodePromo;
  6. use Symfony\Component\HttpFoundation\Response;
  7. use Symfony\Component\HttpFoundation\Request;
  8. use Symfony\Component\HttpFoundation\JsonResponse;
  9. use Symfony\Component\Routing\Annotation\Route;
  10. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  11. use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface;
  12. use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
  13. use Symfony\Component\HttpKernel\KernelInterface;
  14. use Spipu\Html2Pdf\Html2Pdf;
  15. /**
  16.  * @Route("/{_locale}/affiliation")
  17.  */
  18. class AffiliationController extends AbstractController
  19. {    
  20.     private $kernel;
  21.     
  22.     public function  __construct(KernelInterface $kernel)
  23.     {
  24.         $this->kernel $kernel;
  25.         
  26.     }
  27.     /**
  28.      * @Route("/acceuil", name="affiliation_accueil")
  29.      * @return \Symfony\Component\HttpFoundation\Response
  30.      */
  31.     public function accueilAction(Request $request)
  32.     {
  33.         $em $this->getDoctrine()
  34.                     ->getManager();
  35.         
  36.         $user $this->getUser();
  37.         $codePromo $em->getRepository(CodePromo::class)
  38.                         ->findOneBy(
  39.                             array(
  40.                                 'user' => $user
  41.                             )
  42.                         ); 
  43.         $intervalleDeDate  $this->intervalleSemaine(date('Y-m-d'));
  44.         $dateDebut = new \DateTime($intervalleDeDate['debut']);
  45.         $dateDebut->setTime(00);
  46.         $dateFin = new \DateTime($intervalleDeDate['fin']);
  47.         $dateFin->setTime(2359);
  48.         
  49.         
  50.         $intervalleMois $this->intervalleMois(date('Y-m-d'));
  51.         $startMonth $intervalleMois['debut'];
  52.         $endMonth $intervalleMois['fin'];
  53.         
  54.         $startYear date('Y-01-01');
  55.         $endYear date('Y-12-31');
  56.         return $this->render('affiliation/accueil.html.twig', [
  57.             'codePromo' => $codePromo,
  58.             'dateDebut' => $dateDebut,
  59.             'dateFin' => $dateFin,
  60.             'startMonth' => $startMonth,
  61.             'endMonth' => $endMonth,
  62.             'startYear' => $startYear,
  63.             'endYear' => $endYear,
  64.         ]);
  65.     }
  66.     function intervalleMois($datestr)
  67.     {
  68.        date_default_timezone_set (date_default_timezone_get());
  69.         $dt strtotime ($datestr);
  70.        return array (
  71.          "debut" => date ('Y-m-d'strtotime ('first day of this month'$dt)),
  72.          "fin" => date ('Y-m-d'strtotime ('last day of this month'$dt))
  73.        );
  74.     }
  75.     function intervalleSemaine($datestr) {
  76.        date_default_timezone_set (date_default_timezone_get());
  77.        $dt strtotime ($datestr);
  78.        return array (
  79.          "debut" => date ('N'$dt) == date ('Y-m-d'$dt) : date ('Y-m-d'strtotime ('last monday'$dt)),
  80.          "fin" => date('N'$dt) == date ('Y-m-d'$dt) : date ('Y-m-d'strtotime ('next sunday'$dt))
  81.        );
  82.     }
  83. }