From a164285921fafa77c35a5c00ebb68eea28575591 Mon Sep 17 00:00:00 2001 From: Vincent Zanotti Date: Sun, 20 Jul 2008 18:22:12 +0200 Subject: [PATCH] Switches XnetGrp to new User model; fixes a double error display on user not found; fixes an error on duplicate member add. Signed-off-by: Vincent Zanotti --- modules/xnetgrp.php | 27 +++++++-------------------- 1 file changed, 7 insertions(+), 20 deletions(-) diff --git a/modules/xnetgrp.php b/modules/xnetgrp.php index 3166bd0..00bc86e 100644 --- a/modules/xnetgrp.php +++ b/modules/xnetgrp.php @@ -790,26 +790,13 @@ class XnetGrpModule extends PLModule S::assert_xsrf_token(); } - if (strpos($email, '@') === false) { - $x = true; - } else { - list(,$fqdn) = explode('@', $email, 2); - $fqdn = strtolower($fqdn); - $x = ($fqdn == 'polytechnique.org' || $fqdn == 'melix.org' || - $fqdn == 'm4x.org' || $fqdn == 'melix.net'); - } - if ($x) { - require_once 'user.func.inc.php'; - if ($forlife = get_user_forlife($email)) { - XDB::execute( - 'INSERT INTO groupex.membres (uid,asso_id,origine) - SELECT user_id,{?},"X" - FROM auth_user_md5 AS u - INNER JOIN aliases AS a ON (u.user_id = a.id) - WHERE a.alias={?}', $globals->asso('id'), $forlife); - pl_redirect("member/$forlife"); - } else { - $page->trigError($email." n'est pas un alias polytechnique.org valide."); + if (!User::isForeignEmailAddress($email)) { + $user = User::get($email); + if ($user) { + XDB::execute("REPLACE INTO groupex.membres (uid, asso_id, origine) + VALUES ({?}, {?}, 'X')", + $user->id(), $globals->asso('id')); + pl_redirect("member/" . $user->login()); } } else { if (isvalid_email($email)) { -- 2.1.4