Commit a06ce255 authored by Okhin's avatar Okhin

WIP

parent 6ebd0893
<?php <?php
class MessageHelper class MessageHelper extends \Prefab
{ {
/** /**
* Cette classe sert à afficher le code HTML stocké dans un tableau passé en argument * Cette classe sert à afficher le code HTML stocké dans un tableau passé en argument
* et avec une classe éventuelle ajoutée en CSS * et avec une classe éventuelle ajoutée en CSS
*/ */
static public function render($args) public static function render($args)
{ {
$attr = $args['@attrib']; $attr = $args['@attrib'];
$cssClass = isset($attr['class']) ? $attr['class'] : 'message'; $html = '<!-- Messages -->';
$class = isset($attr['class']) ? $attr['class'] : "";
$html = "<!-- Messages -->"; $messages = \Template::instance()->token($attr['messages']);
// while ($message = $attr['messages'].pop()) { var_dump($messages);
// $html .= "<div class=\"$cssClass\">$message</div>"; $html .= '<?php echo \Template::instance()->build('.$messages.', "'.$class.'"); ?>';
// }
return sprintf($html); return sprintf($html);
} }
public function build($messages, $class)
{
}
} }
...@@ -120,12 +120,12 @@ class Perso extends Controller ...@@ -120,12 +120,12 @@ class Perso extends Controller
$f3->clear('form_visible'); $f3->clear('form_visible');
$f3->set('block_content', 'user/perso.html'); $f3->set('block_content', 'user/perso.html');
} else { } else {
$f3->set('SESSION.error', _("Mauvais identifiant ou mot de passe.")); $f3->push('SESSION.error', _("Mauvais identifiant ou mot de passe."));
Campaign::show($f3, $args); Campaign::show($f3, $args);
return; return;
} }
} else { } else {
$f3->set('SESSION.error', _("Merci de renseigner une adresse mail.")); $f3->push('SESSION.error', _("Merci de renseigner une adresse mail."));
Campaign::show($f3, $args); Campaign::show($f3, $args);
return; return;
} }
...@@ -191,17 +191,17 @@ class Perso extends Controller ...@@ -191,17 +191,17 @@ class Perso extends Controller
$text = str_replace("%%".$k."%%", $v, $text); $text = str_replace("%%".$k."%%", $v, $text);
} }
if ($mailer->send($text)) { if ($mailer->send($text)) {
$f3->set('SESSION.message', _("Nouveau mot de passe envoyé par mail.")); $f3->push('SESSION.message', _("Nouveau mot de passe envoyé par mail."));
} else { } else {
$logger = new \Log('mail.log'); $logger = new \Log('mail.log');
$f3->set('SESSION.error', _('Oops')); $f3->push('SESSION.error', _("Oops."));
$logger->write($mailer->log()); $logger->write($mailer->log());
} }
} else { } else {
$f3->set('SESSION.error', _("Vous n'avez pas encore de compte, merci de faire un don pour cela.")); $f3->push('SESSION.error', _("Vous n'avez pas encore de compte, merci de faire un don pour cela."));
} }
} else { } else {
$f3->set('SESSION.error', _("Merci de renseigner une adresse mail.")); $f3->push('SESSION.error', _("Merci de renseigner une adresse mail."));
} }
} }
...@@ -222,15 +222,14 @@ class Perso extends Controller ...@@ -222,15 +222,14 @@ class Perso extends Controller
$total = $res->fetch(\PDO::FETCH_ASSOC); $total = $res->fetch(\PDO::FETCH_ASSOC);
$total = (int) $total['somme']; $total = (int) $total['somme'];
// Création de l'utilisateur // Création de l'utilisateur
$f3->clear('SESSION.error'); $f3->push('SESSION.message', _("Votre compte a bien été créé, merci."));
$f3->set('SESSION.msg', _("Votre compte a bien été créé, merci."));
$f3->get('container')['command_handler']->handle(new UserCreateCommand($f3->get('email'), $hash, '', $total, $total)); $f3->get('container')['command_handler']->handle(new UserCreateCommand($f3->get('email'), $hash, '', $total, $total));
$f3->reroute('/perso'); $f3->reroute('/perso');
} else { } else {
$f3->set('SESSION.error', _("Vous avez déjà un compte associé à cette adresse mail, merci de demander un nouveau mot de passe.")); $f3->push('SESSION.error', _("Vous avez déjà un compte associé à cette adresse mail, merci de demander un nouveau mot de passe."));
} }
} else { } else {
$f3->set('SESSION.error', _("Merci de renseigner une adresse mail.")); $f3->push('SESSION.error', _("Merci de renseigner une adresse mail."));
} }
} }
...@@ -284,7 +283,7 @@ class Perso extends Controller ...@@ -284,7 +283,7 @@ class Perso extends Controller
$f3->set("error", _("Cette adresse existe déjà.")); $f3->set("error", _("Cette adresse existe déjà."));
$f3->error('403'); $f3->error('403');
} }
$f3->set('SESSION.message', _("Adresse ajoutée à votre profil")); $f3->push('SESSION.message', _("Adresse ajoutée à votre profil"));
break; break;
case 'DELETE': case 'DELETE':
try { try {
...@@ -298,7 +297,7 @@ class Perso extends Controller ...@@ -298,7 +297,7 @@ class Perso extends Controller
$f3->set("error", _("Cette adresse est utilisée pour une de vos contreparties")); $f3->set("error", _("Cette adresse est utilisée pour une de vos contreparties"));
$f3->error('403'); $f3->error('403');
}; };
$f3->set('SESSION.message', _("Adresse supprimée de votre profil")); $f3->push('SESSION.message', _("Adresse supprimée de votre profil"));
break; break;
} }
$f3->reroute('/perso'); $f3->reroute('/perso');
...@@ -353,9 +352,9 @@ class Perso extends Controller ...@@ -353,9 +352,9 @@ class Perso extends Controller
} }
// Puis diminution du cumul de la valeur des contreparties // Puis diminution du cumul de la valeur des contreparties
$f3->get('container')['command_handler']->handle(new UserUpdateCumulCommand($user['id'], $user['cumul'] - $valeur)); $f3->get('container')['command_handler']->handle(new UserUpdateCumulCommand($user['id'], $user['cumul'] - $valeur));
$f3->set('SESSION.message', _("Merci, vos contreparties seront envoyées dès que possible !".$valeur)); $f3->push('SESSION.message', _("Merci, vos contreparties seront envoyées dès que possible !".$valeur));
} else { } else {
$f3->set('SESSION.error', _("Désolé, mais vous n'avez pas cumulé suffisament de dons pour avoir un ").$quoi); $f3->push('SESSION.error', _("Désolé, mais vous n'avez pas cumulé suffisament de dons pour avoir un ").$quoi);
$f3->clear('SESSION.message'); $f3->clear('SESSION.message');
} }
$f3->reroute('/perso'); $f3->reroute('/perso');
...@@ -507,7 +506,7 @@ class Perso extends Controller ...@@ -507,7 +506,7 @@ class Perso extends Controller
user_id = '".$user_id."', user_id = '".$user_id."',
identifier = '".$identifier."', identifier = '".$identifier."',
cumul = 0;"); cumul = 0;");
$f3->set('SESSION.message', _("Don récurrent supprimé.")); $f3->push('SESSION.message', _("Don récurrent supprimé."));
$f3->reroute('/perso'); $f3->reroute('/perso');
} }
......
...@@ -8,12 +8,7 @@ ...@@ -8,12 +8,7 @@
<input type="hidden" name="csrf" id="csrf" value="{{ @CSRF }}" /> <input type="hidden" name="csrf" id="csrf" value="{{ @CSRF }}" />
<fieldset class="form-group modal-form-only"> <fieldset class="form-group modal-form-only">
<h3>{{ _("Le site de dons a changé. À présent, utilisez votre adresse e-mail comme identifiant.") }} </h3> <h3>{{ _("Le site de dons a changé. À présent, utilisez votre adresse e-mail comme identifiant.") }} </h3>
<check if="{{ @@SESSION.message }}"> <message messages="{{ @SESSION.error }}" class="modal-row alert alert-danger" />
<p class="modal-row alert alert-info">{{ @SESSION.message }}</p>
</check>
<check if="{{ @@SESSION.error }}">
<p class="modal-row alert alert-danger">{{ @SESSION.error }}</p>
</check>
<div class="modal-row form-group"> <div class="modal-row form-group">
<label for="email">{{ _("Adresse mail") }}</label> <label for="email">{{ _("Adresse mail") }}</label>
<input class="form-control" type="email" name="email" id="email" required> <input class="form-control" type="email" name="email" id="email" required>
...@@ -156,11 +151,5 @@ ...@@ -156,11 +151,5 @@
</nav> </nav>
</div> </div>
<section id="messages"> <section id="messages">
<check if="{{ @@SESSION.message }}">
<p class="alert alert-info">{{ @SESSION.message }}</p>
</check>
<check if="{{ @@SESSION.error }}">
<p class="alert alert-danger">{{ @SESSION.error }}</p>
</check>
</section> </section>
...@@ -20,6 +20,18 @@ if (!$session->has('csrf')) { ...@@ -20,6 +20,18 @@ if (!$session->has('csrf')) {
} }
$f3->CSRF = $session->get('csrf'); $f3->CSRF = $session->get('csrf');
// Initialisation éventuelle des messages
if (!$session->has('message')) {
$session->set('message', []);
}
if (!$session->has('error')) {
$session->set('error', []);
}
// Let's register the message tag
\Template::instance()->extend('message', 'MessageHelper::render');
// Debug // Debug
$f3->set('DEBUG', DEBUG); $f3->set('DEBUG', DEBUG);
$f3->set('ONERROR', function ($f3) { $f3->set('ONERROR', function ($f3) {
...@@ -36,7 +48,7 @@ $f3->set('ONERROR', function ($f3) { ...@@ -36,7 +48,7 @@ $f3->set('ONERROR', function ($f3) {
ob_end_clean(); ob_end_clean();
} }
$f3->set('block_content', 'campaign/errors.html'); $f3->set('block_content', 'campaign/errors.html');
echo Template::instance()->render('base.html'); echo \Template::instance()->render('base.html');
}); });
// Are we being invoked from CLI ? // Are we being invoked from CLI ?
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment