X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=modules%2Fxnetlists.php;h=f442fea24c1da22aeefe66a57eb4ea12dd9b21ee;hb=a7d35093a40837b3a17d7fbac0259995f084812c;hp=1c7405a6ee429d8ba73fa3d8ca2200975bb55c46;hpb=b69b4654052feb3d1490f322e15788a114c70a8c;p=platal.git diff --git a/modules/xnetlists.php b/modules/xnetlists.php index 1c7405a..f442fea 100644 --- a/modules/xnetlists.php +++ b/modules/xnetlists.php @@ -1,6 +1,6 @@ trig(Post::v('del_alias')." supprimé !"); + $page->trigSuccess(Post::v('del_alias')." supprimé !"); } $listes = $this->client->get_lists(); @@ -128,14 +128,14 @@ class XnetListsModule extends ListsModule } if (!Post::has('liste')) { - $page->trig('champs «addresse souhaitée» vide'); + $page->trigError('champs «adresse souhaitée» vide'); return; } $liste = strtolower(Post::v('liste')); if (!preg_match("/^[a-zA-Z0-9\-]*$/", $liste)) { - $page->trig('le nom de la liste ne doit contenir que des lettres non accentuées, chiffres et tirets'); + $page->trigError('le nom de la liste ne doit contenir que des lettres non accentuées, chiffres et tirets'); return; } @@ -143,11 +143,11 @@ class XnetListsModule extends ListsModule $res = XDB::query('SELECT alias FROM x4dat.virtual WHERE alias={?}', $new); if ($res->numRows()) { - $page->trig('cet alias est déjà pris'); + $page->trigError('cet alias est déjà pris'); return; } if (!Post::v('desc')) { - $page->trig('le sujet est vide'); + $page->trigError('le sujet est vide'); return; } @@ -164,27 +164,17 @@ class XnetListsModule extends ListsModule ."support@m4x.org"); return; } - XDB::execute('INSERT INTO x4dat.virtual (alias,type) - VALUES({?},{?})', $liste.'@'.$dom, 'list'); - XDB::execute('INSERT INTO x4dat.virtual_redirect (vid,redirect) - VALUES ({?}, {?})', XDB::insertId(), - "$red+post@listes.polytechnique.org"); - XDB::execute('INSERT INTO x4dat.virtual (alias,type) - VALUES({?},{?})', $liste.'-owner@'.$dom, 'list'); - XDB::execute('INSERT INTO x4dat.virtual_redirect (vid,redirect) - VALUES ({?}, {?})', XDB::insertId(), - "$red+owner@listes.polytechnique.org"); - XDB::execute('INSERT INTO x4dat.virtual (alias,type) - VALUES({?},{?})', $liste.'-admin@'.$dom, 'list'); - XDB::execute('INSERT INTO x4dat.virtual_redirect (vid,redirect) - VALUES ({?}, {?})', XDB::insertId(), - "$red+admin@listes.polytechnique.org"); - XDB::execute('INSERT INTO x4dat.virtual (alias,type) - VALUES({?},{?})', $liste.'-bounces@'.$dom, 'list'); - XDB::execute('INSERT INTO x4dat.virtual_redirect (vid,redirect) - VALUES ({?}, {?})', XDB::insertId(), - "$red+bounces@listes.polytechnique.org"); - + foreach (array('', 'owner', 'admin', 'bounces', 'unsubscribe') as $app) { + $mdir = $app == '' ? '+post' : '+' . $app; + if (!empty($app)) { + $app = '-' . $app; + } + XDB::execute('INSERT INTO x4dat.virtual (alias,type) + VALUES({?},{?})', $liste. $app . '@'.$dom, 'list'); + XDB::execute('INSERT INTO x4dat.virtual_redirect (vid,redirect) + VALUES ({?}, {?})', XDB::insertId(), + $red . $mdir . '@listes.polytechnique.org'); + } pl_redirect('lists/admin/'.$liste); } @@ -264,9 +254,9 @@ class XnetListsModule extends ListsModule SELECT vid, {?} FROM x4dat.virtual WHERE alias={?}", "$alias@m4x.org", $lfull); - $page->trig("$alias@m4x.org ajouté"); + $page->trigSuccess("$alias@m4x.org ajouté"); } else { - $page->trig("$mbox@{$globals->mail->domain} n'existe pas."); + $page->trigError("$mbox@{$globals->mail->domain} n'existe pas."); } } else { XDB::query( @@ -274,7 +264,7 @@ class XnetListsModule extends ListsModule SELECT vid,{?} FROM x4dat.virtual WHERE alias={?}", "$mbox@$dom", $lfull); - $page->trig("$mbox@$dom ajouté"); + $page->trigSuccess("$mbox@$dom ajouté"); } } @@ -321,13 +311,13 @@ class XnetListsModule extends ListsModule } if (!Post::has('liste')) { - $page->trig('champs «addresse souhaitée» vide'); + $page->trigError('champs «adresse souhaitée» vide'); return; } $liste = Post::v('liste'); if (!preg_match("/^[a-zA-Z0-9\-\.]*$/", $liste)) { - $page->trig('le nom de l\'alias ne doit contenir que des lettres,' - .' chiffres, tirets et points'); + $page->trigError('le nom de l\'alias ne doit contenir que des lettres,' + .' chiffres, tirets et points'); return; } @@ -335,7 +325,7 @@ class XnetListsModule extends ListsModule $res = XDB::query('SELECT COUNT(*) FROM x4dat.virtual WHERE alias={?}', $new); $n = $res->fetchOneCell(); if ($n) { - $page->trig('cet alias est déjà pris'); + $page->trigError('cet alias est déjà pris'); return; }