From e97e9b8f3b16d26453e74321ea6bd54ccc36526b Mon Sep 17 00:00:00 2001 From: Vincent Zanotti Date: Sun, 23 Mar 2008 17:50:22 +0100 Subject: [PATCH] Fixes the email list display on page /emails. Signed-off-by: Vincent Zanotti --- include/emails.inc.php | 13 +++++++++++++ modules/email.php | 18 +++++------------- templates/emails/index.tpl | 21 +++++---------------- 3 files changed, 23 insertions(+), 29 deletions(-) diff --git a/include/emails.inc.php b/include/emails.inc.php index 0157690..555946d 100644 --- a/include/emails.inc.php +++ b/include/emails.inc.php @@ -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: diff --git a/modules/email.php b/modules/email.php index c01b079..7e992df 100644 --- a/modules/email.php +++ b/modules/email.php @@ -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'); diff --git a/templates/emails/index.tpl b/templates/emails/index.tpl index 636b1c8..849ab0b 100644 --- a/templates/emails/index.tpl +++ b/templates/emails/index.tpl @@ -85,29 +85,18 @@ ton homonyme et toi-même ne disposeraient plus que des adresses de la forme pre - {if $mails->total() eq 0} + {if count($mails) eq 0}

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.

{else} Actuellement, tout courrier électronique qui t'y est adressé, est envoyé - {if $mails->total() eq 1} à l'adresse{else} aux adresses{/if} : + {if count($mails) eq 1} à l'adresse{else} aux adresses{/if} : - {/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} : - {/if} {test_email} -- 2.1.4