ninegate/src/ninegate-1.0/src/Cadoles/CoreBundle/Controller/MailController.php

80 lines
3.0 KiB
PHP
Executable File

<?php
namespace Cadoles\CoreBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Form\FormError;
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
use Cadoles\CoreBundle\Entity\Mail;
use Cadoles\CoreBundle\Form\MailType;
class MailController extends Controller
{
public function invitationgroupAction($id,Request $request)
{
// Recherche du groupe
$em = $this->getDoctrine()->getManager();
$group = $em->getRepository("CadolesCoreBundle:Group")->find($id);
if (!$group) {
throw $this->createNotFoundException('Unable to find '.$this->labeldata);
}
// Création du formulaire
$form = $this->createForm(MailType::class);
// Récupération des data du formulaire
$form->handleRequest($request);
// Sujet
$subject = $this->get('session')->get('appname')." : Invitation au groupe de travail ".$group->getLabel();
// Sujet
$url = $this->generateUrl('cadoles_core_registration',[], UrlGeneratorInterface::ABSOLUTE_URL)."?group=".$group->getId();
$message = "Bonjour,<br><br>Vous êtes invité à participer au groupe de travail = <b>".$group->getLabel()."</b><br><br>";
$message.= "Pour cela vous devez vous inscrire sur <b>".$this->get('session')->get('appname')."</b> en suivant le lien suivant<br>";
$message.= "<a href='$url'>$url</a><br><br>";
$message.= "Une foi le processus d'inscription complété, vous serez automatiquement rattaché à notre groupe de travail<br><br>";
$message.= "Cordialement<br>";
$message.= $this->getUser()->getFirstname()." ".$this->getUser()->getLastname();
// To close ?
$closed = false;
// Sur validation
if ($form->get('submit')->isClicked() && $form->isValid()) {
$closed = true;
$destinataires=$form->get("destinataire")->getData();
$to=explode(";",$destinataires);
$text=$form->get("message")->getData();
$subject=$form->get("subject")->getData();
$template="template";
$mail_params=array(
"subject" => $subject,
"body_html"=>nl2br($text),
"body_text"=>$text
);
$from = $this->getUser()->getEmail();
$fromName = $this->getUser()->getFirstname()." ".$this->getUser()->getLastname();
$message = $this->container->get('cadoles.core.service.mail');
$message->sendEmail($template, $mail_params, $to, $from, $fromName);
}
return $this->render('CadolesCoreBundle:Mail:mail.html.twig',[
'useheader' => false,
'usemenu' => false,
'usesidebar' => false,
'closed' => $closed,
'subject' => $subject,
'message' => $message,
'form' => $form->createView()
]);
}
}