Merge remote branch 'origin/platal-0.10.2'
[platal.git] / include / userset.inc.php
index 21d5b0b..08ac167 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /***************************************************************************
- *  Copyright (C) 2003-2008 Polytechnique.org                              *
+ *  Copyright (C) 2003-2010 Polytechnique.org                              *
  *  http://opensource.polytechnique.org/                                   *
  *                                                                         *
  *  This program is free software; you can redistribute it and/or modify   *
@@ -44,11 +44,9 @@ class UserSet extends PlSet
         global $globals;
         parent::__construct('auth_user_md5 AS u',
                             (!empty($GLOBALS['IS_XNET_SITE']) ?
-                                'INNER JOIN groupex.membres AS gxm ON (u.user_id = gxm.uid
+                                'INNER JOIN #groupex#.membres AS gxm ON (u.user_id = gxm.uid
                                                                        AND gxm.asso_id = ' . $globals->asso('id') . ') ' : '')
-                           . 'LEFT JOIN auth_user_quick AS q USING (user_id)
-                              LEFT JOIN aliases         AS a ON (a.id = u.user_id AND a.type = \'a_vie\')
-                              ' . $joins,
+                           . 'LEFT JOIN auth_user_quick AS q USING (user_id)' . $joins,
                             $where,
                             'u.user_id');
     }
@@ -172,13 +170,14 @@ class MinificheView extends MultipageView
 
     public function fields()
     {
-        return "u.user_id AS id,
-                u.*, a.alias AS forlife,
+        global $globals;
+        return "u.user_id AS id, u.*,
+                CONCAT(a.alias, '@{$globals->mail->domain}') AS bestemail,
                 u.perms != 'pending' AS inscrit,
                 u.perms != 'pending' AS wasinscrit,
                 u.deces != 0 AS dcd, u.deces, u.matricule_ax,
                 FIND_IN_SET('femme', u.flags) AS sexe,
-                e.entreprise, es.label AS secteur, ef.fonction_fr AS fonction,
+                e.entreprise, e.web AS job_web, es.label AS secteur, ef.fonction_fr AS fonction,
                 IF(n.nat='',n.pays,n.nat) AS nat, n.a2 AS iso3166,
                 ad0.text AS app0text, ad0.url AS app0url, ai0.type AS app0type,
                 ad1.text AS app1text, ad1.url AS app1url, ai1.type AS app1type,
@@ -202,6 +201,7 @@ class MinificheView extends MultipageView
                                                       AND FIND_IN_SET('active', adr.statut)".(S::logged() ? "" : " AND adr.pub = 'public'").")
                  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  aliases        AS a   ON (a.id = u.user_id AND FIND_IN_SET('bestalias', a.flags))
                  LEFT JOIN  emails         AS em  ON (em.uid = u.user_id AND em.flags = 'active')" .
                 (S::logged() ?
                  "LEFT JOIN  contacts       AS c   On (c.contact = u.user_id AND c.uid = " . S::v('uid') . ")"
@@ -245,9 +245,8 @@ class MentorView extends MultipageView
 
     public function fields()
     {
-        return "m.uid, u.prenom, u.nom, u.promo,
-                a.alias AS forlife, m.expertise, mp.pid,
-                ms.secteur, ms.ss_secteur";
+        return "m.uid, u.prenom, u.nom, u.promo, u.hruid,
+                m.expertise, mp.pid, ms.secteur, ms.ss_secteur";
     }
 
     public function bounds()
@@ -289,7 +288,7 @@ class TrombiView extends MultipageView
 
     public function fields()
     {
-        return "u.user_id, IF(u.nom_usage != '', u.nom_usage, u.nom) AS nom, u.prenom, u.promo, a.alias AS forlife ";
+        return "u.user_id, IF(u.nom_usage != '', u.nom_usage, u.nom) AS nom, u.prenom, u.promo, u.hruid ";
     }
 
     public function joins()
@@ -363,21 +362,18 @@ class GeolocView implements PlView
 
         switch ($this->type) {
           case 'icon.swf':
-            header("Content-type: application/x-shockwave-flash");
-            header("Pragma:");
+            pl_cached_content_headers("application/x-shockwave-flash");
             readfile(dirname(__FILE__).'/../modules/geoloc/icon.swf');
             exit;
 
           case 'dynamap.swf':
-            header("Content-type: application/x-shockwave-flash");
-            header("Pragma:");
+            pl_cached_content_headers("application/x-shockwave-flash");
             readfile(dirname(__FILE__).'/../modules/geoloc/dynamap.swf');
             exit;
 
           case 'init':
             $page->changeTpl('geoloc/init.tpl', NO_SKIN);
-            header('Content-Type: text/xml');
-            header('Pragma:');
+            pl_cached_content_headers("text/xml", "utf-8");
             if (!empty($GLOBALS['IS_XNET_SITE'])) {
                 $page->assign('background', 0xF2E9D0);
             }
@@ -385,8 +381,7 @@ class GeolocView implements PlView
 
           case 'city':
             $page->changeTpl('geoloc/city.tpl', NO_SKIN);
-            header('Content-Type: text/xml');
-            header('Pragma:');
+            pl_cached_content_headers("text/xml", "utf-8");
             $only_current = Env::v('only_current', false)? ' AND FIND_IN_SET(\'active\', adrf.statut)' : '';
             $it =& $this->set->get('u.user_id AS id, u.prenom, u.nom, u.promo, al.alias',
                                    "INNER JOIN  adresses AS adrf  ON (adrf.uid = u.user_id $only_current)
@@ -402,8 +397,7 @@ class GeolocView implements PlView
                 $page->changeTpl('geoloc/country.tpl', SIMPLE);
             } else {
                 $page->changeTpl('geoloc/country.tpl', NO_SKIN);
-                header('Content-Type: text/xml');
-                header('Pragma:');
+                pl_cached_content_headers("text/xml", "utf-8");
             }
             $mapid = Env::has('mapid') ? Env::i('mapid', -2) : false;
             list($countries, $cities) = geoloc_getData_subcountries($mapid, $this->set, 10);
@@ -433,8 +427,7 @@ class GadgetView implements PlView
 
     public function fields()
     {
-        return "u.user_id AS id,
-                u.*, a.alias AS forlife," .
+        return "u.user_id AS id, u.*," .
                 (S::logged() ? "q.profile_mobile AS mobile, " : "IF(q.profile_mobile_pub = 'public', q.profile_mobile, NULL) as mobile, ") .
                "u.perms != 'pending' AS inscrit,
                 u.perms != 'pending' AS wasinscrit,