From: Florent Bruneau Date: Wed, 14 Jan 2009 22:01:36 +0000 (+0100) Subject: Cleanup in alias management. X-Git-Tag: xorg/1.0.0~332^2~417 X-Git-Url: http://git.polytechnique.org/?a=commitdiff_plain;h=fd4ab3c7c3fb6dc8f1647e205441c8ac0a2efd67;p=platal.git Cleanup in alias management. Signed-off-by: Florent Bruneau --- diff --git a/classes/user.php b/classes/user.php index 53c4f3c..54a3737 100644 --- a/classes/user.php +++ b/classes/user.php @@ -137,9 +137,7 @@ class User extends PlUser protected static function loadMainFieldsFromUIDs(array $uids, $sorted = null) { - foreach ($uids as $key=>$uid) { - $uids[$key] = XDB::format('{?}', $uid); - } + $uids = array_map(array('XDB', 'escape'), $uids); $joins = ''; $orderby = ''; if (!is_null($sorted)) { diff --git a/modules/xnetlists.php b/modules/xnetlists.php index 7e90d3a..5eee5f2 100644 --- a/modules/xnetlists.php +++ b/modules/xnetlists.php @@ -233,37 +233,21 @@ class XnetListsModule extends ListsModule if (Env::has('add_member')) { S::assert_xsrf_token(); - $add = Env::v('add_member'); - if (strstr($add, '@')) { - list($mbox,$dom) = explode('@', strtolower($add)); - } else { - $mbox = $add; - $dom = 'm4x.org'; + $add = Env::t('add_member'); + $user = User::getSilent($add); + if ($user) { + $add = $user->forlifeEmail(); + } else if (!User::isForeignEmailAddress($add)) { + $add = null; } - if ($dom == 'polytechnique.org' || $dom == 'm4x.org') { - $res = XDB::query( - "SELECT a.alias, b.alias - FROM x4dat.aliases AS a - LEFT JOIN x4dat.aliases AS b ON (a.id=b.id AND b.type = 'a_vie') - WHERE a.alias={?} AND a.type!='homonyme'", $mbox); - if (list($alias, $blias) = $res->fetchOneRow()) { - $alias = empty($blias) ? $alias : $blias; - XDB::query( - "INSERT INTO x4dat.virtual_redirect (vid,redirect) - SELECT vid, {?} - FROM x4dat.virtual - WHERE alias={?}", "$alias@m4x.org", $lfull); - $page->trigSuccess("$alias@m4x.org ajouté"); - } else { - $page->trigError("$mbox@{$globals->mail->domain} n'existe pas."); - } + if (!empty($add)) { + XDB::execute('INSERT INTO x4dat.virtual_redirect (vid, redirect) + SELECT vid, {?}, + FROM x4dat.virtual + WHERE alias = {?}', strtolower($add), $lfull); + $page->trigSuccess($add . ' ajouté.'); } else { - XDB::query( - "INSERT INTO x4dat.virtual_redirect (vid,redirect) - SELECT vid,{?} - FROM x4dat.virtual - WHERE alias={?}", "$mbox@$dom", $lfull); - $page->trigSuccess("$mbox@$dom ajouté"); + $page->trigError($add . ' n\'existe pas.'); } }