src/Controller/DefaultController.php line 24

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use Symfony\Component\Routing\Annotation\Route;
  4. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  5. use App\Entity\Enterprise;
  6. use Symfony\Component\HttpFoundation\Request;
  7. use Symfony\Component\HttpFoundation\Response;
  8. use Symfony\Component\HttpFoundation\JsonResponse;
  9. use Symfony\Component\Filesystem\Filesystem;
  10. use Symfony\Component\HttpFoundation\File\Exception\FileException;
  11. use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;
  12. use App\Manager\EmailManager;
  13. use App\Entity\Setting;
  14. use App\Service\FileUploader;
  15. use App\Entity\AbContact;
  16. class DefaultController extends AbstractController
  17. {
  18.     
  19.      /**
  20.      * @Route("/", name="anivin_concours")
  21.      */
  22.     public function concours()
  23.     {
  24.         $em = $this->getDoctrine()->getManager();
  25.         $settings = $em->getRepository(Setting::class)->findOneBy(array('id' => 1 ));
  26.         
  27.         $this->get('session')->set('pageActif', 'dashboard');
  28.         return $this->render('qualiopi/accueil.html.twig', [
  29.             'marquee' => strlen(trim($settings->getMarquee())) > 0 ? $settings->getMarquee() : '',
  30.         ]);
  31.     }
  32.     
  33.     
  34.     
  35.     /**
  36.      * @Route("/ab-organisme-certificateur-evaluateur", name="anivin_pourquoi_participer")
  37.      */
  38.     public function pourquoiParticiper(Request $request)
  39.     {
  40.         $this->get('session')->set('pageActif', 'choisir_AB');
  41.         return $this->render('qualiopi/pourquoi-participer-ab.html.twig');
  42.        
  43.     }
  44.         
  45.      /**
  46.      * @Route("/reglement", name="anivin_reglement")
  47.      */
  48.     public function reglement(Request $request)
  49.     {
  50.          $Titles = $this->getDoctrine()->getRepository(Titles::class)->find_titles_result('reglement');
  51.         return $this->render('qualiopi/certification-qualiopi.html.twig', [
  52.             'Titles' => $Titles
  53.         ]);
  54.     }            
  55.     /**
  56.      * @Route("/", name="index")
  57.      */
  58.     public function redirectToHome()
  59.     {
  60.         // return $this->redirect('http://vindefrancewines.net/fr/espace-pro');
  61.         return $this->redirectToRoute('anivin_homepage');
  62.     }
  63.     /**
  64.      * @Route("/espace-pro", name="anivin_espace_pro")
  65.      */
  66.     public function redirectToPro()
  67.     {
  68.         // return $this->redirect('http://vindefrancewines.net/fr/espace-pro');
  69.         return $this->render('espace-pro.html.twig', [
  70.             
  71.         ]);
  72.     }
  73.     /**
  74.      * @Route("/mentions-legales", name="anivin_mentions")
  75.      */
  76.     public function mentions_legales()
  77.     {
  78.         return $this->render('qualiopi/mentions-legales.html.twig', [
  79.             
  80.         ]);
  81.     }
  82.     /**
  83.      * @Route("/", name="anivin_homepage")
  84.      */
  85.     public function index()
  86.     {
  87.         
  88.         return $this->render('index.html.twig', [
  89.             
  90.         ]);
  91.     }
  92.     
  93.     /**
  94.      * @Route("/accueil-test", name="accueil_test")
  95.      */
  96.     public function accueil_test()
  97.     {
  98.         return $this->render('qualiopi/accueil-test.html.twig', [
  99.             
  100.         ]);
  101.     }
  102.     /**
  103.      * @Route("/error", name="error-page")
  104.      */
  105.     public function error_page()
  106.     {
  107.         return $this->render('default/page-erreur.html.twig');
  108.     }
  109.     /**
  110.      * @Route("/error-login", name="anivin_login")
  111.      */
  112.     public function login_page()
  113.     {
  114.         return $this->render('default/page-login.html.twig');
  115.     }
  116.     /**
  117.      * @Route("/signin", name="anivin_login_new")
  118.      */
  119.     public function login()
  120.     {
  121.         $user = $this->getUser();
  122.         if($user){
  123.             // return $this->redirectToRoute('anivin_espace_pro');
  124.             return $this->redirectToRoute('anivin_mon_compte');
  125.         }
  126.         else{
  127.             return $this->render('qualiopi/login.html.twig');
  128.         }
  129.     }
  130.     /**
  131.      * @Route("/signin_", name="anivin_login_devis")
  132.      */
  133.     public function login1()
  134.     {
  135.         $user = $this->getUser();
  136.         if($user){
  137.             // return $this->redirectToRoute('anivin_espace_pro');
  138.             return $this->redirectToRoute('anivin_devis_info_enterprise');
  139.         }
  140.         else{
  141.             return $this->render('qualiopi/login.html.twig');
  142.         }
  143.     }
  144.     /**
  145.      * @Route("/mon-compte/{msg}", name="anivin_mon_compte")
  146.      */
  147.     public function mon_compte($msg = null)
  148.     {
  149.         $this->get('session')->set('pageActif', 'mon_compte');
  150.         return $this->render('qualiopi/mon-compte.html.twig');        
  151.     }
  152.      /**
  153.      * @Route("/faq-services-medico-sociaux/{id}", name="anivin_processus_dinscription")
  154.      */
  155.     public function faq($id = null)
  156.     {
  157.         $this->get('session')->set('pageActif', 'faq');
  158.         return $this->render('qualiopi/faq-tout-savoir-sur-qualiopi.html.twig');
  159.        
  160.     }
  161.      /**
  162.      * @Route("/etablissements-services-medico-sociaux", name="anivin_qualiopi")
  163.      */
  164.     public function qualiopi()
  165.     {
  166.         $this->get('session')->set('pageActif', 'qualiopi');
  167.         return $this->render('qualiopi/certification-qualiopi.html.twig');
  168.        
  169.     }
  170.     /**
  171.      * @Route("/infos-demande", name="anivin_ma_demande")
  172.      */
  173.     public function ma_demande()
  174.     {
  175.         return $this->render('qualiopi/ma-demande.html.twig');
  176.        
  177.     }
  178.     /**
  179.      * @Route("/mon-profil", name="anivin_gerer_mon_profil")
  180.      */
  181.     public function profile(Request $request)
  182.     {
  183.         $post = $request->request;
  184.         $user = $this->getUser();
  185.         if($post->get('nom'))
  186.         {
  187.             $user->setEmail($post->get('email'));
  188.             $user->setCivilite($post->get('profilcivilite'));
  189.             $user->setNom($post->get('nom'));
  190.             $user->setPrenom($post->get('prenom'));
  191.             $user->setNomenterprise($post->get('nomenterprise'));
  192.             $user1 = $this->getDoctrine()->getManager();
  193.             $user1->persist($user);
  194.             $user1->flush();
  195.             $this->addFlash('success', 'Informations mises à jour');
  196.         }
  197.         return $this->render('qualiopi/profile.html.twig', [
  198.             'user' => $user]);
  199.        
  200.     }
  201.     /**
  202.      * @Route("/change-password", name="anivin_change_password")
  203.      */
  204.     public function change_password(Request $request,UserPasswordEncoderInterface $encoder)
  205.     {
  206.         $post = $request->request;
  207.         $user = $this->getUser();
  208.         if($post->get('new_pass'))
  209.         {
  210.             $hash = $encoder->encodePassword($user,$post->get('new_pass'));
  211.             $user->setPassword($hash);
  212.             $user1 = $this->getDoctrine()->getManager();
  213.             $user1->persist($user);
  214.             $user1->flush();
  215.             $this->addFlash('success', 'le mot de passe a été modifié avec succès');
  216.         }
  217.         return $this->render('qualiopi/change_password.html.twig', [
  218.             'user' => $user]);
  219.        
  220.     }
  221.     /**
  222.      * @Route("/contact-essms", name="anivin_contact")
  223.      */
  224.     public function contact(Request $request,\Swift_Mailer $mailer)
  225.     {   
  226.         $secretKey  = '6LdoDxgrAAAAACfJFmH7Lto1pr3s7NG6UwzcrQg_';
  227.         
  228.         $this->get('session')->set('pageActif', 'contact');
  229.         $post = $request->request;
  230.         // if(!empty($_COOKIE['formsubmitted']) && $_COOKIE['formsubmitted']=='yes'){
  231.         //     $this->addFlash('success', 'Impossible de renvoyer le formulaire');
  232.         //     return $this->render('qualiopi/contact.html.twig');
  233.         // }
  234.         if($post->get('nom'))
  235.         {
  236.             if(isset($_POST['g-recaptcha-response']) && !empty($_POST['g-recaptcha-response'])){ 
  237.         // Verify the reCAPTCHA API response 
  238.         $verifyResponse = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$secretKey.'&response='.$_POST['g-recaptcha-response']); 
  239.          
  240.         // Decode JSON data of API response 
  241.         $responseData = json_decode($verifyResponse);
  242.         if($responseData->success){ 
  243.             
  244.             // setcookie('formsubmitted', 'yes', time() + (3600 * 12), "/");
  245.             $manager_abv1 = $this->getDoctrine()->getManager('abv1');
  246.             
  247.             $post = $request->request;
  248.             
  249.             $abcontact =new AbContact();
  250.            
  251.             $nom =  $request->request->get('nom');
  252.             $prenom =  $request->request->get('prenom');
  253.             $enterprise =  $request->request->get('enterprise');
  254.             $telephone =  $request->request->get('telephone');
  255.             $email =  $request->request->get('email');
  256.             
  257.             $subject =  $request->request->get('subject');
  258.             $msg =  $request->request->get('message');
  259.             $created =  date('Y-m-d h:i:s');
  260.             
  261.             
  262.             $tele_fichier='';
  263.             
  264.             $certification_id=0;
  265.             $certification='';
  266.             $type = 'CONTACT-ESSMS';
  267.             $insertArray = array(
  268.                         'type'=>$type,
  269.                         'nom'=>$nom,
  270.                         'prenom'=>$prenom,
  271.                         'email'=>$email,
  272.                         'telephone'=>$telephone,
  273.                         'msg'=>$msg,
  274.                         'enterprise'=>$enterprise,
  275.                         'created'=>$created
  276.                         );
  277.             $manager_abv1->getConnection()->insert('ab_contacts',$insertArray);
  278.             // $type = 'CONTACT-ESSMS';
  279.             // $sql = "insert into ab_contacts
  280.             // (type,nom,prenom,email,telephone,msg,enterprise,created)
  281.             //  values
  282.             //  ('$type','$nom','$prenom','$email','$telephone','$msg','$enterprise','$created')";
  283.             //     $manager_abv1->getConnection()->prepare($sql)->execute();
  284.             
  285.                 //$manager = $this->getDoctrine()->getManager();
  286.                 //$settings = $manager->getRepository(Setting::class)->findOneBy(array('id' => 1 ));
  287.                 //$from  = $settings->getExpediteur();
  288.                 // $bc[]  = $settings->getReception();
  289.                 $from = 'noreply@abcertification.com';
  290.                 $to   = $post->get('email');
  291.                
  292.                 $message = $this->renderView('emails/contact_user.html.twig', array('nom' => $post->get('nom')));
  293.                 $bc   = []; //= 'qualiopi@value-com.com';
  294.                 // $bc[]   = 'dhananjay.jadhav@encureit.com';
  295.                 $path = [];
  296.                 $sending = EmailManager::sendMail($mailer, $to, 'EVALUATION ESSMS : contact via site [evaluation-essms.abcertification.com]', $message, $from  , $path ,$bc);
  297.                 // $to   = 'qualiopi@value-com.com';
  298.                 // $to   = "contactessms@abcertification.com";
  299.                 $to   = "contactsms@abcertification.com";
  300.                 $message = $this->renderView('emails/contact_admin.html.twig', array('email' => $to,'nom' => $post->get('nom'),'prenom' => $post->get('prenom'),'enterprise' => $post->get('enterprise'),'telephone' => $post->get('telephone'),'email' => $post->get('email'),'message' => $post->get('message')));
  301.                 // $bc   = []; //= 'qualiopi@value-com.com';
  302.                 //$bc[]   = 'dhananjay.jadhav@encureit.com';
  303.                 $path = [];
  304.                 $sending = EmailManager::sendMail($mailer, $to, 'AB/Contact site EVALUATION ESSMS : msg de '.$post->get('nom'), $message, $from  , [] ,[]);
  305.                 
  306.                 
  307.                 $this->addFlash('success', 'Contact envoyé avec succès');
  308.         }else{
  309.              $this->addFlash('danger', 'La vérification du robot a échoué, veuillez réessayer');
  310.         }   
  311.             }
  312.         }
  313.         return $this->render('qualiopi/contact.html.twig');
  314.        
  315.     }
  316.     
  317.      /**
  318.      * @Route("/test-email", name="test-email")
  319.      */
  320.     public function testEmail(Request $request,\Swift_Mailer $mailer)
  321.     {
  322.         
  323.         $to = [];
  324.         $to[] = 'dhananjay.jadhav@encureit.com';
  325.         $bc = [];
  326.         $from = 'dhananjay.jadhav@encureit.com';//
  327.         
  328.         $baseurl = $request->getScheme() . '://' . $request->getHttpHost() . $request->getBasePath();
  329.         
  330.         
  331.         $path[] = "";
  332.         
  333.         // print_r($this->container->get("kernel")->getRootDir());die;
  334.         $sending = EmailManager::sendTestMail($mailer, 'dhananjay.jadhav@encureit.com', 'TEST EMAIL ESMS', 'TEST', $from);
  335.         
  336.         die("-".$sending);    
  337.     }
  338.     
  339.     
  340.      /**
  341.      * @Route("/devis-demande-services-medico-sociaux", name="anivin_devis")
  342.      */
  343.     public function devis(Request $request,FileUploader $uploader,\Swift_Mailer $mailer)
  344.     {
  345.         $this->get('session')->set('pageActif', 'devis');
  346.         $secretKey  = '6LdoDxgrAAAAACfJFmH7Lto1pr3s7NG6UwzcrQg_';
  347.         if ($request->isMethod('POST')) {
  348.             if(isset($_POST['g-recaptcha-response']) && !empty($_POST['g-recaptcha-response'])){ 
  349.         // Verify the reCAPTCHA API response 
  350.         $verifyResponse = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$secretKey.'&response='.$_POST['g-recaptcha-response']); 
  351.          
  352.         // Decode JSON data of API response 
  353.         $responseData = json_decode($verifyResponse);
  354.         if($responseData->success){ 
  355.             
  356.             $manager_abv1 = $this->getDoctrine()->getManager('abv1');
  357.             
  358.             $post = $request->request;
  359.             
  360.             $abcontact =new AbContact();
  361.            
  362.             $nom =  $request->request->get('nom');
  363.             $prenom =  $request->request->get('prenom');
  364.             $email =  $request->request->get('email');
  365.             $telephone =  $request->request->get('telephone');
  366.             $subject =  $request->request->get('sujet');
  367.             $msg =  $request->request->get('message');
  368.             $enterprise =  $request->request->get('enterprise');
  369.             $fonction =  $request->request->get('fonction');
  370.             $authorize =  $request->request->get('authorize');
  371.             $created =  date('Y-m-d h:i:s');
  372.             $tele_fichier = $request->files->get('tele_fichier');
  373.             
  374.             $cat_etablissement = $request->request->get('cat_etablissement');
  375.             $type_essms_evaluation = $request->request->get('type_essms_evaluation');
  376.             $statut_etablissement = $request->request->get('statut_etablissement');
  377.             $nfiness = $request->request->get('nfiness');
  378.             $number_etablissement = $request->request->get('number_etablissement');
  379.             if(!empty($cat_etablissement)){
  380.                 $cat_etablissement = implode(', ',$cat_etablissement);
  381.             }else{
  382.                 $cat_etablissement='';
  383.             }
  384.             
  385.             $attachmentArray=array();
  386.             if (!empty($tele_fichier))
  387.             {
  388.                 $fileuploaddire = './public/uploads/tele_fichier';
  389.                 if (!is_dir($fileuploaddire)) {
  390.                     mkdir($fileuploaddire, 0777, true);
  391.                 }
  392.                 $filename = time().'_'.$tele_fichier->getClientOriginalName();
  393.                 $uploader->upload($fileuploaddire, $tele_fichier, $filename);
  394.                 // $abcontact->setTeleFichier('/tele_fichier/'.$filename);
  395.                 $tele_fichier = '/uploads/tele_fichier/'.$filename;
  396.                 $attachmentArray[]= "/var/www/vhosts/abcertification.com/evaluation-essms.abcertification.com.abcertification.com/public".$tele_fichier;
  397.             }else{
  398.                 $tele_fichier='';
  399.             }
  400.             if($request->request->get('certification_id')!=''){
  401.                 $certification_id =  $request->request->get('certification_id');
  402.                 //$getCertificateName = $manager_abv1->getRepository(CertificatPage::class)->findOneBy(
  403.                     //array('id' => $request->request->get('certification_id')));
  404.                 
  405.                 //$certification =  $getCertificateName->getTitleFr().' '.$getCertificateName->getTitleFrStandard();
  406.                 // $abcontact->setCertification($certification);
  407.                 // $abcontact->setCertificationId($certification_id);
  408.                 $certification='';
  409.             }else{
  410.                 $certification_id=0;
  411.                 $certification='';
  412.             }
  413.             $type = 'DEVIS-ESSMS';
  414.          $insertArray = array(
  415.                     'type'=>$type,
  416.                     'nom'=>$nom,
  417.                     'prenom'=>$prenom,
  418.                     'email'=>$email,
  419.                     'telephone'=>$telephone,
  420.                     'subject'=>$subject,
  421.                     'msg'=>$msg,
  422.                     'enterprise'=>$enterprise,
  423.                     'fonction'=>$fonction,
  424.                     'authorize'=>$authorize,
  425.                     'created'=>$created,
  426.                     'tele_fichier'=>$tele_fichier,
  427.                     'certification_id'=>$certification_id,
  428.                     'certification'=>$certification,
  429.                     'cat_etablissement'=>$cat_etablissement,
  430.                     'type_essms_evaluation'=>$type_essms_evaluation,
  431.                     'statut_etablissement'=>$statut_etablissement,
  432.                     'nfiness'=>$nfiness,
  433.                     'number_etablissement'=>$number_etablissement,
  434.                     );
  435.         $manager_abv1->getConnection()->insert('ab_contacts',$insertArray);
  436. $from = 'noreply@abcertification.com';
  437.             // $type = 'DEVIS-ESSMS';
  438.             // $sql = "insert into ab_contacts
  439.             //     (type,nom,prenom,email,telephone,subject,msg,enterprise,fonction,authorize,created,tele_fichier,certification_id,certification,
  440.             //     cat_etablissement,type_essms_evaluation,statut_etablissement,nfiness,number_etablissement)
  441.             //     values
  442.             //     ('$type','$nom','$prenom','$email','$telephone','$subject','$msg','$enterprise','$fonction','$authorize','$created','$tele_fichier','$certification_id','$certification','$cat_etablissement','$type_essms_evaluation','$statut_etablissement','$nfiness','$number_etablissement')";
  443.             // $manager_abv1->getConnection()->prepare($sql)->execute();
  444.             
  445.             
  446.             
  447.             
  448.             //$manager = $this->getDoctrine()->getManager();
  449.             //$settings = $manager->getRepository(Setting::class)->findOneBy(array('id' => 1 ));
  450.             //$from  = $settings->getExpediteur();
  451.             // $bc[]  = $settings->getReception();
  452.             // $from = 'noreply@abcertification.com';//'essms@abcertification.com';//
  453.             
  454.             // $bc   = []; //= 'qualiopi@value-com.com';
  455.             // $to   = 'christian@abcertification.com';
  456.             // //$bc[]   = 'amol.lute@encureit.com';
  457.             // //christian@abcertification.com
  458.            
  459.             // $message = $this->renderView('emails/contact_user.html.twig', array('nom' => $post->get('nom')));
  460.             // $path = [];
  461.             // $sending = EmailManager::sendMail($mailer, $to, 'EVALUATION ESSMS (Devis) : contact via site [evaluation-essms.abcertification.com]', $message, $from  , $path ,$bc);
  462.             // if($sending == 1)
  463.             // {
  464.                 // $to   = 'qualiopi@value-com.com';
  465.                 $to   = "devisessms@abcertification.com";
  466.                 //$message = $this->renderView('emails/contact_admin.html.twig', array('email' => $to,'nom' => $post->get('nom'),'prenom' => $post->get('prenom'),'enterprise' => $post->get('enterprise'),'telephone' => $post->get('telephone'),'email' => $post->get('email'),'message' => $post->get('msg')));
  467.                 
  468.                 $message = $this->renderView('emails/contact_admin.html.twig', array('email' => $to,'nom' => $post->get('nom'),'prenom' => $post->get('prenom'),'enterprise' => $post->get('enterprise'),'telephone' => $post->get('telephone'),'email' => $post->get('email'),'message' => $post->get('message'),'cat_etablissement' => $cat_etablissement,'type_essms_evaluation' => $type_essms_evaluation,'statut_etablissement' => $statut_etablissement,'nfiness' => $nfiness,'number_etablissement'=>$number_etablissement,'subject'=>$subject));
  469.                 
  470.                 $bc   = []; //= 'qualiopi@value-com.com';
  471.                 //$bc[]   = 'amol.lute@encureit.com';
  472.                 $path = [];
  473.                 $sending = EmailManager::sendMail($mailer, $to, 'AB/Contact site EVALUATION ESSMS (Devis) : msg de '.$post->get('nom'), $message, $from  , $attachmentArray ,$bc);
  474.             // }
  475.             
  476.             
  477.             // Send Mail to Admin User
  478.             //$this->mailer->sendEmailMessage(
  479.                 //'Thank You!!',
  480.                 //$fromName = 'ABSoft' ,
  481.                 //$email,
  482.                 //$sendCc = null,
  483.                 //$sendBcc = null,
  484.                 //'contact_mail/devis.html.twig',
  485.                 //array('test'=>'test'),
  486.                 //array($tele_fichier),
  487.             //);
  488.             // $abcontact->setType("DEVIS");
  489.             // $abcontact->setNom($nom);
  490.             // $abcontact->setPrenom($prenom);
  491.             // $abcontact->setEnterprise($enterprise);
  492.             // $abcontact->setFonction($fonction);
  493.             // $abcontact->setEmail($email);
  494.             // $abcontact->setTelephone($telephone);
  495.             // $abcontact->setSubject($subject);
  496.             // $abcontact->setMsg($msg);
  497.             // $abcontact->setAuthorize($authorize);
  498.             // $abcontact->setCreated(new\DateTime('now'));
  499.             // $manager_abv1->persist($abcontact);
  500.             // $manager_abv1->flush();
  501.             
  502.             $this->addFlash('success', 'Contact envoyé avec succès');
  503.             return $this->redirectToRoute('anivin_devis');
  504.         }else{
  505.              $this->addFlash('danger', 'La vérification du robot a échoué, veuillez réessayer');
  506.         }
  507.         }
  508.         }
  509.         return $this->render('qualiopi/devis-contact.html.twig');
  510.         return $this->render('qualiopi/devis.html.twig');
  511.     }
  512. }
  513. ?>