<?php
/***************************************************************************
- * Copyright (C) 2003-2007 Polytechnique.org *
+ * Copyright (C) 2003-2008 Polytechnique.org *
* http://opensource.polytechnique.org/ *
* *
* This program is free software; you can redistribute it and/or modify *
USING x4dat.virtual AS v
LEFT JOIN x4dat.virtual_redirect AS r USING(vid)
WHERE v.alias={?}', $alias);
- $page->trig(Post::v('del_alias')." supprimé !");
+ $page->trigSuccess(Post::v('del_alias')." supprimé !");
}
$listes = $this->client->get_lists();
}
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;
}
$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;
}
."<a href='mailto:support@m4x.org'>support@m4x.org</a>");
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);
}
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(
SELECT vid,{?}
FROM x4dat.virtual
WHERE alias={?}", "$mbox@$dom", $lfull);
- $page->trig("$mbox@$dom ajouté");
+ $page->trigSuccess("$mbox@$dom ajouté");
}
}
}
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;
}
$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;
}