<?php
namespace App\Controller;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use App\Entity\Enterprise;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\Filesystem\Filesystem;
use Symfony\Component\HttpFoundation\File\Exception\FileException;
use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;
use App\Manager\EmailManager;
use App\Entity\Setting;
use App\Service\FileUploader;
use App\Entity\AbContact;
class DefaultController extends AbstractController
{
/**
* @Route("/", name="anivin_concours")
*/
public function concours()
{
$em = $this->getDoctrine()->getManager();
$settings = $em->getRepository(Setting::class)->findOneBy(array('id' => 1 ));
$this->get('session')->set('pageActif', 'dashboard');
return $this->render('qualiopi/accueil.html.twig', [
'marquee' => strlen(trim($settings->getMarquee())) > 0 ? $settings->getMarquee() : '',
]);
}
/**
* @Route("/ab-organisme-certificateur-evaluateur", name="anivin_pourquoi_participer")
*/
public function pourquoiParticiper(Request $request)
{
$this->get('session')->set('pageActif', 'choisir_AB');
return $this->render('qualiopi/pourquoi-participer-ab.html.twig');
}
/**
* @Route("/reglement", name="anivin_reglement")
*/
public function reglement(Request $request)
{
$Titles = $this->getDoctrine()->getRepository(Titles::class)->find_titles_result('reglement');
return $this->render('qualiopi/certification-qualiopi.html.twig', [
'Titles' => $Titles
]);
}
/**
* @Route("/", name="index")
*/
public function redirectToHome()
{
// return $this->redirect('http://vindefrancewines.net/fr/espace-pro');
return $this->redirectToRoute('anivin_homepage');
}
/**
* @Route("/espace-pro", name="anivin_espace_pro")
*/
public function redirectToPro()
{
// return $this->redirect('http://vindefrancewines.net/fr/espace-pro');
return $this->render('espace-pro.html.twig', [
]);
}
/**
* @Route("/mentions-legales", name="anivin_mentions")
*/
public function mentions_legales()
{
return $this->render('qualiopi/mentions-legales.html.twig', [
]);
}
/**
* @Route("/", name="anivin_homepage")
*/
public function index()
{
return $this->render('index.html.twig', [
]);
}
/**
* @Route("/error", name="error-page")
*/
public function error_page()
{
return $this->render('default/page-erreur.html.twig');
}
/**
* @Route("/error-login", name="anivin_login")
*/
public function login_page()
{
return $this->render('default/page-login.html.twig');
}
/**
* @Route("/signin", name="anivin_login_new")
*/
public function login()
{
$user = $this->getUser();
if($user){
// return $this->redirectToRoute('anivin_espace_pro');
return $this->redirectToRoute('anivin_mon_compte');
}
else{
return $this->render('qualiopi/login.html.twig');
}
}
/**
* @Route("/signin_", name="anivin_login_devis")
*/
public function login1()
{
$user = $this->getUser();
if($user){
// return $this->redirectToRoute('anivin_espace_pro');
return $this->redirectToRoute('anivin_devis_info_enterprise');
}
else{
return $this->render('qualiopi/login.html.twig');
}
}
/**
* @Route("/mon-compte/{msg}", name="anivin_mon_compte")
*/
public function mon_compte($msg = null)
{
$this->get('session')->set('pageActif', 'mon_compte');
return $this->render('qualiopi/mon-compte.html.twig');
}
/**
* @Route("/faq-services-medico-sociaux/{id}", name="anivin_processus_dinscription")
*/
public function faq($id = null)
{
$this->get('session')->set('pageActif', 'faq');
return $this->render('qualiopi/faq-tout-savoir-sur-qualiopi.html.twig');
}
/**
* @Route("/etablissements-services-medico-sociaux", name="anivin_qualiopi")
*/
public function qualiopi()
{
$this->get('session')->set('pageActif', 'qualiopi');
return $this->render('qualiopi/certification-qualiopi.html.twig');
}
/**
* @Route("/infos-demande", name="anivin_ma_demande")
*/
public function ma_demande()
{
return $this->render('qualiopi/ma-demande.html.twig');
}
/**
* @Route("/mon-profil", name="anivin_gerer_mon_profil")
*/
public function profile(Request $request)
{
$post = $request->request;
$user = $this->getUser();
if($post->get('nom'))
{
$user->setEmail($post->get('email'));
$user->setCivilite($post->get('profilcivilite'));
$user->setNom($post->get('nom'));
$user->setPrenom($post->get('prenom'));
$user->setNomenterprise($post->get('nomenterprise'));
$user1 = $this->getDoctrine()->getManager();
$user1->persist($user);
$user1->flush();
$this->addFlash('success', 'Informations mises à jour');
}
return $this->render('qualiopi/profile.html.twig', [
'user' => $user]);
}
/**
* @Route("/change-password", name="anivin_change_password")
*/
public function change_password(Request $request,UserPasswordEncoderInterface $encoder)
{
$post = $request->request;
$user = $this->getUser();
if($post->get('new_pass'))
{
$hash = $encoder->encodePassword($user,$post->get('new_pass'));
$user->setPassword($hash);
$user1 = $this->getDoctrine()->getManager();
$user1->persist($user);
$user1->flush();
$this->addFlash('success', 'le mot de passe a été modifié avec succès');
}
return $this->render('qualiopi/change_password.html.twig', [
'user' => $user]);
}
/**
* @Route("/contact-essms", name="anivin_contact")
*/
public function contact(Request $request,\Swift_Mailer $mailer)
{
$this->get('session')->set('pageActif', 'contact');
$post = $request->request;
if($post->get('nom'))
{
$manager_abv1 = $this->getDoctrine()->getManager('abv1');
$post = $request->request;
$abcontact =new AbContact();
$nom = $request->request->get('nom');
$prenom = $request->request->get('prenom');
$enterprise = $request->request->get('enterprise');
$telephone = $request->request->get('telephone');
$email = $request->request->get('email');
$subject = $request->request->get('subject');
$msg = $request->request->get('message');
$created = date('Y-m-d h:i:s');
$tele_fichier='';
$certification_id=0;
$certification='';
$type = 'CONTACT-ESSMS';
$insertArray = array(
'type'=>$type,
'nom'=>$nom,
'prenom'=>$prenom,
'email'=>$email,
'telephone'=>$telephone,
'msg'=>$msg,
'enterprise'=>$enterprise,
'created'=>$created
);
$manager_abv1->getConnection()->insert('ab_contacts',$insertArray);
// $type = 'CONTACT-ESSMS';
// $sql = "insert into ab_contacts
// (type,nom,prenom,email,telephone,msg,enterprise,created)
// values
// ('$type','$nom','$prenom','$email','$telephone','$msg','$enterprise','$created')";
// $manager_abv1->getConnection()->prepare($sql)->execute();
//$manager = $this->getDoctrine()->getManager();
//$settings = $manager->getRepository(Setting::class)->findOneBy(array('id' => 1 ));
//$from = $settings->getExpediteur();
// $bc[] = $settings->getReception();
$from = 'noreply@abcertification.com';
$to = $post->get('email');
$message = $this->renderView('emails/contact_user.html.twig', array('nom' => $post->get('nom')));
$bc = []; //= 'qualiopi@value-com.com';
$bc[] = 'pranita.gaikwad@encureit.com';
$path = [];
$sending = EmailManager::sendMail($mailer, $to, 'EVALUATION ESSMS : contact via site [evaluation-essms.abcertification.com]', $message, $from , $path ,$bc);
if($sending == 1)
{
// $to = 'qualiopi@value-com.com';
$to = "contactessms@abcertification.com";
$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')));
$bc = []; //= 'qualiopi@value-com.com';
//$bc[] = 'pranita.gaikwad@encureit.com';
$path = [];
$sending = EmailManager::sendMail($mailer, $to, 'AB/Contact site EVALUATION ESSMS : msg de '.$post->get('nom'), $message, $from , $path ,$bc);
}
$this->addFlash('success', 'Contact envoyé avec succès');
}
return $this->render('qualiopi/contact.html.twig');
}
/**
* @Route("/test-email", name="test-email")
*/
public function testEmail(Request $request,\Swift_Mailer $mailer)
{
$to = [];
$to[] = 'dhananjay.jadhav@encureit.com';
$bc = [];
$from = 'dhananjay.jadhav@encureit.com';//
$baseurl = $request->getScheme() . '://' . $request->getHttpHost() . $request->getBasePath();
$path[] = 'https://evaluation-essms.abcertification.com/public/uploads/tele_fichier/1666068737_cv.pdf';
// print_r($this->container->get("kernel")->getRootDir());die;
$sending = EmailManager::sendMail($mailer, 'dhananjay.jadhav@encureit.com', 'TEST EMAIL', 'TEST', $from , $path ,$bc);
die("-".$sending);
}
/**
* @Route("/devis-demande-services-medico-sociaux", name="anivin_devis")
*/
public function devis(Request $request,FileUploader $uploader,\Swift_Mailer $mailer)
{
$this->get('session')->set('pageActif', 'devis');
if ($request->isMethod('POST')) {
$manager_abv1 = $this->getDoctrine()->getManager('abv1');
$post = $request->request;
$abcontact =new AbContact();
$nom = $request->request->get('nom');
$prenom = $request->request->get('prenom');
$email = $request->request->get('email');
$telephone = $request->request->get('telephone');
$subject = $request->request->get('sujet');
$msg = $request->request->get('message');
$enterprise = $request->request->get('enterprise');
$fonction = $request->request->get('fonction');
$authorize = $request->request->get('authorize');
$created = date('Y-m-d h:i:s');
$tele_fichier = $request->files->get('tele_fichier');
$cat_etablissement = $request->request->get('cat_etablissement');
$type_essms_evaluation = $request->request->get('type_essms_evaluation');
$statut_etablissement = $request->request->get('statut_etablissement');
$nfiness = $request->request->get('nfiness');
$number_etablissement = $request->request->get('number_etablissement');
if(!empty($cat_etablissement)){
$cat_etablissement = implode(', ',$cat_etablissement);
}else{
$cat_etablissement='';
}
$attachmentArray=array();
if (!empty($tele_fichier))
{
$fileuploaddire = './public/uploads/tele_fichier';
if (!is_dir($fileuploaddire)) {
mkdir($fileuploaddire, 0777, true);
}
$filename = time().'_'.$tele_fichier->getClientOriginalName();
$uploader->upload($fileuploaddire, $tele_fichier, $filename);
// $abcontact->setTeleFichier('/tele_fichier/'.$filename);
$tele_fichier = '/uploads/tele_fichier/'.$filename;
$attachmentArray[]= "/var/www/vhosts/abcertification.com/evaluation-essms.abcertification.com.abcertification.com/public".$tele_fichier;
}else{
$tele_fichier='';
}
if($request->request->get('certification_id')!=''){
$certification_id = $request->request->get('certification_id');
//$getCertificateName = $manager_abv1->getRepository(CertificatPage::class)->findOneBy(
//array('id' => $request->request->get('certification_id')));
//$certification = $getCertificateName->getTitleFr().' '.$getCertificateName->getTitleFrStandard();
// $abcontact->setCertification($certification);
// $abcontact->setCertificationId($certification_id);
$certification='';
}else{
$certification_id=0;
$certification='';
}
$type = 'DEVIS-ESSMS';
$insertArray = array(
'type'=>$type,
'nom'=>$nom,
'prenom'=>$prenom,
'email'=>$email,
'telephone'=>$telephone,
'subject'=>$subject,
'msg'=>$msg,
'enterprise'=>$enterprise,
'fonction'=>$fonction,
'authorize'=>$authorize,
'created'=>$created,
'tele_fichier'=>$tele_fichier,
'certification_id'=>$certification_id,
'certification'=>$certification,
'cat_etablissement'=>$cat_etablissement,
'type_essms_evaluation'=>$type_essms_evaluation,
'statut_etablissement'=>$statut_etablissement,
'nfiness'=>$nfiness,
'number_etablissement'=>$number_etablissement,
);
$manager_abv1->getConnection()->insert('ab_contacts',$insertArray);
// $type = 'DEVIS-ESSMS';
// $sql = "insert into ab_contacts
// (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)
// values
// ('$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')";
// $manager_abv1->getConnection()->prepare($sql)->execute();
//$manager = $this->getDoctrine()->getManager();
//$settings = $manager->getRepository(Setting::class)->findOneBy(array('id' => 1 ));
//$from = $settings->getExpediteur();
// $bc[] = $settings->getReception();
// $from = 'noreply@abcertification.com';//'essms@abcertification.com';//
// $bc = []; //= 'qualiopi@value-com.com';
// $to = 'christian@abcertification.com';
// //$bc[] = 'amol.lute@encureit.com';
// //christian@abcertification.com
// $message = $this->renderView('emails/contact_user.html.twig', array('nom' => $post->get('nom')));
// $path = [];
// $sending = EmailManager::sendMail($mailer, $to, 'EVALUATION ESSMS (Devis) : contact via site [evaluation-essms.abcertification.com]', $message, $from , $path ,$bc);
// if($sending == 1)
// {
// $to = 'qualiopi@value-com.com';
$to = "devisessms@abcertification.com";
//$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')));
$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));
$bc = []; //= 'qualiopi@value-com.com';
//$bc[] = 'amol.lute@encureit.com';
$path = [];
$sending = EmailManager::sendMail($mailer, $to, 'AB/Contact site EVALUATION ESSMS (Devis) : msg de '.$post->get('nom'), $message, $from , $attachmentArray ,$bc);
// }
// Send Mail to Admin User
//$this->mailer->sendEmailMessage(
//'Thank You!!',
//$fromName = 'ABSoft' ,
//$email,
//$sendCc = null,
//$sendBcc = null,
//'contact_mail/devis.html.twig',
//array('test'=>'test'),
//array($tele_fichier),
//);
// $abcontact->setType("DEVIS");
// $abcontact->setNom($nom);
// $abcontact->setPrenom($prenom);
// $abcontact->setEnterprise($enterprise);
// $abcontact->setFonction($fonction);
// $abcontact->setEmail($email);
// $abcontact->setTelephone($telephone);
// $abcontact->setSubject($subject);
// $abcontact->setMsg($msg);
// $abcontact->setAuthorize($authorize);
// $abcontact->setCreated(new\DateTime('now'));
// $manager_abv1->persist($abcontact);
// $manager_abv1->flush();
$this->addFlash('success', 'Contact envoyé avec succès');
return $this->redirectToRoute('anivin_devis');
}
return $this->render('qualiopi/devis-contact.html.twig');
return $this->render('qualiopi/devis.html.twig');
}
}
?>