0337d704 |
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, '@')) { |
575dd9be |
15 | list($mbox,$dom) = explode('@', strtolower($add)); |
0337d704 |
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 | ?> |