Simplification
[platal.git] / modules / carnet.php
index fc9710f..7608121 100644 (file)
@@ -270,7 +270,8 @@ class CarnetModule extends PLModule
                             ad0.text AS app0text, ad0.url AS app0url, ai0.type AS app0type,
                             ad1.text AS app1text, ad1.url AS app1url, ai1.type AS app1type,
                             adr.city, gp.a2, gp.pays AS countrytxt, gr.name AS region,
-                            IF(a.nom_usage<>'',a.nom_usage,a.nom) AS sortkey
+                            IF(a.nom_usage<>'',a.nom_usage,a.nom) AS sortkey,
+                            COUNT(em.email) > 0 AS actif
                       FROM  contacts       AS c
                 INNER JOIN  auth_user_md5  AS a   ON (a.user_id = c.contact)
                 INNER JOIN  aliases        AS l   ON (a.user_id = l.id AND l.type='a_vie')
@@ -286,7 +287,9 @@ class CarnetModule extends PLModule
                                                       AND FIND_IN_SET('active', adr.statut))
                  LEFT JOIN  geoloc_pays    AS gp  ON (adr.country = gp.a2)
                  LEFT JOIN  geoloc_region  AS gr  ON (adr.country = gr.a2 AND adr.region = gr.region)
+                 LEFT JOIN  emails         AS em  ON (em.uid = a.user_id AND em.flags = 'active')
                      WHERE  c.uid = $uid
+                  GROUP BY  a.user_id
                   ORDER BY  ".$order;
 
             $page->assign_by_ref('citer', XDB::iterator($sql));
@@ -335,7 +338,9 @@ class CarnetModule extends PLModule
 
     function handler_ical(&$page)
     {
+        require_once dirname(__FILE__).'/carnet/smarty.php';
         $page->changeTpl('carnet/calendar.tpl', NO_SKIN);
+        $page->register_function('display_ical', 'display_ical');
 
         $res = XDB::iterRow(
                 'SELECT u.prenom,