Fetch homonymy information in default query.
authorFlorent Bruneau <florent.bruneau@polytechnique.org>
Sun, 28 Feb 2010 16:24:02 +0000 (17:24 +0100)
committerFlorent Bruneau <florent.bruneau@polytechnique.org>
Sun, 28 Feb 2010 16:26:45 +0000 (17:26 +0100)
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
classes/user.php
modules/email.php

index 77bacbf..532b39e 100644 (file)
@@ -170,7 +170,7 @@ class User extends PlUser
 
         $uids = array_map(array('XDB', 'escape'), $uids);
 
-        return XDB::iterator('SELECT  a.uid, a.hruid, a.registration_date,
+        return XDB::iterator('SELECT  a.uid, a.hruid, a.registration_date, ah.alias AS homonym,
                                       CONCAT(af.alias, \'@' . $globals->mail->domain . '\') AS forlife,
                                       CONCAT(af.alias, \'@' . $globals->mail->domain2 . '\') AS forlife_alternate,
                                       CONCAT(ab.alias, \'@' . $globals->mail->domain . '\') AS bestalias,
@@ -187,6 +187,7 @@ class User extends PlUser
                           INNER JOIN  account_types AS at ON (at.type = a.type)
                            LEFT JOIN  aliases AS af ON (af.uid = a.uid AND af.type = \'a_vie\')
                            LEFT JOIN  aliases AS ab ON (ab.uid = a.uid AND FIND_IN_SET(\'bestalias\', ab.flags))
+                           LEFT JOIN  aliases AS ah ON (ah.uid = a.uid AND ah.type = \'homonyme\')
                            LEFT JOIN  emails AS e ON (e.uid = a.uid AND e.flags = \'active\')
                            LEFT JOIN  email_options AS eo ON (eo.uid = a.uid)
                                    ' . $joins . '
index db028d1..057de8d 100644 (file)
@@ -84,12 +84,7 @@ class EmailModule extends PLModule
         $page->assign('aliases', XDB::iterator($sql, $user->id()));
 
         // Check for homonyms.
-        $homonyme = XDB::query(
-                "SELECT  alias
-                   FROM  aliases
-             INNER JOIN  homonyms ON (uid = homonyme_id)
-                  WHERE  user_id = {?} AND type = 'homonyme'", $user->id());
-        $page->assign('homonyme', $homonyme->fetchOneCell());
+        $page->assign('homonyme', $user->homonyme);
 
         // Display active redirections.
         $redirect = new Redirect($user);