homonymes now runs the new system
authorx2000habouzit <x2000habouzit>
Sun, 5 Sep 2004 17:39:42 +0000 (17:39 +0000)
committerx2000habouzit <x2000habouzit>
Sun, 5 Sep 2004 17:39:42 +0000 (17:39 +0000)
still have the insciption to do ...

htdocs/admin/homonymes.php
templates/admin/homonymes.tpl

index 1a7ad27..c1d384f 100644 (file)
@@ -18,7 +18,7 @@
  *  Foundation, Inc.,                                                      *
  *  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                *
  ***************************************************************************
-        $Id: homonymes.php,v 1.3 2004-09-01 17:59:07 x2000habouzit Exp $
+        $Id: homonymes.php,v 1.4 2004-09-05 17:39:42 x2000habouzit Exp $
  ***************************************************************************/
 
 require("auto.prepend.inc.php");
@@ -30,13 +30,17 @@ $op =  isset($_REQUEST['op']) ? $_REQUEST['op'] : 'list';
 
 $target = isset($_REQUEST['target']) ? $_REQUEST['target'] : 0;
 if ($target) {
-    $res = $globals->db->query("SELECT prenom,username,loginbis FROM auth_user_md5 WHERE user_id='$target'");
-    if (! list($prenom,$username,$loginbis) = mysql_fetch_row($res)) {
+    $res = $globals->db->query("SELECT  prenom,a.alias AS forlife,h.alias AS loginbis
+                                  FROM  auth_user_md5 AS u
+                           INNER JOIN  aliases       AS a ON (a.id=u.user_id AND a.type='a_vie')
+                           INNER JOIN  aliases       AS h ON (h.id=u.user_id AND h.expire!='')
+                                WHERE  user_id='$target'");
+    if (! list($prenom,$forlife,$loginbis) = mysql_fetch_row($res)) {
         $target=0;
     } else {
         $page->assign('prenom',$prenom);
-        $page->assign('username',$username);
-        $page->assign('loginbis',$loginbis);
+        $page->assign('forlife',$forlife);
+       $page->assign('loginbis',$loginbis);
     }
 }
 
@@ -53,15 +57,16 @@ if ($target) {
   // on examine l'op a effectuer
   switch ($op) {
       case 'mail':
-          $mymail = new DiogenesMailer($cc,$username,"Dans 2 semaines, suppression de $loginbis@polytechnique.org",false,$cc);
+          $mymail = new DiogenesMailer($cc,$forlife,"Dans 2 semaines, suppression de $loginbis@polytechnique.org",false,$cc);
           $mymail->addHeader($FROM);
           $mymail->setBody(stripslashes($_REQUEST['mailbody']));
           $mymail->send();
           $op = 'list';
           break;
       case 'correct':
-          $globals->db->query("REPLACE INTO aliases VALUES ('$loginbis', 'homonyme', 0)");
-          $mymail = new DiogenesMailer($cc,$username,"Mise en place du robot $loginbis@polytechnique.org",false,$cc);
+          $globals->db->query("UPDATE aliases SET type='homonyme',expire='NOW()' WHERE alias='$loginbis'");
+          $globals->db->query("REPLACE INTO homonymes (homonyme_id,user_id) VALUES('$target','$target')");
+          $mymail = new DiogenesMailer($cc,$forlife,"Mise en place du robot $loginbis@polytechnique.org",false,$cc);
           $mymail->addHeader($FROM);
           $mymail->setBody(stripslashes($_REQUEST['mailbody']));
           $mymail->send(); 
@@ -69,14 +74,22 @@ if ($target) {
           break;
   }
 }
+
 if ($op == 'list') {
-    $res = $globals->db->query("SELECT loginbis FROM auth_user_md5 WHERE loginbis!='' GROUP BY loginbis ORDER BY loginbis");
+    $res = $globals->db->query("SELECT  a.alias AS homonyme,s.id AS user_id,s.alias AS forlife,
+                                       promo,prenom,nom,
+                                       IF(h.homonyme_id=s.id, a.expire, NULL) AS expire,
+                                       IF(h.homonyme_id=s.id, a.type, NULL) AS type
+                                 FROM  aliases       AS a
+                            LEFT JOIN  homonymes     AS h ON (h.homonyme_id = a.id)
+                           INNER JOIN  aliases       AS s ON (s.id = h.user_id AND s.type='a_vie')
+                           INNER JOIN  auth_user_md5 AS u ON (s.id=u.user_id)
+                                WHERE  a.type='homonyme' OR a.expire!=''
+                             ORDER BY  a.alias,promo");
     $hnymes = Array();
-    while (list($loginbis) = mysql_fetch_row($res)) $hnymes[$loginbis] = Array();
-    mysql_free_result($res);
-
-    $res = $globals->db->query("SELECT loginbis,user_id,username,promo,prenom,nom,alias,date_mise_alias_temp AS date FROM auth_user_md5 WHERE loginbis!='' ORDER BY promo");
-    while ($tab = mysql_fetch_assoc($res)) $hnymes[$tab['loginbis']][] = $tab;
+    while ($tab = mysql_fetch_assoc($res)) {
+       $hnymes[$tab['homonyme']][] = $tab;
+    }
     mysql_free_result($res);
 
     $page->assign_by_ref('hnymes',$hnymes);
index 8cf1a79..32ed6bb 100644 (file)
@@ -17,7 +17,7 @@
  *  Foundation, Inc.,                                                      *
  *  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                *
  ***************************************************************************
-        $Id: homonymes.tpl,v 1.5 2004-08-31 11:25:39 x2000habouzit Exp $
+        $Id: homonymes.tpl,v 1.6 2004-09-05 17:39:42 x2000habouzit Exp $
  ***************************************************************************}
 
 
@@ -28,9 +28,9 @@
 {dynamic}
 
 {if $op eq 'mail'}
-<p class="erreur">mail envoyé à {$username}</p>
+<p class="erreur">mail envoyé à {$forlife}</p>
 {elseif $op eq 'correct'}
-<p class="erreur">mail envoyé à {$username}, alias supprimé</p>
+<p class="erreur">mail envoyé à {$forlife}, alias supprimé</p>
 {/if}
 
 {if $op eq 'list' || $op eq 'mail' || $op eq 'correct'}
@@ -42,8 +42,8 @@
 
 <table class="bicol">
   <tr>
-    <th>username</th>
-    <th>date de l'alias</th>
+    <th>alias concerné</th>
+    <th>date de péremption de l'alias</th>
     <th>op</th>
   </tr>
   {foreach from=$hnymes key=login item=row}
   {foreach from=$row item=user}
   <tr class="impair">
     <td>&nbsp;&nbsp;
-      {if $user.alias eq $login}
-      <span class="erreur"><strong>{$user.username}</strong></span>
+      {if $user.type eq 'alias'}
+      <span class="erreur"><strong>{$user.forlife}</strong></span>
       {else}
-      {$user.username}
+      {$user.forlife}
       {/if}
     </td>
-    <td>{$user.date}</td>
+    <td>{$user.expire|date_format:"%d %b %Y"}</td>
     <td>
-      <a href="javascript:x()" onclick="popWin('../fiche.php?user={$user.username}')">fiche</a>
-      <a href="javascript:x()" onclick="popWin('utilisateurs.php?login={$user.username}&amp;select=1')">edit</a>
-      {if $user.alias eq $login}
+      <a href="javascript:x()" onclick="popWin('../fiche.php?user={$user.forlife}')">fiche</a>
+      <a href="utilisateurs.php?login={$user.forlife}">edit</a>
+      {if $user.type eq 'alias'}
       <a href="?op=mail-conf&amp;target={$user.user_id}">mailer</a>
       <a href="?op=correct-conf&amp;target={$user.user_id}">corriger</a>
       {/if}
@@ -78,8 +78,6 @@
 {elseif $op eq 'mail-conf'}
 
 <form method="post" action="{$smarty.server.PHP_SELF}">
-  <input type="hidden" name="target" value="{$target}" />
-  <input type="hidden" name="op" value="mail" />
   <table class="bicol">
     <tr>
       <th>Envoyer un mail pour prévenir l'utilisateur</th>
@@ -92,8 +90,8 @@
 
 Comme nous t'en avons informé par mail il y a quelques temps,
 pour respecter nos engagements en terme d'adresses e-mail devinables,
-tu te verras bientôt attribuer de façon définitive l'adresse
-{$username}@polytechnique.org.
+tu te verras bientôt retirer l'alias {$loginbis}@polytechnique.org pour
+ne garder que {$forlife}@polytechnique.org.
 
 Toute personne qui écrira à {$loginbis}@polytechnique.org recevra la
 réponse d'un robot qui l'informera que {$loginbis}@polytechnique.org
@@ -106,6 +104,8 @@ L'
     </tr>
     <tr>
       <td>
+        <input type="hidden" name="target" value="{$target}" />
+        <input type="hidden" name="op" value="mail" />
         <input type="submit" value="Envoyer" />
       </td>
     </tr>
@@ -115,8 +115,6 @@ L'
 {elseif $op eq 'correct-conf'}
 
 <form method="post" action="{$smarty.server.PHP_SELF}">
-  <input type="hidden" name="target" value="{$target}" />
-  <input type="hidden" name="op" value="correct" />
   <table class="bicol">
     <tr>
       <th>Mettre en place le robot {$loginbis}@polytechnique.org</th>
@@ -127,8 +125,8 @@ L'
 {$prenom},
           
 Comme nous t'en avons informé par mail il y a quelques temps,
-nous t'avons attribué de façon définitive l'adresse
-{$username}@polytechnique.org.
+nous t'avons retiré de façon définitive l'adresse
+{$loginbis}@polytechnique.org.
 
 Toute personne qui écrit à {$loginbis}@polytechnique.org reçoit la
 réponse d'un robot qui l'informe que {$loginbis}@polytechnique.org
@@ -143,6 +141,8 @@ L'
     </tr>
     <tr>
       <td>
+        <input type="hidden" name="target" value="{$target}" />
+        <input type="hidden" name="op" value="correct" />
         <input type="submit" value="Envoyer et corriger" />
       </td>
     </tr>