2ef9b372bf4017a9ed7d84edcc0315f09cf47e28
[platal.git] / htdocs.net / groupe / alias-admin.php
1 <?php
2 require 'xnet.inc.php';
3
4 new_groupadmin_page('xnet/groupe/alias-admin.tpl');
5
6 if (!Get::has('liste')) {
7 header("Location: listes.php");
8 }
9
10 $lfull = strtolower(Get::get('liste'));
11
12 if (Env::has('add_member')) {
13 $add = Env::get('add_member');
14 if(strstr($add, '@')) {
15 list($mbox,$dom) = split('@', strtolower($add));
16 } else {
17 $mbox = $add;
18 $dom = 'm4x.org';
19 }
20 if($dom == 'polytechnique.org' || $dom == 'm4x.org') {
21 $res = $globals->xdb->query(
22 "SELECT a.alias, b.alias
23 FROM x4dat.aliases AS a
24 LEFT JOIN x4dat.aliases AS b ON (a.id=b.id AND b.type = 'a_vie')
25 WHERE a.alias={?} AND a.type!='homonyme'", $mbox);
26 if (list($alias, $blias) = $res->fetchOneRow()) {
27 $alias = empty($blias) ? $alias : $blias;
28 $globals->xdb->query(
29 "INSERT INTO x4dat.virtual_redirect (vid,redirect)
30 SELECT vid, {?}
31 FROM x4dat.virtual
32 WHERE alias={?}", "$alias@m4x.org", $lfull);
33 $page->trig("$alias@m4x.org ajouté");
34 } else {
35 $page->trig("$mbox@polytechnique.org n'existe pas.");
36 }
37 } else {
38 $globals->xdb->query(
39 "INSERT INTO x4dat.virtual_redirect (vid,redirect)
40 SELECT vid,{?}
41 FROM x4dat.virtual
42 WHERE alias={?}", "$mbox@$dom", $lfull);
43 $page->trig("$mbox@$dom ajouté");
44 }
45 }
46
47 if (Env::has('del_member')) {
48 $globals->xdb->query(
49 "DELETE FROM x4dat.virtual_redirect
50 USING x4dat.virtual_redirect
51 INNER JOIN x4dat.virtual USING(vid)
52 WHERE redirect={?} AND alias={?}", Env::get('del_member'), $lfull);
53 header("Location: ?liste=$lfull");
54 }
55
56 $res = $globals->xdb->iterator(
57 "SELECT redirect
58 FROM x4dat.virtual_redirect AS vr
59 INNER JOIN x4dat.virtual AS v USING(vid)
60 WHERE v.alias={?}
61 ORDER BY redirect", $lfull);
62 $page->assign('mem', $res);
63
64 $page->run();
65 ?>