Overview
Comment: | Envoi de message collectif |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | dev |
Files: | files | file ages | folders |
SHA1: |
e77b5d23b2748760f2cacbe0eb7bedee |
User & Date: | bohwaz on 2018-10-08 13:01:30 |
Other Links: | branch diff | manifest | tags |
Context
2018-10-09
| ||
16:46 | Création d'une recherche par défaut à l'installation check-in: 96bf857cc1 user: bohwaz tags: dev | |
2018-10-08
| ||
13:01 | Envoi de message collectif check-in: e77b5d23b2 user: bohwaz tags: dev | |
2018-10-05
| ||
17:26 | Décommenter envoi de mail (faute de commit) check-in: e3fc01b49c user: bohwaz tags: dev | |
Changes
Added src/templates/admin/membres/message_collectif.tpl version [873e17c7a4].
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | {include file="admin/_head.tpl" title="Envoyer un message collectif" current="membres/message"} {form_errors} <form method="post" action="{$self_url}"> <fieldset class="memberMessage"> <legend>Message</legend> <dl> <dt>Expéditeur</dt> <dd>{$config.nom_asso} <{$config.email_asso}></dd> <dt>Destinataires</dt> <dd> <select name="recipients"> <optgroup label="Catégorie de membres"> {foreach from=$categories key="id" item="nom"} <option value="categorie_{$id}" {form_field name="recipients" selected="categorie_%d"|args:$id}>{$nom}</option> {/foreach} </optgroup> <optgroup label="Recherche de membres"> {foreach from=$recherches item="r"} <option value="recherche_{$r.id}" {form_field name="recipients" selected="recherche_%d"|args:$r.qid}>{$r.intitule}</option> {/foreach} </optgroup> </select> </dd> {* FIXME : pas encore possible, en attente de refonte gestion cotisations <dd> <label><input type="checkbox" name="paid_members_only" value="1" {form_field name="paid_members_only" checked=1 default=1} /> Seulement les membres à jour de cotisation </label> </dd> *} <dt><label for="f_sujet">Sujet</label> <b title="(Champ obligatoire)">obligatoire</b></dt> <dd><input type="text" name="sujet" id="f_sujet" value="{form_field name=sujet}" required="required" /></dd> <dt><label for="f_message">Message</label> <b title="(Champ obligatoire)">obligatoire</b></dt> <dd><textarea name="message" id="f_message" cols="72" rows="25" required="required">{form_field name=message}</textarea></dd> <dd> <input type="checkbox" name="copie" id="f_copie" value="1" /> <label for="f_copie">Recevoir par e-mail une copie du message envoyé</label> </dd> </dl> </fieldset> <p class="submit"> {csrf_field key="send_message_co"} <input type="submit" name="send" value="Envoyer →" /> </p> </form> {include file="admin/_foot.tpl"} |
Added src/www/admin/membres/message_collectif.php version [528d973d74].
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | <?php namespace Garradin; require_once __DIR__ . '/_inc.php'; $cats = new Membres\Categories; $recherche = new Recherche; if (f('send')) { $form->check('send_message_co', [ 'sujet' => 'required|string', 'message' => 'required|string', 'recipients' => 'required|string', ]); if (preg_match('/^(categorie|recherche)_(\d+)$/', f('recipients'), $match)) { if ($match[1] == 'categorie') { $recipients = $membres->listAllByCategory($match[2]); } else { $recipients = $recherche->search($match[2], 'id, email'); } if (!count($recipients) || !isset($recipients[0]->email)) { $form->addError('Aucun membre dans la liste.'); } } else { throw new UserException('Destinataires invalides : ' . f('recipients')); } if (!$form->hasErrors()) { try { $membres->sendMessage($recipients, f('sujet'), f('message'), (bool) f('copie')); Utils::redirect(ADMIN_URL . 'membres/?sent'); } catch (UserException $e) { $form->addError($e->getMessage()); } } } $tpl->assign('categories', $cats->listNotHidden()); $tpl->assign('recherches', $recherche->getList($user->id, 'membres')); $tpl->display('admin/membres/message_collectif.tpl'); |