From ce835419ab95b6b42dbb4bdc249b4bf7ffdc497b Mon Sep 17 00:00:00 2001 From: Florent Bruneau Date: Sun, 17 Feb 2008 19:22:47 +0100 Subject: [PATCH] Show the list of broken members in ML member list (Closes #793) Signed-off-by: Florent Bruneau --- ChangeLog | 3 +++ modules/lists/lists.inc.php | 19 +++++++++++-------- templates/lists/members.tpl | 2 ++ 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index 410d12d..1c54a52 100644 --- a/ChangeLog +++ b/ChangeLog @@ -19,6 +19,9 @@ Bug/Wish: * Emails: - #750: Fix email list in test email -FRU + * Lists: + - #793: Show broken members on ML -FRU + * Profile: - #729: Fix positioning of addresses on public profile -FRU - #742: Sub domain was hidden when editing profile -FRU diff --git a/modules/lists/lists.inc.php b/modules/lists/lists.inc.php index 2e627a0..15858ce 100644 --- a/modules/lists/lists.inc.php +++ b/modules/lists/lists.inc.php @@ -29,21 +29,24 @@ function list_sort_owners(&$members, $tri_promo = true) { foreach($members as $mem) { list($m, $dom) = explode('@',$mem); if ($dom == $globals->mail->domain || $dom == $globals->mail->domain2) { - $res = XDB::query('SELECT prenom,IF(nom_usage="", nom, nom_usage), promo - FROM auth_user_md5 AS u - INNER JOIN aliases AS a ON u.user_id = a.id - WHERE a.alias = {?}', $m); - if(list($prenom, $nom, $promo) = $res->fetchOneRow()) { + $res = XDB::query('SELECT prenom, IF(nom_usage="", nom, nom_usage), promo, e.uid IS NULL + FROM auth_user_md5 AS u + INNER JOIN aliases AS a ON u.user_id = a.id + LEFT JOIN emails AS e ON ( e.flags = \'active\' AND e.uid = u.user_id) + WHERE a.alias = {?} + GROUP BY u.user_id', $m); + if(list($prenom, $nom, $promo, $broken) = $res->fetchOneRow()) { $key = $tri_promo ? $promo : strtoupper($nom{0}); - $membres[$key][$nom.$m] = Array('n' => "$prenom $nom", 'l' => $m, 'p' => (!$tri_promo ? $promo : null)); + $membres[$key][$nom.$m] = Array('n' => "$prenom $nom", 'l' => $m, 'p' => (!$tri_promo ? $promo : null), 'b' => $broken); } else { - $membres[0][] = Array('l' => $mem); + $membres[0][] = Array('l' => $mem, 'b' => $broken); } } else { $res = XDB::query('SELECT m2.uid, IF(m2.origine="X", u.prenom, m1.prenom) AS prenom, IF(m2.origine="X", u.nom, m1.nom) AS nom, - IF(m2.origine="X", u.promo, "non-X") AS promo + IF(m2.origine="X", u.promo, "non-X") AS promo, + 0 FROM groupex.membres AS m1 LEFT JOIN groupex.membres AS m2 ON(m1.email=m2.email AND m2.asso_id={?}) LEFT JOIN auth_user_md5 AS u ON(m2.origine = "X" AND m2.uid = u.user_id) diff --git a/templates/lists/members.tpl b/templates/lists/members.tpl index b075075..9b6a851 100644 --- a/templates/lists/members.tpl +++ b/templates/lists/members.tpl @@ -95,6 +95,7 @@ {if $promo && strpos($x.l, '@') === false} + {if $x.b}{icon name=error}{/if} {$x.n} {elseif $x.x} {$x.n} @@ -136,6 +137,7 @@ {if $promo && strpos($x.l, '@') === false} + {if $x.b}{icon name=error}{/if} {$x.n} {elseif $x.x} {$x.n} -- 2.1.4