80 lines
3.1 KiB
PHP
Executable File
80 lines
3.1 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>En tant que responsable du projet <b>'".$group->getLabel()."'</b>, je vous ai invité à rejoindre cette communauté de travail<br><br>";
|
||
$message.= "Merci de bien vouloir tout d’abord 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 fois 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()
|
||
]);
|
||
}
|
||
|
||
}
|