Overview
Comment: | Gestion d'une lettre d'infos |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
90c5975d8af57ab9cd4f5edc78431a0e |
User & Date: | bohwaz on 2012-05-21 13:17:55 |
Other Links: | manifest | tags |
Context
2012-05-21
| ||
13:39 | Mise à jour de la BDD automatique check-in: 83c7888c7a user: bohwaz tags: trunk | |
13:17 | Gestion d'une lettre d'infos check-in: 90c5975d8a user: bohwaz tags: trunk | |
03:59 | Correction chemins libs + normalisation numéro téléphone check-in: 9e651ce677 user: bohwaz tags: trunk | |
Changes
Modified DB_SCHEMA from [74631e1ef8] to [05cda21da9].
︙ | ︙ | |||
44 45 46 47 48 49 50 51 52 53 54 55 56 57 | ville TEXT, pays TEXT, telephone TEXT, date_naissance TEXT, -- Pour le bordel notes TEXT, date_inscription TEXT DEFAULT CURRENT_DATE, date_connexion TEXT, -- Dernière cotisation enregistrée date_cotisation TEXT, | > > | 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | ville TEXT, pays TEXT, telephone TEXT, date_naissance TEXT, -- Pour le bordel notes TEXT, lettre_infos INTEGER DEFAULT 0, date_inscription TEXT DEFAULT CURRENT_DATE, date_connexion TEXT, -- Dernière cotisation enregistrée date_cotisation TEXT, |
︙ | ︙ |
Modified include/class.membres.php from [2f7b12d913] to [eb2ffac5af].
︙ | ︙ | |||
204 205 206 207 208 209 210 211 212 213 214 215 216 217 | throw new UserException('Le mot de passe doit faire au moins 5 caractères.'); } if (!empty($data['telephone'])) { $data['telephone'] = preg_replace('![^\d\+]!', '', $data['telephone']); } return true; } public function add($data = array()) { $this->_checkFields($data); | > > > > > | 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 | throw new UserException('Le mot de passe doit faire au moins 5 caractères.'); } if (!empty($data['telephone'])) { $data['telephone'] = preg_replace('![^\d\+]!', '', $data['telephone']); } if (isset($data['lettre_infos'])) { $data['lettre_infos'] = (int) (bool) $data['lettre_infos']; } return true; } public function add($data = array()) { $this->_checkFields($data); |
︙ | ︙ | |||
450 451 452 453 454 455 456 | $db = Garradin_DB::getInstance(); $db->exec('UPDATE wiki_revisions SET id_auteur = 0 WHERE id_auteur IN ('.$membres.');'); //$db->exec('DELETE FROM wiki_suivi WHERE id_membre IN ('.$membres.');'); return $db->exec('DELETE FROM membres WHERE id IN ('.$membres.');'); } | | > > > > > > > | 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 | $db = Garradin_DB::getInstance(); $db->exec('UPDATE wiki_revisions SET id_auteur = 0 WHERE id_auteur IN ('.$membres.');'); //$db->exec('DELETE FROM wiki_suivi WHERE id_membre IN ('.$membres.');'); return $db->exec('DELETE FROM membres WHERE id IN ('.$membres.');'); } public function sendMessageToCategory($dest, $sujet, $message, $subscribed_only = false) { $config = Garradin_Config::getInstance(); $headers = array( 'From' => '"'.$config->get('nom_asso').'" <'.$config->get('email_asso').'>', ); $message .= "\n\n--\n".$config->get('nom_asso')."\n".$config->get('site_asso'); if ($dest == 0) $where = 'id_categorie NOT IN (SELECT id FROM membres_categories WHERE cacher = 1)'; else $where = 'id_categorie = '.(int)$dest; if ($subscribed_only) { $where .= ' AND lettre_infos = 1'; } $db = Garradin_DB::getInstance(); $res = $db->query('SELECT email FROM membres WHERE '.$where.' ORDER BY id;'); $sujet = '['.$config->get('nom_asso').'] '.$sujet; while ($row = $res->fetchArray(SQLITE3_ASSOC)) { utils::mail($row['email'], $sujet, $message, $headers); } return true; } } ?> |
Modified templates/admin/membres/ajouter.tpl from [0ec7e1dfb0] to [aaf37f23c6].
︙ | ︙ | |||
56 57 58 59 60 61 62 63 64 65 66 67 68 69 | <dd> <select name="id_categorie" id="f_cat"> {foreach from=$membres_cats key="id" item="nom"} <option value="{$id|escape}"{if $current_cat == $id} selected="selected"{/if}>{$nom|escape}</option> {/foreach} </select> </dd> </dl> </fieldset> {/if} <p class="submit"> {csrf_field key="new_member"} <input type="submit" name="save" value="Enregistrer →" /> | > > > > | 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | <dd> <select name="id_categorie" id="f_cat"> {foreach from=$membres_cats key="id" item="nom"} <option value="{$id|escape}"{if $current_cat == $id} selected="selected"{/if}>{$nom|escape}</option> {/foreach} </select> </dd> <dt> <input type="checkbox" id="f_lettre" name="lettre_infos" value="1" {form_field name="lettre_infos" checked="1"} /> <label for="f_lettre">Inscription à la lettre d'information</label> </dt> </dl> </fieldset> {/if} <p class="submit"> {csrf_field key="new_member"} <input type="submit" name="save" value="Enregistrer →" /> |
︙ | ︙ |
Modified templates/admin/membres/message_collectif.tpl from [a703ad3fc0] to [8d90ca6329].
︙ | ︙ | |||
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | <select name="dest"> <option value="0">Toutes les catégories qui ne sont pas cachées</option> {foreach from=$cats_liste key="id" item="nom"} <option value="{$id|escape}">{$nom|escape} {if array_key_exists($id, $cats_cachees)}[cachée]{/if}</option> {/foreach} </select> </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}" /></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">{form_field name=message}</textarea></dd> </dl> </fieldset> <p class="submit"> | > > > > > | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | <select name="dest"> <option value="0">Toutes les catégories qui ne sont pas cachées</option> {foreach from=$cats_liste key="id" item="nom"} <option value="{$id|escape}">{$nom|escape} {if array_key_exists($id, $cats_cachees)}[cachée]{/if}</option> {/foreach} </select> </dd> <dd> <input type="checkbox" id="f_subscribed" name="subscribed" value="1" {form_field name="subscribed" default="1" checked="1"} /> <label for="f_subscribed">Seulement les membres inscrits à la lettre d'information</label> </dd> <dt><label for="f_sujet">Sujet</label> <b title="(Champ obligatoire)">obligatoire</b></dt> <dd class="help">Sera automatiquement précédé de la mention [{$config.nom_asso|escape}]</dd> <dd><input type="text" name="sujet" id="f_sujet" value="{form_field name=sujet}" /></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">{form_field name=message}</textarea></dd> </dl> </fieldset> <p class="submit"> |
︙ | ︙ |
Modified templates/admin/membres/modifier.tpl from [0a0b07bdb8] to [4b897c0d4d].
︙ | ︙ | |||
65 66 67 68 69 70 71 72 73 74 75 76 77 78 | <dd> <select name="id_categorie" id="f_cat"> {foreach from=$membres_cats key="id" item="nom"} <option value="{$id|escape}"{if $current_cat == $id} selected="selected"{/if}>{$nom|escape}</option> {/foreach} </select> </dd> </dl> </fieldset> {/if} <p class="submit"> {csrf_field key="edit_member_"|cat:$membre.id} <input type="submit" name="save" value="Enregistrer →" /> | > > > > | 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | <dd> <select name="id_categorie" id="f_cat"> {foreach from=$membres_cats key="id" item="nom"} <option value="{$id|escape}"{if $current_cat == $id} selected="selected"{/if}>{$nom|escape}</option> {/foreach} </select> </dd> <dt> <input type="checkbox" id="f_lettre" name="lettre_infos" value="1" {form_field name="lettre_infos" data=$membre checked="1"} /> <label for="f_lettre">Inscription à la lettre d'information</label> </dt> </dl> </fieldset> {/if} <p class="submit"> {csrf_field key="edit_member_"|cat:$membre.id} <input type="submit" name="save" value="Enregistrer →" /> |
︙ | ︙ |
Modified www/admin/membres/ajouter.php from [76e0ebba8d] to [3e2006d16f].
︙ | ︙ | |||
45 46 47 48 49 50 51 52 53 54 55 56 57 58 | 'telephone' => utils::post('telephone'), 'code_postal' => utils::post('code_postal'), 'adresse' => utils::post('adresse'), 'ville' => utils::post('ville'), 'pays' => utils::post('pays'), 'date_naissance'=> utils::post('date_naissance'), 'notes' => '', )); utils::redirect('/admin/membres/fiche.php?id='.(int)$id); } catch (UserException $e) { $error = $e->getMessage(); | > | 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | 'telephone' => utils::post('telephone'), 'code_postal' => utils::post('code_postal'), 'adresse' => utils::post('adresse'), 'ville' => utils::post('ville'), 'pays' => utils::post('pays'), 'date_naissance'=> utils::post('date_naissance'), 'notes' => '', 'lettre_infos' => utils::post('lettre_infos'), )); utils::redirect('/admin/membres/fiche.php?id='.(int)$id); } catch (UserException $e) { $error = $e->getMessage(); |
︙ | ︙ |
Modified www/admin/membres/message_collectif.php from [458b51cd2c] to [e49d7fe2d5].
︙ | ︙ | |||
22 23 24 25 26 27 28 | elseif (!utils::post('message')) { $error = 'Le message ne peut rester vide.'; } else { try { | | | 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | elseif (!utils::post('message')) { $error = 'Le message ne peut rester vide.'; } else { try { $membres->sendMessageToCategory(utils::post('dest'), utils::post('sujet'), utils::post('message'), utils::post('subscribed')); utils::redirect('/admin/membres/?sent'); } catch (UserException $e) { $error = $e->getMessage(); } } |
︙ | ︙ |
Modified www/admin/membres/modifier.php from [e95de77973] to [6d740824ff].
︙ | ︙ | |||
56 57 58 59 60 61 62 63 64 65 66 67 68 69 | 'telephone' => utils::post('telephone'), 'code_postal' => utils::post('code_postal'), 'adresse' => utils::post('adresse'), 'ville' => utils::post('ville'), 'pays' => utils::post('pays'), 'date_naissance'=> utils::post('date_naissance'), 'notes' => utils::post('notes'), ); if ($user['droits']['membres'] == Garradin_Membres::DROIT_ADMIN) { $data['id_categorie'] = utils::post('id_categorie'); $data['id'] = utils::post('id'); } | > | 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | 'telephone' => utils::post('telephone'), 'code_postal' => utils::post('code_postal'), 'adresse' => utils::post('adresse'), 'ville' => utils::post('ville'), 'pays' => utils::post('pays'), 'date_naissance'=> utils::post('date_naissance'), 'notes' => utils::post('notes'), 'lettre_infos' => utils::post('lettre_infos'), ); if ($user['droits']['membres'] == Garradin_Membres::DROIT_ADMIN) { $data['id_categorie'] = utils::post('id_categorie'); $data['id'] = utils::post('id'); } |
︙ | ︙ |