- <?php
- namespace App\Controller;
- use Symfony\Component\HttpFoundation\Session\Session;
- use Symfony\Component\HttpFoundation\Session\Storage\PhpBridgeSessionStorage;
- use Symfony\Component\HttpFoundation\RequestStack;
- use Symfony\Component\HttpFoundation\Response;
- use App\Entity\Post;
- use App\Entity\AncienEvenement;
- use Symfony\Component\HttpFoundation\JsonResponse;
- use App\Form\formulaireEvenementType;
- use App\Entity\AttachmentCongre;
- use App\Entity\Attachment;
- use App\Entity\Carousel;
- use App\Entity\Etape;
- use App\Entity\Speakers;
- use App\Entity\Sponsored;
- use App\Entity\Congre;
- use App\Entity\PrixVariableCongre;
- use App\Entity\PrixVariable;
- use App\Entity\PayementMethod;
- use App\Entity\PaymenetMethode;
- use Symfony\Component\HttpFoundation\Request;
- use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
- use Symfony\Component\Routing\Annotation\Route;
- use App\Entity\EvenementAVenir;
- use App\Entity\EvenementFormulaire;
- use App\Entity\ConnexionUser;
- use Doctrine\Persistence\ManagerRegistry;
- use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
- use Symfony\Component\HttpFoundation\RedirectResponse;
- class EvenementController extends AbstractController
- {
-         private $requestStack;
-         public function __construct(RequestStack $requestStack)
-         {
-             $this->requestStack = $requestStack;
-         }
-     public function index(ManagerRegistry $doctrine,$id)
-     {
-       
-       
-             $title="";
-         if($id==1)
-         {
-             $ancien = $doctrine->getRepository(Congre::class)->findAll();
-             $title="Congre";
-         }
-         else
-            if($id==2)
-            {
-           
-             $title="formation  avec paiment";
-             $repository= $doctrine->getRepository(EvenementAVenir::class);
-             $ancien = $repository->findBy(
-               ['category' => $title]  
-                  );
-            }
-            else if($id==3)
-            {
-            
-             $title="webinaire sans paiment";
-             $repository= $doctrine->getRepository(EvenementAVenir::class);
-             $ancien = $repository->findBy(
-               ['category' => $title]  
-                  );
-            }
-            else if($id==4)
-            {
-           
-             $title="Symposium avec paiment";
-             $repository= $doctrine->getRepository(EvenementAVenir::class);
-             $ancien = $repository->findBy(
-               ['category' => $title]  
-                  );
-            }
-            else
-                if($id==5)
-                {
-                
-                 $title="action humanitaire sans paiment";
-                 $repository= $doctrine->getRepository(EvenementAVenir::class);
-                 $ancien = $repository->findBy(
-                   ['category' => $title]  
-                      );
-                }
-                else
-                {
-                 return $this->redirectToRoute('index');
-                }
-          
-        $repository = $doctrine->getRepository(EvenementAVenir::class);
-        $article = $repository->findBy(
-          ['id' => 20]  
- );
- $article=$doctrine->getRepository(Congre::class)->findBy(array('desplay'=>1), array('id' => 'desc'),1,0);
- $k=1;
- if(count($article)<1)
- {
-     $k=0;
-     $article=$doctrine->getRepository(EvenementAVenir::class)->findBy(array('desplay'=>1), array('id' => 'desc'),1,0);
- }
- $repository = $doctrine->getRepository(Attachment::class);
-         $carousel = $repository->findBy(
-             ['evenement_id' => 20]);
-           
-      //  $repository = $doctrine->getRepository(PaymenetMethode::class);
-      
-         return $this->render('evenement/index.html.twig',['event'=>$article,'ancien'=>$ancien,'carousel'=>$carousel,'title'=>$title,'id'=>$id,'tt'=>$k]);
-     }
-     public function detail(ManagerRegistry $doctrine,$id)
-     {   
-      
-         
-         $autre=0;
-         $sesisonHas=0;
-        
-         $session = $this->requestStack->getSession();
-         $session->set('typesendpaiment',1);
-         $evenementsprcifique=0;
-         if($id==49)
-         {
-             $evenementsprcifique=$id;
-         }
-         if(!$session->has('type') || !$session->has('fonction'))
-         {
-             return $this->redirectToRoute('formulaireEvenementCongreTypeDeuxtypeIdCongreFormationPaiment', [
-                 'id' => $id
-                
-             ]);
-         }
-         $prix=0;
-         if($session->get('type')=="Adhérent" || $session->get('type')=="Etudiant")
-         {
-             $prix=0;
-         }else 
-         {
-             $prix=0;
-         }
-         if($session->has('email') && $session->has('password'))
-         {
-             $sesisonHas=1;
-         }
-         $sesisonHas=1;
-     $tab=[];
-     $repository = $doctrine->getRepository(PrixVariableCongre::class);
-     $etape = $repository->findAll();    
-     foreach($etape as $a)
-     {
-         if($a->getEvenementprixId()==$id)
-         {
-             array_push($tab,['id_evenement'=>$a->getEvenementprixId(),'id_prix'=>$a->getId(),'titre'=>$a->getName(),'category'=>$a->getCategory(),'prix'=>$a->getPrix()]);
-          
-         }
-        
-          
-     }
-   
-   
-          
-         return $this->render('detailEvenement/index.html.twig',['sessionHas'=>$sesisonHas,'tab'=>$tab,'autre'=>$autre,'nb'=>-1,'prix'=>$prix]);
-     }
-     public function congre(ManagerRegistry $doctrine,$id)
-     {
-       
-         $session = $this->requestStack->getSession();
-         $session->set('typesendpaiment', "");
-      
-        
-         $repository = $doctrine->getRepository(Congre::class);
-         $article = $repository->find($id);
-         if($article==Null)
-         {
-             return $this->redirectToRoute('index');
-         }
-         $repository = $doctrine->getRepository(Carousel::class);
-         $carousel = $repository->findBy(
-             ['carousel_congre_id' => $id]       
-        );
-        $repository = $doctrine->getRepository(AttachmentCongre::class);
-        $gallerie = $repository->findBy(
-            ['id' => $article->getId()]       
-       ); 
-       $repository = $doctrine->getRepository(Etape::class);
-        $etape = $repository->findBy(
-            ['etape_new_id' => $article->getId()]       
-       );     
-       $tab=[];
-       $tab2=[];
-       $tab3=[];
-       foreach($etape as $a)
-       {
-         //$arr = [ "id" => $bu->getId(), "name" => $bu->getName()];
-         array_push($tab,['Etape'=>$a->getId(),'posetion'=>$a->getPosetionEtape(),'decription'=>$a->getDescriptionEtape(),'timeN'=>$a->getTimeEtape(),'titre'=>$a->getTitreEtape()]);
-        
-         $anis=$a->getPosetionEtape();
-         if (!in_array($anis, $tab2))
-             {
-   
-                array_push($tab3,$a->getPosetionEtape());
-   
-             }
-             array_push($tab2,$a->getPosetionEtape());
-       }
-       $repository = $doctrine->getRepository(Speakers::class);
-        $speakers = $repository->findBy(
-            ['evenement_speaker_id' => $id]       
-       ); 
-       $repository = $doctrine->getRepository(Sponsored::class);
-       $sponsored = $repository->findBy(
-           ['evenement_sponsored_id' =>$id]       
-      ); 
-      
-      $tab5=[];
-      $repository = $doctrine->getRepository(PrixVariableCongre::class);
-      $etape = $repository->findAll();    
-      foreach($etape as $a)
-      {
-          if($a->getEvenementprixId()==$id)
-          {
-              array_push($tab5,['id_evenement'=>$a->getEvenementprixId(),'id_prix'=>$a->getId(),'titre'=>$a->getName(),'category'=>$a->getCategory(),'prix'=>$a->getPrix()]);
-           
-          }
-         
-           
-      }
-     
-      
-     
-         return $this->render('congre/congre.html.twig',['article'=>$article,'gallerie'=>$gallerie,'carousel'=>$carousel,'tab'=>$tab,'tab3'=>$tab3,'speakers'=>$speakers,'sponsored'=>$sponsored,'id'=>$id,'tab5'=>$tab5]);
-     }
-     function autre(ManagerRegistry $doctrine,string $title,int $id)
-     {
-         
-         //$product = $doctrine->getRepository(Accueil::class)->find(4);
-         $ancien = $doctrine->getRepository(EvenementAVenir::class)->find($id);
-     
-         $gallerie  = $doctrine->getRepository(Attachment::class);
-         $carousel = $gallerie->findBy(
-             ['evenement_id' => $ancien->getId()]       
-        );     
-         return $this->render('ancien/index.html.twig',['ancien'=>$ancien,'carousel'=>$carousel]);
-     }
-     public function detailautre(ManagerRegistry $doctrine,$id)
-     {  
-      
-         if($id==54)
-         {
-             $session = $this->requestStack->getSession();
-             if(!$session->has('emailSend')){ return  new RedirectResponse("/formulaire/evenement/54"); }
-             if($session->has('email') && $session->has('password'))
-             {
-                 $repository = $doctrine->getRepository(ConnexionUser::class);
-                 $user = $repository->findOneBy(['email' => $session->get('email')]);
-                     
-                 $repository2 = $doctrine->getRepository(EvenementFormulaire::class);
-                 $user2 = $repository2->findBy(['user' => $user->getId(),'evenement'=>54]);
-                
-                 if(count($user2)==0)
-                 {
-                     return  new RedirectResponse("/formulaire/evenement/54"); 
-                 }
-               
-               
-             }
-         }
-       
-         $autre=1;
-         $sesisonHas=0;
-         $sesisonHas49=0;
-         $evenementsprcifique=0;
-         if($id==49)
-         {
-             $evenementsprcifique=$id;
-         }
-         if($id==54)
-         {
-             $sesisonHas=1;
-         }
-         $session = $this->requestStack->getSession();
-         $prix=0;
-         if($session->has('type'))
-         {
-             if($session->get('type')=="Non adhérent")$prix=0;
-             $sesisonHas=1;
-         }
-         if($session->has('evenementspecifique'))
-         {
-             $sesisonHas49=1;
-         }
-     $tab=[];
-     $repository = $doctrine->getRepository(PrixVariable::class);
-     $etape = $repository->findAll();    
-     foreach($etape as $a)
-     {
-       
-         if($a->getEvenementprixId()==$id)
-         {
-               array_push($tab,['id_evenement'=>$a->getEvenementprixId(),'id_prix'=>$a->getId(),'titre'=>$a->getName(),'category'=>$a->getCategory(),'prix'=>$a->getPrix()]);
-            /* if($session->get('type')=="Non adhérent")
-             {
-                 if($a->getId()==36)
-                 {
-                     $tab=[];
-                                 array_push($tab,['id_evenement'=>$a->getEvenementprixId(),'id_prix'=>$a->getId(),'titre'=>$a->getName(),'category'=>$a->getCategory(),'prix'=>$a->getPrix()]);
-                     break;
-                 }
-               
-             }else 
-             {
-                 if($a->getId()==35)
-                 {
-                                         $tab=[];
-                                          array_push($tab,['id_evenement'=>$a->getEvenementprixId(),'id_prix'=>$a->getId(),'titre'=>$a->getName(),'category'=>$a->getCategory(),'prix'=>$a->getPrix()]);
-  break;
-                 }
-                
-             }*/
-          
-         }
-        
-          
-     }
-        $nbevenement = $repository->findBy(
-             ['id' => $id]);
-          $nbevenement=count($nbevenement);
-        
-           
-              $session->set('typesendpaiment',1);
-          
-         return $this->render('detailEvenement/index.html.twig',['sessionHas'=>$sesisonHas,'tab'=>$tab,'autre'=>$autre,'nb'=>$nbevenement,'evenementsprcifique'=>$evenementsprcifique,'sesisonHas49'=>$sesisonHas49,'prix'=>$prix]);
-     }
-     public function getall(ManagerRegistry $doctrine,$id)
-     {
-         $ancien=[];
-         $tab=[];
-         if($id==2)
-         {
-             $ancien = $doctrine->getRepository(EvenementAVenir::class)->findAll();
-             foreach($ancien as $item)
-             {
-                 array_push($tab,['id'=>$item->getId(),'titre'=>$item->getTitre()]);
-               
-             }
-         }
-         else
-         {
-             $ancien = $doctrine->getRepository(Congre::class)->findAll();
-             foreach($ancien as $item)
-             {
-                 array_push($tab,['id'=>$item->getId(),'titre'=>$item->getTitre()]);
-               
-             }
-         }
-         $response = new Response(json_encode($tab));
-         $response->headers->set('Content-Type', 'application/json');
-         return $response;
-     }
-     public function formulaireEvenement(ManagerRegistry $doctrine,Request $request,int $id)
-     {
-         
-               $session = $this->requestStack->getSession();
-             
-           
-                 $session = $this->requestStack->getSession();
-                /* if($session->has('email') && $session->has('password'))
-                 {
-                     $repository = $doctrine->getRepository(ConnexionUser::class);
-                     $user = $repository->findOneBy(['email' => $session->get('email')]);
-                         
-                     $repository2 = $doctrine->getRepository(EvenementFormulaire::class);
-                     $user2 = $repository2->findBy(['user' => $user->getId(),'evenement'=>52,'pay'=>true]);
-                      
-                     if(count($user2)>0)
-                     {
-                         return  new RedirectResponse("/evenement/autre/detail/52/register/"); 
-                     }
-                   
-                   
-                 }*/
-             
-         $erreur="";
-         $verif=true;
-         $messageSuccess="";
-         $entityManager = $doctrine->getManager();
-         $article = new EvenementFormulaire();
-         $form = $this->createForm(formulaireEvenementType::class, $article);
-         $form->handleRequest($request);
-                 if ($form->isSubmitted() && $form->isValid()) {
-                 if($article->getType() == "Etudiant")
-                 {
-                     $erreur="C'est exclusif pour les professionnels.";
-                     $verif=false;
-                 }
-                 if(Empty($article->getNom()))
-                 {
-                 $erreur.="Nom invalide <br>";
-                 $verif=false;
-                 }
-                 else if(strlen($article->getNom())<2 || strlen($article->getNom())>30)
-                 {
-                     $erreur.="Nom invalide <br>";
-                     $verif=false;
-                 }
-                 else
-                 {
-                     $verif=true;
-                 }
-                 if(Empty($article->getPrenom()))
-                 {
-                 $erreur.="Prénom invalide <br>";
-                 $verif=false;
-                 }
-                 else if(strlen($article->getPrenom())<2 || strlen($article->getPrenom())>30)
-                 {
-                     $erreur.="Prénom invalide <br>";
-                     $verif=false;
-                 }
-                 /**** verif email */
-                 if(strlen($article->getEmail())<4 || strlen($article->getEmail())>30)
-                 {
-                     $erreur.="Email invalide <br>";
-                     $verif=false;
-                 }
-                 else
-                 {
-                     $verif=true;
-                 }
-                 /***** */
-                 if(Empty($article->getPhone()))
-                 {
-                 $erreur.="Prénom invalide <br>";
-                 $verif=false;
-                 }
-                 else if(strlen($article->getPhone())<7 || strlen($article->getPhone())>11)
-                 {
-                     $erreur.="Numéro de téléphone invalide <br>";
-                     $verif=false;
-                 }
-                 if(strlen($erreur)==0)
-                 {
-                     if($id!=54)
-                     {
-                         $erreur= "Erreur lors de l'inscription";
-                     }else
-                     {
-                         $repository = $doctrine->getRepository(EvenementFormulaire::class);
-                         $p = $repository->findBy(
-                           ['phone' => $article->getPhone(),
-                           'evenement'=>54]  
-                   );
-                   $repository = $doctrine->getRepository(EvenementFormulaire::class);
-                 
-                   $pp = $repository->findBy(
-                     [
-                         'nom' => $article->getNom(),
-                         'prenom' => $article->getPrenom(),
-                         'evenement'=>54
-                         
-                     ]
-                 );
-                         if(count($p)>0 || count($pp)>0)
-                         {
-                         $erreur.= "Vous êtes déjà inscrit à un événement.";
-                         }
-                         else
-                         {
-                             $repository = $doctrine->getRepository(EvenementFormulaire::class);
-                             $evenements = $repository->findBy(['evenement' => 54]);
-                             $count=0;
-                           
-                            
-                            
-                                 $repository = $doctrine->getRepository(ConnexionUser::class);
-                                 $user = $repository->findOneBy(['email' => $session->get('email')]);
-                                     
-                                 
-                              
-                                 $session = $this->requestStack->getSession();
-                                 $session->set('emailSend',$article->getEmail());
-                                 $session->set('fonction',$article->getFonction());
-                                 $session->set('type',$article->getType());
-                                 $session->set('nom',$article->getNom());
-                                 $session->set('prenom',$article->getPrenom());
-                                 $session->set('phone',$article->getPhone());
-                       
-                                 return  new RedirectResponse("/evenement/autre/detail/54/register/"); 
-                               
-                             
-                          
-             
-                         }
-                     }
-                 
-                  /* $entityManager->persist($article);
-                   $entityManager->flush();*/
-                 }
-                 
-                 
-                 }
-                 
-         return $this->render('formulaireevenement/formulaire.html.twig', array(
-             'form' => $form->createView(),'erreur'=>$erreur,'message'=>$messageSuccess,'id'=>$id
-         ));
-     }
-     public function formulaireEvenementPost()
-     {
-         echo "hello";exit();
-     }
-     public function formulaireEvenementCongreDeuxType(ManagerRegistry $doctrine,Request $request)
-     {
-         
-        
-         $type=$_POST['id'];
-         if($type==1 || $type==2)
-         {
-             $session = $this->requestStack->getSession();
-             $session->set('typesendpaiment', $type);
-         }
-         $erreur="";
-         $messageSuccess="1";
-                 $err='{"erreur": "'.$erreur.'", "message":"'.$messageSuccess.'"}';
-         echo $err;exit();
-       
-     }
-     public function programme()
-     {
-         return $this->redirect('https://programme.astp.tn/login');
-     }
-     public function programmePdf($id)
-     {
-             if($id=='-18.pdf' || $id=='18-35.pdf' || $id='+35.pdf')
-             {
-                 return $this->render('document/afficher_pdf.html.twig', array(
-                     'id'=>$id
-                 ));
-             }else {
-             }
-     }
-   
- }