42 $template = $this->
getTwig()->load(
'newsletter.html.twig');
43 echo $template->render(array(
45 'title' =>
"Newsletter",
46 'name' =>
"newsletter",
47 'description' =>
"Newsletter de Paaxio"
63 if ($_SERVER[
'REQUEST_METHOD'] !==
'POST') {
68 $email = trim(
$post[
'email'] ??
'');
74 $errors[] =
'L\'adresse e-mail est requise.';
75 } elseif (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
76 $errors[] =
'L\'adresse e-mail n\'est pas valide.';
84 if ($dao->existsByEmail($email)) {
86 $success =
'Merci ! Votre inscription à la newsletter a bien été prise en compte.';
91 $n->setDateInscription(
new DateTime());
92 if ($dao->create($n)) {
93 $success =
'Merci ! Votre inscription à la newsletter a bien été prise en compte.';
95 $errors[] =
'Une erreur est survenue lors de l\'inscription. Veuillez réessayer.';
98 }
catch (Exception $e) {
99 $errors[] =
'Erreur serveur : ' . $e->getMessage();
103 $template = $this->
getTwig()->load(
'newsletter.html.twig');
104 echo $template->render(array(
106 'title' =>
"Newsletter",
107 'name' =>
"newsletter",
108 'description' =>
"Newsletter de Paaxio"
110 'success' => $success,
113 'email' => $errors ? $email :
''
Contrôleur dédié à la gestion de la newsletter.
__construct(\Twig\Environment $twig, \Twig\Loader\FilesystemLoader $loader)
Constructeur du contrôleur newsletter.
ajouter()
Traite l'inscription à la newsletter.
afficher()
Affiche le formulaire d'inscription à la newsletter.
Classe de base pour tous les contrôleurs de l'application.
getPost()
Récupère les données POST.
redirectTo(string $controller, string $method, array $params=[])
Redirige vers un contrôleur et une méthode donnés.
Twig Loader FilesystemLoader $loader
getPDO()
Récupère la connexion PDO.
getTwig()
Récupère l'environnement Twig.