add bestalias handling
authorx2000habouzit <x2000habouzit>
Wed, 17 Nov 2004 10:49:50 +0000 (10:49 +0000)
committerx2000habouzit <x2000habouzit>
Wed, 17 Nov 2004 10:49:50 +0000 (10:49 +0000)
htdocs/admin/utilisateurs.php
htdocs/emails.php
htdocs/inscription/step4.php
include/email.classes.inc.php
templates/admin/utilisateurs.tpl
templates/emails.tpl

index c90c9a5..ae5e569 100644 (file)
@@ -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');
index 5a39687..f78009a 100644 (file)
  *  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)";
index 161b071..9f1ac91 100644 (file)
@@ -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");
index 4872243..0c15ddc 100644 (file)
@@ -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');
index 8fff56a..4d86a5d 100644 (file)
@@ -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}
     <tr class="{cycle values="impair,pair"}">
       <td>
+        <input type="radio" name='best' {if $a.best}checked="checked"{/if} value='{$a.alias}' onclick="this.form.submit()" />
         {if $a.for_life}<strong>{$a.alias}</strong>{else}{$a.alias}{/if}
         {if $a.expire}<span class='erreur'>(expire le {$a.expire|date_format:"%d %b %Y"})</span>{/if}
       </td>
index c87d5d0..ed15083 100644 (file)
@@ -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 $
  ***************************************************************************}
 
 
   </tr>
   <tr class="impair">
     <td>
-      Tes adresses polytechniciennes sont :
-      <ul>
-        {foreach from=$aliases item=a}
-        <li>
-        {if $a.a_vie}(*){/if} <strong>{$a.alias}</strong>@polytechnique.org et @m4x.org 
-        {if $a.expire}<span class='erreur'>(expire le {$a.expire|date_format:"%d %b %Y"})</span>{/if}
-        </li>
-        {/foreach}
-      </ul>
+      Tes adresses polytechniciennes sont :<br /><br />
+      <form method='post' action='{$smarty.server.PHP_SELF}'>
+        <div>
+          {foreach from=$aliases item=a}
+          <input type='radio' {if $a.best}checked="checked"{/if} name='best' value='{$a.alias}' onclick='this.form.submit()' />
+          {if $a.a_vie}(*){/if} <strong>{$a.alias}</strong>@polytechnique.org et @m4x.org 
+          {if $a.expire}<span class='erreur'>(expire le {$a.expire|date_format:"%d %b %Y"})</span>{/if}
+          <br />
+          {/foreach}
+        </div>
+      </form>
+      <br />
+      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 !
     </td>
   </tr>
   <tr class="pair">