From: x2000habouzit Date: Wed, 17 Nov 2004 10:49:50 +0000 (+0000) Subject: add bestalias handling X-Git-Tag: xorg/old~921 X-Git-Url: http://git.polytechnique.org/?a=commitdiff_plain;h=d918214b8b4e365a72bae5dfe3b44dfc12c7d011;p=platal.git add bestalias handling --- diff --git a/htdocs/admin/utilisateurs.php b/htdocs/admin/utilisateurs.php index c90c9a5..ae5e569 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.29 2004-11-17 10:12:44 x2000habouzit Exp $ + $Id: utilisateurs.php,v 1.30 2004-11-17 10:49:50 x2000habouzit Exp $ ***************************************************************************/ require("auto.prepend.inc.php"); @@ -101,6 +101,7 @@ if(isset($mr)) { if(empty($val)) break; $globals->db->query("DELETE FROM aliases WHERE id='{$_REQUEST['user_id']}' AND alias='$val' AND type!='a_vie' AND type!='homonyme'"); + fix_bestalias($_REQUEST['user_id']); $errors[] = $val." a été supprimé"; break; @@ -109,6 +110,15 @@ if(isset($mr)) { VALUES ('{$_REQUEST['user_id']}','{$_REQUEST['email']}','alias')"); break; + case "best": + $globals->db->query("UPDATE aliases SET flags='' WHERE flags='bestalias' AND id='{$_REQUEST['user_id']}'"); + $globals->db->query("UPDATE aliases SET flags='epouse' WHERE flags='epouse,bestalias' AND id='{$_REQUEST['user_id']}'"); + $globals->db->query("UPDATE aliases + SET flags=CONCAT(flags,',','bestalias') + WHERE id='{$_REQUEST['user_id']}' AND alias='$val'"); + break; + + // Editer un profil case "u_edit": $pass_md5B = $_REQUEST['newpass_clair'] != "********" ? md5($_REQUEST['newpass_clair']) : $_REQUEST['passw']; @@ -204,7 +214,7 @@ if(isset($mr)) { $page->assign('lastlogin', $lastlogin); $page->assign('host', $host); - $page->mysql_assign("SELECT alias, type='a_vie' AS for_life,expire + $page->mysql_assign("SELECT alias, type='a_vie' AS for_life,FIND_IN_SET('bestalias',flags) AS best,expire FROM aliases WHERE id = {$mr["user_id"]} AND type!='homonyme' ORDER BY type!= 'a_vie'", 'aliases'); diff --git a/htdocs/emails.php b/htdocs/emails.php index 5a39687..f78009a 100644 --- a/htdocs/emails.php +++ b/htdocs/emails.php @@ -18,14 +18,22 @@ * Foundation, Inc., * * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * *************************************************************************** - $Id: emails.php,v 1.10 2004-11-07 20:17:22 x2000habouzit Exp $ + $Id: emails.php,v 1.11 2004-11-17 10:49:50 x2000habouzit Exp $ ***************************************************************************/ require("auto.prepend.inc.php"); new_skinned_page('emails.tpl',AUTH_COOKIE); +if(isset($_POST['best'])) { + $globals->db->query("UPDATE aliases SET flags='' WHERE flags='bestalias' AND id='{$_SESSION["uid"]}'"); + $globals->db->query("UPDATE aliases SET flags='epouse' WHERE flags='epouse,bestalias' AND id='{$_SESSION["uid"]}'"); + $globals->db->query("UPDATE aliases + SET flags=CONCAT(flags,',','bestalias') + WHERE id='{$_SESSION["uid"]}' AND alias='{$_POST['best']}'"); +} + // on regarde si on a affaire à un homonyme -$sql = "SELECT alias, (type='a_vie') AS a_vie, expire +$sql = "SELECT alias, (type='a_vie') AS a_vie, FIND_IN_SET('bestalias',flags) AS best, expire FROM aliases WHERE id='{$_SESSION['uid']}' AND type!='homonyme' ORDER BY LENGTH(alias)"; diff --git a/htdocs/inscription/step4.php b/htdocs/inscription/step4.php index 161b071..9f1ac91 100644 --- a/htdocs/inscription/step4.php +++ b/htdocs/inscription/step4.php @@ -18,7 +18,7 @@ * Foundation, Inc., * * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * *************************************************************************** - $Id: step4.php,v 1.12 2004-11-14 21:23:30 x2000habouzit Exp $ + $Id: step4.php,v 1.13 2004-11-17 10:49:50 x2000habouzit Exp $ ***************************************************************************/ require("auto.prepend.inc.php"); @@ -94,6 +94,7 @@ if (!empty($_REQUEST['ref'])) { require("email.classes.inc.php"); $redirect = new Redirect($uid); $redirect->add_email($email); + fix_bestalias($uid); /****************** ajout des formations ****************/ if (($appli_id1>0)&&($appli_type1)) $globals->db->query("insert into applis_ins set uid=$uid,aid=$appli_id1,type='$appli_type1',ordre=0"); diff --git a/include/email.classes.inc.php b/include/email.classes.inc.php index 4872243..0c15ddc 100644 --- a/include/email.classes.inc.php +++ b/include/email.classes.inc.php @@ -18,7 +18,7 @@ * Foundation, Inc., * * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * *************************************************************************** - $Id: email.classes.inc.php,v 1.8 2004-11-03 15:55:23 x2000habouzit Exp $ + $Id: email.classes.inc.php,v 1.9 2004-11-17 10:49:51 x2000habouzit Exp $ ***************************************************************************/ require_once("xorg.misc.inc.php"); @@ -43,6 +43,19 @@ function check_mtic($email) { return false; } +function fix_bestalias($uid) { + global $globals; + $res = $globals->db->query("SELECT COUNT(*) FROM aliases WHERE id='$uid' AND FIND_IN_SET('bestalias',flags)"); + list($n) = mysql_fetch_row($res); + mysql_free_result($res); + if($n) return; + $globals->db->query("UPDATE aliases + SET flags=CONCAT(flags,',','bestalias') + WHERE id='$uid' + ORDER BY !FIND_IN_SET('epouse',flags),alias LIKE '%.%', LENGTH(alias) + LIMIT 1"); +} + class Bogo { var $state; var $_states = Array('let_spams', 'tag_spams', 'drop_spams'); diff --git a/templates/admin/utilisateurs.tpl b/templates/admin/utilisateurs.tpl index 8fff56a..4d86a5d 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.20 2004-11-13 22:49:35 x2000habouzit Exp $ + $Id: utilisateurs.tpl,v 1.21 2004-11-17 10:49:52 x2000habouzit Exp $ ***************************************************************************} @@ -192,6 +192,7 @@ function del_fwd(fwd) { {foreach from=$aliases item=a} + {if $a.for_life}{$a.alias}{else}{$a.alias}{/if} {if $a.expire}(expire le {$a.expire|date_format:"%d %b %Y"}){/if} diff --git a/templates/emails.tpl b/templates/emails.tpl index c87d5d0..ed15083 100644 --- a/templates/emails.tpl +++ b/templates/emails.tpl @@ -17,7 +17,7 @@ * Foundation, Inc., * * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * *************************************************************************** - $Id: emails.tpl,v 1.9 2004-10-24 14:41:11 x2000habouzit Exp $ + $Id: emails.tpl,v 1.10 2004-11-17 10:49:51 x2000habouzit Exp $ ***************************************************************************} @@ -33,15 +33,20 @@ - Tes adresses polytechniciennes sont : - + Tes adresses polytechniciennes sont :

+
+
+ {foreach from=$aliases item=a} + + {if $a.a_vie}(*){/if} {$a.alias}@polytechnique.org et @m4x.org + {if $a.expire}(expire le {$a.expire|date_format:"%d %b %Y"}){/if} +
+ {/foreach} +
+
+
+ L'adresse cochée est celle que tu utilises le plus (et qui sera donc affichée sur ta carte de visite, ta fiche, etc...). + Coche une autre case pour en changer !