From: x2000habouzit Date: Sat, 27 Nov 2004 20:45:31 +0000 (+0000) Subject: closes #186 X-Git-Tag: xorg/old~762 X-Git-Url: http://git.polytechnique.org/?a=commitdiff_plain;h=f3a99bcb4704de1056a9db14464d576960a1e8d3;p=platal.git closes #186 --- diff --git a/ChangeLog b/ChangeLog index 725a3a9..b8cc140 100644 --- a/ChangeLog +++ b/ChangeLog @@ -28,16 +28,19 @@ New : Bug/Wish : + * Admin : + - #186 : Users are reachable by melix, redirects, aliases... -MC + * Bestalias : - #206 : Use only the bestalias and the forlife in vcard and fiche. -MC - #207 : Enable for the user the choice of his prefered alias. -MC * Core : - #183,185 : Implement perms levels : 'pending'+'disabled'. -MC - + * Fiche : - #83,208,222 : New fiche. -MC - + * Lists : - #184 : Owners can now delete their lists. -MC - #231 : Add a link to the user's fiche on moderation page. -MC diff --git a/htdocs/admin/utilisateurs.php b/htdocs/admin/utilisateurs.php index 72c2a04..439f95c 100644 --- a/htdocs/admin/utilisateurs.php +++ b/htdocs/admin/utilisateurs.php @@ -18,7 +18,7 @@ * Foundation, Inc., * * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * *************************************************************************** - $Id: utilisateurs.php,v 1.33 2004-11-22 20:04:36 x2000habouzit Exp $ + $Id: utilisateurs.php,v 1.34 2004-11-27 20:45:31 x2000habouzit Exp $ ***************************************************************************/ require_once("xorg.inc.php"); @@ -55,8 +55,45 @@ if(isset($_REQUEST['suid_button']) and isset($_REQUEST['login']) and !isset($_SE * LE RESTE */ +$errors = Array(); + if (!empty($_REQUEST['login'])) { - $login = $_REQUEST['login']; + $needle = strtolower($_REQUEST['login']); + + if (strstr($needle, '@')!==false) { + list($mbox, $fqdn) = split('@', $needle); + if ($fqdn=='polytechnique.org' || $fqdn=='m4x.org') { + $login = $mbox; + } elseif ($fqdn =='melix.net' || $fqdn=='melix.org') { + $res = $globals->db->query("SELECT redirect + FROM virtual_redirect + INNER JOIN virtual USING(vid) + WHERE alias='$mbox@melix.net'"); + list($redir) = mysql_fetch_row($res); + list($login) = split('@', $redir); + mysql_free_result($res); + } else { + $res = $globals->db->query("SELECT alias + FROM aliases AS a + INNER JOIN emails AS e ON e.uid=a.id + WHERE e.email='$needle' AND a.type='a_vie'"); + if (($i=mysql_num_rows($res))!=1) { + if ($i) { + $aliases = Array(); + while (list($a) = mysql_fetch_row($res)) $aliases[] = $a; + $errors[] = "Il y a $i utilisateurs avec cette adresse mail : ".join(', ', $aliases) ; + } else { + $errors[] = "il n'y a pas d'utilisateur avec cette adresse mail"; + } + } else { + list($login) = mysql_fetch_row($res); + } + mysql_free_result($res); + } + } else { + $login = $needle; + } + $r=$globals->db->query("SELECT * FROM auth_user_md5 AS u INNER JOIN aliases AS a ON ( a.id = u.user_id AND a.alias='$login' AND type!='homonyme' )"); @@ -75,8 +112,6 @@ if (!empty($_REQUEST['user_id'])) { if(isset($mr)) { $redirect = new Redirect($mr['user_id']); - $errors = Array(); - if(isset($_REQUEST['password'])) $pass_clair = $_REQUEST['password']; // Check if there was a submission @@ -203,8 +238,8 @@ if(isset($mr)) { $page->assign_by_ref('xorgmails', $xorgmails); $page->assign_by_ref('email_panne', $email_panne); $page->assign('emails',$redirect->emails); - $page->assign('errors',$errors); } +$page->assign('errors',$errors); $page->run(); ?> diff --git a/templates/admin/utilisateurs.tpl b/templates/admin/utilisateurs.tpl index 9549ea3..8b5b836 100644 --- a/templates/admin/utilisateurs.tpl +++ b/templates/admin/utilisateurs.tpl @@ -17,7 +17,7 @@ * Foundation, Inc., * * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * *************************************************************************** - $Id: utilisateurs.tpl,v 1.24 2004-11-22 17:28:15 x2000habouzit Exp $ + $Id: utilisateurs.tpl,v 1.25 2004-11-27 20:45:31 x2000habouzit Exp $ ***************************************************************************} @@ -54,6 +54,13 @@ Attention, d Administrer + {if !$smarty.request.login && !$mr.forlife} + + + Il est possible d'entrer ici n'importe quelle adresse mail : redirection, melix, ou alias. + + + {/if}