Fixes the email list display on page /emails.
authorVincent Zanotti <vincent.zanotti@polytechnique.org>
Sun, 23 Mar 2008 16:50:22 +0000 (17:50 +0100)
committerVincent Zanotti <vincent.zanotti@polytechnique.org>
Sun, 23 Mar 2008 16:50:22 +0000 (17:50 +0100)
Signed-off-by: Vincent Zanotti <vincent.zanotti@polytechnique.org>
include/emails.inc.php
modules/email.php
templates/emails/index.tpl

index 0157690..555946d 100644 (file)
@@ -586,6 +586,19 @@ class Redirect
         }
         return $mails;
     }
+
+    // function active_emails() {{{2
+
+    public function active_emails()
+    {
+        $emails = array();
+        foreach ($this->emails as $mail) {
+            if ($mail->active) {
+                $emails[] = $mail;
+            }
+        }
+        return $emails;
+    }
 }
 
 // vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8:
index c01b079..7e992df 100644 (file)
@@ -42,6 +42,7 @@ class EmailModule extends PLModule
     function handler_emails(&$page, $action = null, $email = null)
     {
         global $globals;
+        require_once 'emails.inc.php';
 
         $page->changeTpl('emails/index.tpl');
         $page->assign('xorg_title','Polytechnique.org - Mes emails');
@@ -65,21 +66,12 @@ class EmailModule extends PLModule
               ORDER BY  LENGTH(alias)";
         $page->assign('aliases', XDB::iterator($sql, $uid));
 
-    $homonyme = XDB::query("SELECT alias FROM aliases INNER JOIN homonymes ON (id = homonyme_id) WHERE user_id = {?} AND type = 'homonyme'", $uid);
-    $page->assign('homonyme', $homonyme->fetchOneCell());
+        $homonyme = XDB::query("SELECT alias FROM aliases INNER JOIN homonymes ON (id = homonyme_id) WHERE user_id = {?} AND type = 'homonyme'", $uid);
+        $page->assign('homonyme', $homonyme->fetchOneCell());
 
         // Affichage des redirections de l'utilisateur.
-        $sql = "SELECT email
-                FROM emails
-                WHERE uid = {?} AND FIND_IN_SET('active', flags)";
-        $page->assign('mails', XDB::iterator($sql, $uid));
-
-        // Affichage des backends actifs de stockage des emails.
-        $sql = "SELECT  mail_storage
-                  FROM  auth_user_md5
-                 WHERE  user_id = {?}";
-        $storages = XDB::query($sql, $uid)->fetchOneCell();
-        $page->assign('storage', explode(',', $storages));
+        $redirect = new Redirect($uid);
+        $page->assign('mails', $redirect->active_emails());
 
         // on regarde si l'utilisateur a un alias et si oui on l'affiche !
         $forlife = S::v('forlife');
index 636b1c8..849ab0b 100644 (file)
@@ -85,29 +85,18 @@ ton homonyme et toi-même ne disposeraient plus que des adresses de la forme pre
   </tr>
   <tr class="impair">
     <td>
-      {if $mails->total() eq 0}
+      {if count($mails) eq 0}
       <p class="erreur">
         Tu n'as actuellement aucune adressse de redirection. Tout courrier électronique qui t'es adresses
         ci-dessus génère une erreur. Modifie au plus vite ta liste de redirection.<br/>
       </p>
       {else}
       Actuellement, tout courrier électronique qui t'y est adressé, est envoyé
-      {if $mails->total() eq 1} à l'adresse{else} aux adresses{/if}&nbsp;:
+      {if count($mails) eq 1} à l'adresse{else} aux adresses{/if}&nbsp;:
       <ul>
-        {iterate from=$mails item=m}
-        <li><strong>{$m.email}</strong></li>
-        {/iterate}
-      </ul>
-      {/if}
-      {if count($storage) neq 0}
-      Ton courrier est également stocké sur {if count($storage) eq 1}le compte suivant{else} les comptes suivants{/if}&nbsp;:
-      <ul>
-        {if in_array('googleapps', $storage)}
-        <li><a href="googleapps"><strong>Compte Google Apps / GMail de Polytechnique.org</strong></a></li>
-        {/if}
-        {if in_array('imap', $storage)}
-        <li><a href="Xorg/IMAP"><strong>Accès de secours aux emails (IMAP)</strong></a></li>
-        {/if}
+        {foreach from=$mails item=m}
+        <li><strong>{$m->display_email}</strong></li>
+        {/foreach}
       </ul>
       {/if}
       {test_email}