Removes references to old user web URL
[platal.git] / include / user.func.inc.php
index 1080c26..4ff11ca 100644 (file)
@@ -48,7 +48,7 @@ function user_clear_all_subs($user_id, $really_del=true)
         $tables_to_clear['contact'] = array('contacts');
         XDB::execute("UPDATE auth_user_md5
                          SET date_ins = 0, promo_sortie = 0, nom_usage = '',  password = '', perms = 'pending',
-                             nationalite = '', cv = '', section = 0, date = 0, smtppass = ''
+                             nationalite = '', cv = '', section = 0, date = 0, smtppass = '', mail_storage = ''
                        WHERE user_id = {?}", $uid);
         XDB::execute("DELETE virtual.* FROM virtual INNER JOIN virtual_redirect AS r USING(vid) WHERE redirect = {?}",
                      $alias.'@'.$globals->mail->domain);
@@ -70,6 +70,15 @@ function user_clear_all_subs($user_id, $really_del=true)
 
     $mmlist = new MMList(S::v('uid'), S::v('password'));
     $mmlist->kill($alias, $really_del);
+
+    // Deactivates, when available, the Google Apps account of the user.
+    if ($globals->mailstorage->googleapps_domain) {
+        require_once 'googleapps.inc.php';
+        if (GoogleAppsAccount::account_status($uid)) {
+            $account = new GoogleAppsAccount($uid, $alias);
+            $account->suspend();
+        }
+    }
 }
 
 // }}}
@@ -79,7 +88,7 @@ function user_clear_all_subs($user_id, $really_del=true)
 function _default_user_callback($login)
 {
     global $page;
-    $page->trig("Il n'y a pas d'utilisateur avec l'identifiant : $login");
+    $page->trigError("Il n'y a pas d'utilisateur avec l'identifiant : $login");
     return;
 }
 
@@ -162,7 +171,7 @@ function get_user_login($data, $get_forlife = false, $callback = '_default_user_
             default:
                 if (S::has_perms()) {
                     $aliases = $res->fetchColumn();
-                    $page->trig("Il y a $i utilisateurs avec cette adresse mail : ".join(', ', $aliases));
+                    $page->trigError("Il y a $i utilisateurs avec cette adresse mail : ".join(', ', $aliases));
                 } else {
                     $res->free();
                 }
@@ -338,7 +347,7 @@ function get_user_details_adr($uid, $view = 'private') {
                      gp.pays AS countrytxt,a.region, a.regiontxt,
                      FIND_IN_SET('active', a.statut) AS active, a.adrid,
                      FIND_IN_SET('res-secondaire', a.statut) AS secondaire,
-                     a.pub, gp.display
+                     a.pub, gp.display, a.comment
                FROM  adresses AS a
           LEFT JOIN  geoloc_pays AS gp ON (gp.a2=a.country)
               WHERE  uid= {?} AND NOT FIND_IN_SET('pro',a.statut)
@@ -381,8 +390,8 @@ function &get_user_details($login, $from_uid = '', $view = 'private')
 {
     $reqsql = "SELECT  u.user_id, u.promo, u.promo_sortie, u.prenom, u.nom, u.nom_usage, u.date, u.cv,
                        u.perms IN ('admin','user','disabled') AS inscrit,  FIND_IN_SET('femme', u.flags) AS sexe, u.deces != 0 AS dcd, u.deces,
-                       q.profile_nick AS nickname, q.profile_from_ax, q.profile_mobile AS mobile, q.profile_web AS web, q.profile_freetext AS freetext,
-                       q.profile_mobile_pub AS mobile_pub, q.profile_web_pub AS web_pub, q.profile_freetext_pub AS freetext_pub,
+                       q.profile_nick AS nickname, q.profile_from_ax, q.profile_mobile AS mobile, q.profile_freetext AS freetext,
+                       q.profile_mobile_pub AS mobile_pub, q.profile_freetext_pub AS freetext_pub,
                        q.profile_medals_pub AS medals_pub,
                        IF(gp.nat='',gp.pays,gp.nat) AS nationalite, gp.a2 AS iso3166,
                        a.alias AS forlife, a2.alias AS bestalias,
@@ -390,7 +399,7 @@ function &get_user_details($login, $from_uid = '', $view = 'private')
                        s.text AS section, p.x, p.y, p.pub AS photo_pub,
                        u.matricule_ax,
                        m.expertise != '' AS is_referent,
-                       COUNT(e.email) > 0 AS actif
+                       (COUNT(e.email) > 0 OR FIND_IN_SET('googleapps', u.mail_storage) > 0) AS actif
                  FROM  auth_user_md5   AS u
            INNER JOIN  auth_user_quick AS q  USING(user_id)
            INNER JOIN  aliases         AS a  ON (u.user_id=a.id AND a.type='a_vie')
@@ -420,13 +429,7 @@ function &get_user_details($login, $from_uid = '', $view = 'private')
         else
             $user['mobile'] = '';
     }
-    // hide web
-    if (!has_user_right($user['web_pub'], $view)) {
-        if ($user['web'] == '')
-            $user['web_pub'] = $view;
-        else
-            $user['web'] = '';
-    }
+
     // hide freetext
     if (!has_user_right($user['freetext_pub'], $view)) {
         if ($user['freetext'] == '')
@@ -491,6 +494,18 @@ function &get_user_details($login, $from_uid = '', $view = 'private')
         }
     }
 
+    $user['networking'] = Array();
+    $res = XDB::iterator("SELECT  n.address, n.pub, m.network_type AS type, m.name, m.filter
+                            FROM  profile_networking AS n
+                      INNER JOIN  profile_networking_enum AS m ON (n.network_type = m.network_type)
+                           WHERE  n.uid = {?}", $uid);
+    while($network = $res->next())
+    {
+        if (has_user_right($network['pub'], $view)) {
+            $user['networking'][] = $network;
+        }
+    }
+
     return $user;
 }
 // }}}