Commit a06ce255 authored by okhin's avatar okhin 🚴

WIP

parent 6ebd0893
<?php
class MessageHelper
class MessageHelper extends \Prefab
{
/**
* Cette classe sert à afficher le code HTML stocké dans un tableau passé en argument
* et avec une classe éventuelle ajoutée en CSS
*/
static public function render($args)
public static function render($args)
{
$attr = $args['@attrib'];
$cssClass = isset($attr['class']) ? $attr['class'] : 'message';
$html = "<!-- Messages -->";
// while ($message = $attr['messages'].pop()) {
// $html .= "<div class=\"$cssClass\">$message</div>";
// }
$html = '<!-- Messages -->';
$class = isset($attr['class']) ? $attr['class'] : "";
$messages = \Template::instance()->token($attr['messages']);
var_dump($messages);
$html .= '<?php echo \Template::instance()->build('.$messages.', "'.$class.'"); ?>';
return sprintf($html);
}
public function build($messages, $class)
{
}
}
......@@ -120,12 +120,12 @@ class Perso extends Controller
$f3->clear('form_visible');
$f3->set('block_content', 'user/perso.html');
} 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);
return;
}
} 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);
return;
}
......@@ -191,17 +191,17 @@ class Perso extends Controller
$text = str_replace("%%".$k."%%", $v, $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 {
$logger = new \Log('mail.log');
$f3->set('SESSION.error', _('Oops'));
$f3->push('SESSION.error', _("Oops."));
$logger->write($mailer->log());
}
} 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 {
$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
$total = $res->fetch(\PDO::FETCH_ASSOC);
$total = (int) $total['somme'];
// Création de l'utilisateur
$f3->clear('SESSION.error');
$f3->set('SESSION.msg', _("Votre compte a bien été créé, merci."));
$f3->push('SESSION.message', _("Votre compte a bien été créé, merci."));
$f3->get('container')['command_handler']->handle(new UserCreateCommand($f3->get('email'), $hash, '', $total, $total));
$f3->reroute('/perso');
} 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 {
$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
$f3->set("error", _("Cette adresse existe déjà."));
$f3->error('403');
}
$f3->set('SESSION.message', _("Adresse ajoutée à votre profil"));
$f3->push('SESSION.message', _("Adresse ajoutée à votre profil"));
break;
case 'DELETE':
try {
......@@ -298,7 +297,7 @@ class Perso extends Controller
$f3->set("error", _("Cette adresse est utilisée pour une de vos contreparties"));
$f3->error('403');
};
$f3->set('SESSION.message', _("Adresse supprimée de votre profil"));
$f3->push('SESSION.message', _("Adresse supprimée de votre profil"));
break;
}
$f3->reroute('/perso');
......@@ -353,9 +352,9 @@ class Perso extends Controller
}
// Puis diminution du cumul de la valeur des contreparties
$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 {
$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->reroute('/perso');
......@@ -507,7 +506,7 @@ class Perso extends Controller
user_id = '".$user_id."',
identifier = '".$identifier."',
cumul = 0;");
$f3->set('SESSION.message', _("Don récurrent supprimé."));
$f3->push('SESSION.message', _("Don récurrent supprimé."));
$f3->reroute('/perso');
}
......
......@@ -8,12 +8,7 @@
<input type="hidden" name="csrf" id="csrf" value="{{ @CSRF }}" />
<fieldset class="form-group modal-form-only">
<h3>{{ _("Le site de dons a changé. À présent, utilisez votre adresse e-mail comme identifiant.") }} </h3>
<check if="{{ @@SESSION.message }}">
<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>
<message messages="{{ @SESSION.error }}" class="modal-row alert alert-danger" />
<div class="modal-row form-group">
<label for="email">{{ _("Adresse mail") }}</label>
<input class="form-control" type="email" name="email" id="email" required>
......@@ -156,11 +151,5 @@
</nav>
</div>
<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>
......@@ -20,6 +20,18 @@ if (!$session->has('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
$f3->set('DEBUG', DEBUG);
$f3->set('ONERROR', function ($f3) {
......@@ -36,7 +48,7 @@ $f3->set('ONERROR', function ($f3) {
ob_end_clean();
}
$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 ?
......
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