<?php
/*
(c) Noel Kenfack <noel.kenfack@yahoo.fr> Février 2015
*/
namespace App\Controller\Produit\Produit;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use App\Entity\Users\User\User;
use App\Entity\Produit\Produit\Panier;
use App\Entity\Users\User\Contacts;
use App\Entity\Users\User\Billet;
use App\Form\Users\User\BilleteditType;
use App\Entity\Produit\Produit\Produitpanier;
use App\Entity\Users\User\Notification;
use General\ServiceBundle\AfPdf\PDF;
use App\Service\Servicetext\GeneralServicetext;
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
use App\Service\Email\Singleemail;
use App\Entity\Produit\Produit\Souscategorie;
use App\Entity\Produit\Service\Ville;
use App\Entity\Produit\Service\Service;
use Symfony\Component\HttpFoundation\Request;
use App\Entity\Produit\Produit\Produit;
use App\Entity\Produit\Service\Pays;
class PanierController extends AbstractController
{
private $params;
private $_servicemail;
public function __construct(ParameterBagInterface $params, Singleemail $servicemail)
{
$this->params = $params;
$this->_servicemail = $servicemail;
}
public function trackbill()
{
$em = $this->getDoctrine()->getManager();
$liste_panier = $em->getRepository(Panier::class)
->panierContact();
$current_command = $em->getRepository(Panier::class)
->panierContactNonPayer();
return $this->render('Theme/Users/Adminuser/Panier/trackbill.html.twig',
array('liste_panier'=>$liste_panier,'current_command'=>$current_command));
}
public function contenupanier(Panier $panier)
{
$em = $this->getDoctrine()->getManager();
$liste_produit = $em->getRepository(Produitpanier::class)
->myfindBy($panier->getId());
return $this->render('Theme/Users/Adminuser/Panier/contenupanier.html.twig',array('liste_produit'=>$liste_produit,'panier'=>$panier));
}
public function validationpaiement(Panier $panier, GeneralServicetext $service)
{
$em = $this->getDoctrine()->getManager();
if($panier->getPayer() == false and $panier->getContact() != null)
{
$pdf = new PDF('L','mm','A5');
$pdf->AliasNbPages();
$pdf->AddPage();
$pdf->SetFont('Times','',12);
$pdf->setStruct($panier->getContact()->getStructname());
$pdf->setTypec($panier->getContact()->getType());
$pdf->setAdresse($panier->getContact()->getAdresse());
$pdf->setRegion($panier->getContact()->getVille().', '.$panier->getContact()->getPays()->getNom());
$pdf->setRespo($panier->getContact()->name(40));
$pdf->setNumdate('Facture ID: '.$panier->numFacture().' du: '.$panier->dateFacture());
$pdf->setCassename($this->getUser()->name(50));
$pdf->setCassefont($this->getUser()->getPoste());
$pdf->description();
//liste des produits
$ligne = 40;
$cout = 0;
$qte = 0;
$reduction = 0;
if($panier->getCollectionproduit() == null)
{
foreach($panier->getProduitpaniers() as $propan)
{
$prixTttc = ($propan->getQuantite() * $propan->getProduit()->getNewprise()) + ($propan->getProduit()->getPrixlivraison() * $propan->getQuantite());
if($propan->getProduit()->getSouscategorie()->getCategorie()->getRang() == 1)
{
$name = $propan->getDomaine();
$servicename = 'Nom de domaine';
}else{
$name = $propan->getProduit()->getNom();
$servicename = $propan->getProduit()->getSouscategorie()->getNom();
}
$prixuttc = $propan->getProduit()->getNewprise() + $propan->getProduit()->getPrixlivraison();
$pdf->addProduct($servicename, $name, $prixuttc, $propan->getQuantite().',00 '.$propan->getProduit()->getRapport().'', $prixTttc, $ligne);
$ligne = $ligne + 5;
$cout = $cout + $prixTttc;
$qte = $qte + $propan->getQuantite();
}
}else{
$renews = $panier->getCollectionproduit()->getRenewplans();
foreach($renews as $renewplan)
{
$propan = $renewplan->getProduitpanier();
$prixTttc = ($renewplan->getQuantite() * $propan->getProduit()->getNewprise()) + ($propan->getProduit()->getPrixlivraison() * $renewplan->getQuantite());
if($propan->getProduit()->getSouscategorie()->getCategorie()->getRang() == 1)
{
$name = $propan->getDomaine();
$servicename = 'Nom de domaine';
}else{
$name = $propan->getProduit()->getNom();
$servicename = $propan->getProduit()->getSouscategorie()->getNom();
}
$prixuttc = $propan->getProduit()->getNewprise() + $propan->getProduit()->getPrixlivraison();
$pdf->addProduct($servicename, $name, $prixuttc, $renewplan->getQuantite().',00 '.$propan->getProduit()->getRapport().'', $prixTttc, $ligne);
$ligne = $ligne + 5;
$cout = $cout + $prixTttc;
$qte = $qte + $renewplan->getQuantite();
}
}
$devise = $this->container->getParameter('devise');
if($panier->getCouponcard() != null)
{
$reduction = $panier->getCouponcard()->getMontant();
}
$pdf->statistique($reduction.',00'.$devise,($cout - $reduction).',00'.$devise);
if(!file_exists ($panier->getUploadRootDir()))
{
mkdir($panier->getUploadRootDir(),0777,true);
}
$pdf->Output('F',$panier->getWebPath());
//Email Client
$siteweb = $this->params->get('siteweb');
$sitename = $this->params->get('sitename');
$emailadmin = $this->params->get('emailadmin');
if($service->email($panier->getUser()->getUsername()))
{
$response = $this->_servicemail->sendNotifEmail(
$panier->getUser()->name(25), //Nom du destinataire
$panier->getUser()->getUsername(), //Email Destinataire
$panier->getUser()->name(25).', Votre facture ID: '.$panier->numFacture().' est déjà disponible !', //Objet de l'email
$panier->getUser()->name(25).', Votre facture ID: '.$panier->numFacture().' est déjà disponible !', //Grand Titre de l'email
'Nous vous remercions pour votre commande.</br> Téléchargez votre facture en pièce jointe à ce courriel ! </br> Vous pouvez consulter cette dernière depuis votre espace client en cliquant sur le menu <<factures>>. </br> Suivez l\'état de vos produits/services chez '.$sitename.' directement sur votre espace client.', //Contenu de l'email
$siteweb.'/user/afh/panel/'.$panier->getUser()->getId() //Lien à suivre
);
}
//Notification client.
$notification = new Notification($service);
$notification->setUser($panier->getUser());
$notification->setTitre($panier->getUser()->name(25).', Votre facture ID: '.$panier->numFacture().' est déjà disponible !');
$notification->setDescription('Nous vous remercions pour votre commande. Vous pouvez consulter à la rubrique "factures" de votre espace client.');
$em->persist($notification);
if($panier->getCollectionproduit() == null)
{
foreach($panier->getProduitpaniers() as $propan)
{
$produit = $propan->getProduit();
$rapport = $produit->getRapport();
if(preg_match("/mois/i", $rapport))
{
$propan->setExpireon(new \Datetime($propan->getExpireon()->modify("+{$propan->getQuantite()} month")->format('Y-m-d')));
}else if(preg_match("/an/i", $rapport))
{
$propan->setExpireon(new \Datetime($propan->getExpireon()->modify("+{$propan->getQuantite()} year")->format('Y-m-d')));
}else{
$propan->setExpireon(new \Datetime($propan->getExpireon()->modify("+{$propan->getQuantite()} month")->format('Y-m-d')));
}
}
}else{
$renews = $panier->getCollectionproduit()->getRenewplans();
foreach($renews as $renewplan)
{
$propan = $renewplan->getProduitpanier();
$produit = $propan->getProduit();
$rapport = $produit->getRapport();
if(preg_match("/mois/i", $rapport))
{
$propan->setExpireon(new \Datetime($propan->getExpireon()->modify("+{$propan->getQuantite()} month")->format('Y-m-d')));
}else if(preg_match("/an/i", $rapport))
{
$propan->setExpireon(new \Datetime($propan->getExpireon()->modify("+{$propan->getQuantite()} year")->format('Y-m-d')));
}else{
$propan->setExpireon(new \Datetime($propan->getExpireon()->modify("+{$propan->getQuantite()} month")->format('Y-m-d')));
}
}
}
$panier->setPayer(true);
$em->flush();
$this->get('session')->getFlashBag()->add('information','Validation de la commande effectuée avec succès !');
}
return $this->redirect($this->generateUrl('users_adminuser_afh_track_bill'));
}
public function panierlivrer()
{
$em = $this->getDoctrine()->getManager();
$liste_panier = $em->getRepository(Panier::class)
->findBy(array('payer'=>1,'livrer'=>1),array('date'=>'desc'));
return $this->render('Theme/Users/Adminuser/Panier/panierlivrer.html.twig',array('liste_panier'=>$liste_panier));
}
public function detailpanieruser(Panier $panier)
{
$em = $this->getDoctrine()->getManager();
$liste_produit = $em->getRepository(Produitpanier::class)
->myfindBy($panier->getId());
$topcat = $em->getRepository(Souscategorie::class)
->topsouscategorie(8);
return $this->render('Theme/Produit/Produit/Panier/detailpanieruser.html.twig',
array('liste_produit'=>$liste_produit,'panier'=>$panier,'topcat'=>$topcat));
}
public function modifierlieulivraison(Panier $panier)
{
$em = $this->getDoctrine()->getManager();
if(isset($_POST['ville']))
{
$ville = $em->getRepository(Ville::class)
->findOneBy(array('nom'=>$_POST['ville']));
if($ville != null)
{
$panier->setVille($ville);
$em->flush();
}
}
return $this->redirect($this->generateUrl('produit_produit_reglement_commande_du_panier',array('id'=>$this->getUser()->getId())));
}
public function cardbill(Panier $panier, GeneralServicetext $service, Request $request)
{
$em = $this->getDoctrine()->getManager();
if($panier->getSousmis() == false)
{
$this->get('session')->getFlashBag()->add('information','La commande que vous essayez de consulter est encore incomplète !');
return $this->redirect($this->generateUrl('users_user_acces_plateforme'));
}
$liste_article = $em->getRepository(Service::class)
->myFindType('modepaiement');
$billet = new Billet($service);
$formbillet = $this->createForm(BilleteditType::class, $billet);
if ($request->getMethod() == 'POST')
{
$formbillet->handleRequest($request);
if ($formbillet->isValid() and $panier != null){
$avisuser = 0;
$billet->setUser($panier->getUser());
$billet->setPanier($panier);
if(isset($_POST['avisuser']))
{
$avisuser = $_POST['avisuser'];
}
$billet->setAvisuser($avisuser);
$billet->setTitre('Avis Commande '.$panier->numFacture());
$billet->setAvis(true);
$em->persist($billet);
$em->flush();
$siteweb = $this->params->get('siteweb');
$sitename = $this->params->get('sitename');
$emailadmin = $this->params->get('emailadmin');
$mail = new Afmail();
$response = $this->_servicemail->sendNotifEmail(
'Team '.$sitename, //Nom du destinataire
$emailadmin, //Email Destinataire
$panier->getUser()->name(25).', Vient d\'ajouter un avis sur '.$sitename, //Objet de l'email
$panier->getUser()->name(25).', Vient d\'ajouter un avis sur '.$sitename, //Grand Titre de l'email
'Rendez-vous sur '.$sitename.' pour consulter cet avis.', //Contenu de l'email
$siteweb.'/user/afh/panel/'.$panier->getUser()->getId() //Lien à suivre
);
}else{
$this->get('session')->getFlashBag()->add('information','Une erreur a été rencontrée !');
}
}
$liste_review = $em->getRepository(Billet::class)
->findBy(array('panier'=>$panier,'avis'=>1), array('date'=>'desc'));
$produitpanier = null;
foreach($panier->getProduitpaniers() as $prodpan)
{
$produitpanier = $prodpan;
break;
}
return $this->render('Theme/Produit/Produit/Panier/cardbill.html.twig',
array('panier'=>$panier,'liste_article'=>$liste_article,'formbillet'=>$formbillet->createView(),
'liste_review'=>$liste_review,'produitpanier'=>$produitpanier));
}
public function clientreviews($page, $id)
{
$em = $this->getDoctrine()->getManager();
$liste_billet = $em->getRepository(Billet::class)
->myFindReview($page,11);
$repository = $em->getRepository(Billet::class);
$openticket = $repository->find($id);
$total = $repository->getTotalAvisUtilisateur();
$somme = $repository->getSommeAvisValide();
return $this->render('Theme/Users/User/Billet/clientreviews.html.twig',
array('liste_billet'=>$liste_billet,'page'=>$page,
'nombrepage' => ceil(count($liste_billet)/11),'total'=>$total,'somme'=>$somme,'openticket'=>$openticket));
}
public function ajoutdomaine()
{
if(isset($_POST['id']))
{
$id = $_POST['id'];
}else{
$id = 0;
}
$em = $this->getDoctrine()->getManager();
$produit = $em->getRepository(Produit::class)
->find($id);
if($produit != null){
$idcard = 0;
if(isset($_COOKIE["PIDCARD"]) and $_COOKIE["PIDCARD"] != 'empty')
{
$idcard = $_COOKIE["PIDCARD"];
}
$oldpanier = $em->getRepository(Panier::class)
->findOneBy(array('id'=>$idcard,'sousmis'=>0));
if($oldpanier == null and $this->getUser() != null)
{
$oldpanier = $em->getRepository(Panier::class)
->findOneBy(array('user'=>$this->getUser(),'sousmis'=>0));
}
$domaine = '-';
$statut = '-';
if(isset($_POST['domaine']) and isset($_POST['statut']))
{
$domaine = $_POST['domaine'];
$statut = $_POST['statut'];
}
if($oldpanier == null)
{
$panier = new Panier();
$panier->setUser($this->getUser());
$em->persist($panier);
$produitpanier = new Produitpanier();
$produitpanier->setPanier($panier);
$produitpanier->setDomaine($domaine);
$produitpanier->setEnregistrement($statut);
$produitpanier->setProduit($produit);
$em->persist($produitpanier);
$em->flush();
// Stock les infos du cookie
$cookie_info = array(
'name' => 'PIDCARD',
'value' => $panier->getId(),
'time' => time() + (3600 * 24 * 360)
);
// Cree le cookie
setCookie($cookie_info['name'], $cookie_info['value'], $cookie_info['time'],'/');
setCookie('PIDCARDDUR',$cookie_info['time'], $cookie_info['time'],'/');
}else{
if(count($oldpanier->getProduitpaniers()) != 0)
{
$listprod = $oldpanier->getProduitpaniers();
$trouve = false;
foreach($listprod as $prod)
{
if($prod->getProduit() == $produit and $prod->getDomaine() == $domaine)
{
if($prod->getQuantite() < 5)
{
$prod->setQuantite($prod->getQuantite() + 1);
$trouve = true;
break;
}else{
echo 0;
exit;
break;
}
}
}
if($trouve == false)
{
$produitpanier = new Produitpanier();
$produitpanier->setPanier($oldpanier);
$produitpanier->setDomaine($domaine);
$produitpanier->setEnregistrement($statut);
$produitpanier->setProduit($produit);
$em->persist($produitpanier);
}
}else{
$produitpanier = new Produitpanier();
$produitpanier->setPanier($oldpanier);
$produitpanier->setDomaine($domaine);
$produitpanier->setEnregistrement($statut);
$produitpanier->setProduit($produit);
$em->persist($produitpanier);
}
$em->flush();
}
echo 1;
exit;
}else{
echo 0;
exit;
}
}
public function parametrescommande(Panier $panier)
{
$tarifht = 0;
$tarifttc = 0;
$em = $this->getDoctrine()->getManager();
if(isset($_POST['montantht']) and isset($_POST['montantttc']))
{
$tarifht = $_POST['montantht'];
$tarifttc = $_POST['montantttc'];
$panier->setMontantht($tarifht);
$panier->setMontantttc($tarifttc);
$em->flush();
}
$namedns1 = $this->params->get('namedns1');
$namedns2 = $this->params->get('namedns2');
$registrat1 = $this->params->get('registrat1');
$systemelg = $this->params->get('systemelg');
$serveurmap = $this->params->get('serveurmap');
$managerhosting = $this->params->get('managerhosting');
$typesuivi = $this->params->get('typesuivi');
return $this->render('Theme/Produit/Produit/Panier/parametrescommande.html.twig',
array('panier'=>$panier,'namedns1'=>$namedns1,'namedns2'=>$namedns2,'registrat1'=>$registrat1,
'systemelg'=>$systemelg,'managerhosting'=>$managerhosting,'serveurmap'=>$serveurmap,'typesuivi'=>$typesuivi));
}
public function parameterprodpan(Panier $panier, GeneralServicetext $service)
{
$em = $this->getDoctrine()->getManager();
if(isset($_POST['typeprod']) and $_POST['typeprod'] == 'domaine')
{
if(isset($_POST['prodpan']))
{
$prodpan2 = $em->getRepository(Produitpanier::class)
->find($_POST['prodpan']);
if($prodpan2 != null and isset($_POST['registrat']) and isset($_POST['namedns1']) and isset($_POST['namedns2']) and isset($_POST['namedns3']) and isset($_POST['namedns4']))
{
$prodpan2->setRegistrat($_POST['registrat']);
$prodpan2->setNamedns1($_POST['namedns1']);
$prodpan2->setNamedns2($_POST['namedns2']);
$prodpan2->setNamedns3($_POST['namedns3']);
$prodpan2->setNamedns4($_POST['namedns4']);
if(isset($_POST['transfertkey']))
{
$prodpan2->setTransfertkey($_POST['transfertkey']);
}
$em->flush();
return $this->redirect($this->generateUrl('produit_produit_manage_parametres_commande', array('id'=>$panier->getId())));
}
}
}else if(isset($_POST['typeprod']) and $_POST['typeprod'] == 'hosting')
{
if(isset($_POST['prodpan']))
{
$prodpan2 = $em->getRepository(Produitpanier::class)
->find($_POST['prodpan']);
if($prodpan2 != null and isset($_POST['systemelg']) and isset($_POST['serveurmap']) and isset($_POST['nameinstance']) and isset($_POST['password']))
{
$prodpan2->setSystemelg($_POST['systemelg']);
$prodpan2->setServeurmap($_POST['serveurmap']);
$prodpan2->setNameinstance($_POST['nameinstance']);
if($_POST['password'] != '')
{
$prodpan2->setPassword($service->encrypt($_POST['password'],$this->container->getParameter('saltcookies')));
}
if(isset($_POST['revendeurmanager']))
{
$prodpan2->setRevendeurmanager($_POST['revendeurmanager']);
}
$em->flush();
return $this->redirect($this->generateUrl('produit_produit_manage_parametres_commande', array('id'=>$panier->getId())));
}
}
}else if(isset($_POST['typeprod']) and $_POST['typeprod'] == 'ssl')
{
if(isset($_POST['prodpan']))
{
$prodpan2 = $em->getRepository(Produitpanier::class)
->find($_POST['prodpan']);
if($prodpan2 != null and isset($_POST['sitewebname']))
{
$prodpan2->setSitewebname($_POST['sitewebname']);
$em->flush();
return $this->redirect($this->generateUrl('produit_produit_manage_parametres_commande', array('id'=>$panier->getId())));
}
}
}else if(isset($_POST['typeprod']) and $_POST['typeprod'] == 'niveauservice')
{
if(isset($_POST['prodpan']))
{
$prodpan2 = $em->getRepository(Produitpanier::class)
->find($_POST['prodpan']);
if($prodpan2 != null and isset($_POST['typesuivi']))
{
$prodpan2->setTypesuivi($_POST['typesuivi']);
$em->flush();
return $this->redirect($this->generateUrl('produit_produit_manage_parametres_commande', array('id'=>$panier->getId())));
}
}
}
echo 0;
exit;
}
public function contactspanier(Panier $panier, GeneralServicetext $service)
{
$em = $this->getDoctrine()->getManager();
$liste_pays = $em->getRepository(Pays::class)
->myfindAll();
$liste_contact = new \Doctrine\Common\Collections\ArrayCollection();
if($this->getUser() != null)
{
$liste_contact = $em->getRepository(Contacts::class)
->findBy(array('user'=>$this->getUser()));
}
return $this->render('Theme/Produit/Produit/Panier/contactspanier.html.twig',
array('panier'=>$panier,'liste_pays'=>$liste_pays,'liste_contact'=>$liste_contact));
}
public function savecontacts(Panier $panier, GeneralServicetext $service)
{
$em = $this->getDoctrine()->getManager();
$newaccount = false;
if(isset($_POST['type']))
{
$type = $_POST['type'];
}else{
echo 0;
exit;
}
if(isset($_POST['pseudo']) and $service->chaineValide($_POST['pseudo'], 2, 100))
{
$pseudo = $_POST['pseudo'];
}else{
echo 2;
exit;
}
if(isset($_POST['structname']) and $service->chaineValide($_POST['structname'], 2, 100))
{
$structname = $_POST['structname'];
}else{
echo 3;
exit;
}
if(isset($_POST['nom']) and $service->chaineValide($_POST['nom'], 2, 100))
{
$nom = $_POST['nom'];
}else{
echo 4;
exit;
}
if(isset($_POST['prenom']) and $service->chaineValide($_POST['prenom'], 2, 100))
{
$prenom = $_POST['prenom'];
}else{
echo 5;
exit;
}
if(isset($_POST['pays']))
{
$pays = $em->getRepository(Pays::class)
->find($_POST['pays']);
if($pays == null)
{
echo 6;
exit;
}
}else{
echo 6;
exit;
}
if(isset($_POST['adresse']) and $service->chaineValide($_POST['adresse'], 2, 100))
{
$adresse = $_POST['adresse'];
}else{
echo 7;
exit;
}
if(isset($_POST['ville']) and $service->chaineValide($_POST['ville'], 2, 100))
{
$ville = $_POST['ville'];
}else{
echo 8;
exit;
}
if(isset($_POST['email']) and $service->email($_POST['email']))
{
$email = $_POST['email'];
}else{
echo 9;
exit;
}
if(isset($_POST['tel']) and $service->telephone($_POST['tel']))
{
$tel = $_POST['tel'];
}else{
echo 10;
exit;
}
if(isset($_POST['newcompte']) and $_POST['newcompte'] == true)
{
if(isset($_POST['password']) and $service->password($_POST['password']))
{
$password = $_POST['password'];
$newaccount = true;
}else{
echo 11;
exit;
}
}
if($panier->getContact() != null)
{
$contact = $panier->getContact();
}else{
$contact = new Contacts($service);
}
$contact->setType($type);
$contact->setPseudo($pseudo);
$contact->setStructname($structname);
$contact->setNom($nom);
$contact->setPrenom($prenom);
$contact->setPays($pays);
$contact->setAdresse($adresse);
$contact->setVille($adresse);
$contact->setEmail($email);
$contact->setTel($tel);
$em->persist($contact);
$panier->setContact($contact);
$em->flush();
if($newaccount == true and $this->getUser() == null)
{
$olduser = $em->getRepository(User::class)
->findOneBy(array('username'=>$email));
if($olduser == null)
{
$user = new User($service);
$user->setNom($nom);
$user->setPrenom($nom);
$user->setUsername($email);
$user->setPassword($password);
$user->setTel($tel);
$user->setPays($pays);
$em->persist($user);
$panier->setUser($user);
$contact->setUser($user);
$em->flush();
$session = $this->get('session');
$session->set('pid_user_panier',$user->getId());
echo 1;
exit;
}else{
echo 12;
exit;
}
}else{
if($this->getUser() != null)
{
$panier->setUser($this->getUser());
$contact->setUser($this->getUser());
$em->flush();
}
}
echo 1;
exit;
}
public function paiementstep(Panier $panier, GeneralServicetext $service, $position, $save)
{
$em = $this->getDoctrine()->getManager();
if($position == 'paiement')
{
if(isset($_POST['idpaiement']) and isset($_POST['idcontact']))
{
$article = $em->getRepository(Service::class)
->find($_POST['idpaiement']);
$contact = $em->getRepository(Contacts::class)
->find($_POST['idcontact']);
if($contact != null)
{
$panier->setContact($contact);
$em->flush();
}
if($article != null)
{
$panier->setService($article);
$panier->setSousmis(true);
if(isset($_COOKIE["PIDCARD"]) and isset($_COOKIE["PIDCARDDUR"]))
{
// Stock les infos du cookie
$cookie_info = array(
'name' => "PIDCARD",
'value' => "empty",
'time' => $_COOKIE["PIDCARDDUR"]
);
setCookie($cookie_info['name'], $cookie_info['value'], $cookie_info['time'],'/');
}
/*
//Email Client
$siteweb = $this->container->getParameter('siteweb');
$sitename = $this->container->getParameter('sitename');
$emailadmin = $this->container->getParameter('emailadmin');
if($panier->getUser() != null and $service->email($panier->getUser()->getUsername()))
{
$mail = new Afmail();
$mail->setFrom($sitename.' <'.$emailadmin.'>');
$mail->setSubject($panier->getUser()->name(25).', Votre commande ID: '.$panier->numFacture().' a été enregistrée avec succès !');
$mail->setHTML($this->renderView('UsersUserBundle:User:envoiemail.html.twig', array('link'=>$siteweb.'/afh/card/bill/'.$panier->getId(),'nom'=>$panier->getUser()->name(25),'titre' => $panier->getUser()->name(25).', Votre commande ID: '.$panier->numFacture().' a été enregistrée avec succès !','contenu'=>'Votre commande sera validés dans de plus bref délais.</br> </br> Pour faciliter cette étape, procédez au transfert des frais de cette facture sur le compte choisi ! </br></br> Vous pouvez à tout moment consulter l\'état de cette commande via le lien ci-dessous.')));
$mail->setTextCharset('utf-8');
$mail->setHTMLCharset('utf-8');
$result = $mail->send(array($panier->getUser()->getUsername()));
}
//Notification client.
$notification = new Notification($service);
$notification->setUser($panier->getUser());
$notification->setTitre($panier->getUser()->name(25).', Votre commande ID: '.$panier->numFacture().' a été enregistré avec succès !');
$notification->setDescription('Votre commande sera validée dans de plus bref délais . </br> Pour faciliter cette étape, procédez au transfert des frais de cette facture sur le compte choisi.');
$em->persist($notification);
//Email Admin
if($service->email($emailadmin))
{
$mail = new Afmail();
$mail->setFrom($panier->getUser()->name(30).' <'.$panier->getUser()->getUsername().'>');
$mail->setSubject($panier->getUser()->name(25).' a enregistré une nouvelle commande sur '.$sitename.' !');
$mail->setHTML($this->renderView('UsersUserBundle:User:envoiemail.html.twig', array('link'=>$siteweb.'/packagewebsiteadmin/afh/track/bill','nom'=>'Team '.$sitename,'titre' => $panier->getUser()->name(25).' a enregistré une nouvelle commande sur '.$sitename.' !','contenu'=>'Cliquez sur le lien ci-dessous pour procéder à la validation de cette commande.')));
$mail->setTextCharset('utf-8');
$mail->setHTMLCharset('utf-8');
$result = $mail->send(array($emailadmin));
}
*/
$em->flush();
echo 1;
exit;
}
}
}
echo 0;
exit;
}
public function downloadpanier(Panier $panier)
{
$em = $this->getDoctrine()->getManager();
if($panier->getPayer() == true)
{
$panier->setSousmis(true);
$em->flush();
$nameoffile = '/../../../'.$panier->getWebPath();
return $this->redirect($nameoffile);
}else{
if($panier->getUser() != null)
{
$this->get('session')->getFlashBag()->add('information','Echec ! La facture de cette commande n\'est pas encore disponible.');
return $this->redirect($this->generateUrl('users_user_user_accueil', array('id'=>$panier->getUser()->getId(),'position'=>4)));
}else{
$this->get('session')->getFlashBag()->add('information','Echec ! La facture de cette commande n\'est pas encore disponible.');
return $this->redirect($this->generateUrl('users_user_acces_plateforme'));
}
}
}
}