| 1 | <?php |
| 2 | require 'xnet.inc.php'; |
| 3 | |
| 4 | new_groupadmin_page('xnet/groupe/alias-admin.tpl'); |
| 5 | |
| 6 | if (!Get::has('liste')) { |
| 7 | redirect("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) = explode('@', 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 | redirect("?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 | ?> |