function handlers()
{
return array(
- '%grp/lists' => $this->make_hook('lists', AUTH_MDP),
- '%grp/lists/create' => $this->make_hook('create', AUTH_MDP),
+ '%grp/lists' => $this->make_hook('lists', AUTH_MDP, 'groupmember'),
+ '%grp/lists/create' => $this->make_hook('create', AUTH_MDP, 'groupmember'),
'%grp/lists/members' => $this->make_hook('members', AUTH_COOKIE),
- '%grp/lists/trombi' => $this->make_hook('trombi', AUTH_COOKIE),
+ '%grp/lists/annu' => $this->make_hook('annu', AUTH_COOKIE),
'%grp/lists/archives' => $this->make_hook('archives', AUTH_COOKIE),
+ '%grp/lists/archives/rss' => $this->make_hook('rss', AUTH_PUBLIC),
'%grp/lists/moderate' => $this->make_hook('moderate', AUTH_MDP),
'%grp/lists/admin' => $this->make_hook('admin', AUTH_MDP),
return PL_NOT_FOUND;
}
$this->prepare_client($page);
-
- new_group_page('xnetlists/index.tpl');
+ $page->changeTpl('xnetlists/index.tpl');
if (Get::has('del')) {
$this->client->unsubscribe(Get::v('del'));
// prevent group admin from erasing aliases from other groups
$alias = substr($alias, 0, strpos($alias, '@')).'@'.$globals->asso('mail_domain');
XDB::query(
- 'DELETE FROM x4dat.virtual_redirect, x4dat.virtual
+ 'DELETE FROM r, v
USING x4dat.virtual AS v
- LEFT JOIN x4dat.virtual_redirect USING(vid)
+ LEFT JOIN x4dat.virtual_redirect AS r USING(vid)
WHERE v.alias={?}', $alias);
$page->trig(Post::v('del_alias')." supprimé !");
}
return PL_NOT_FOUND;
}
$this->prepare_client($page);
-
$page->changeTpl('xnetlists/create.tpl');
if (!Post::has('submit')) {
}
$new = $liste.'@'.$globals->asso('mail_domain');
- $res = XDB::query('SELECT COUNT(*) FROM x4dat.virtual WHERE alias={?}', $new);
- $n = $res->fetchOneCell();
+ $res = XDB::query('SELECT alias FROM x4dat.virtual WHERE alias={?}', $new);
- if ($n) {
+ if ($res->numRows()) {
$page->trig('cet alias est déjà pris');
return;
}
}
$ret = $this->client->create_list(
- $liste, Post::v('desc'), Post::v('advertise'),
+ $liste, utf8_decode(Post::v('desc')), Post::v('advertise'),
Post::v('modlevel'), Post::v('inslevel'),
- array(S::v('forlife')), array());
+ array(S::v('forlife')), array(S::v('forlife')));
$dom = strtolower($globals->asso("mail_domain"));
$red = $dom.'_'.$liste;
return PL_NOT_FOUND;
}
$this->prepare_client($page);
-
$page->changeTpl('xnetlists/sync.tpl');
if (Env::has('add')) {
"SELECT if (m.origine='X',if (u.nom_usage<>'', u.nom_usage, u.nom) ,m.nom) AS nom,
if (m.origine='X',u.prenom,m.prenom) AS prenom,
if (m.origine='X',u.promo,'extérieur') AS promo,
- if (m.origine='X',CONCAT(a.alias, '@polytechnique.org'),m.email) AS email,
+ if (m.origine='X',CONCAT(a.alias, '@{$globals->mail->domain}'),m.email) AS email,
if (m.origine='X',FIND_IN_SET('femme', u.flags),0) AS femme,
m.perms='admin' AS admin,
m.origine='X' AS x
if (!$globals->asso('mail_domain') || is_null($lfull)) {
return PL_NOT_FOUND;
}
-
- new_groupadmin_page('xnetlists/alias-admin.tpl');
+ $page->changeTpl('xnetlists/alias-admin.tpl');
if (Env::has('add_member')) {
$add = Env::v('add_member');
WHERE alias={?}", "$alias@m4x.org", $lfull);
$page->trig("$alias@m4x.org ajouté");
} else {
- $page->trig("$mbox@polytechnique.org n'existe pas.");
+ $page->trig("$mbox@{$globals->mail->domain} n'existe pas.");
}
} else {
XDB::query(
if (!$globals->asso('mail_domain')) {
return PL_NOT_FOUND;
}
- new_groupadmin_page('xnetlists/alias-create.tpl');
+ $page->changeTpl('xnetlists/alias-create.tpl');
if (!Post::has('submit')) {
return;