Cleanup forum_ tables:
[platal.git] / include / user.func.inc.php
index 549d811..a839455 100644 (file)
@@ -36,13 +36,13 @@ function user_clear_all_subs($user_id, $really_del=true)
     $user = User::getSilent($uid);
     list($alias) = explode('@', $user->forlifeEmail());
 
-    $tables_to_clear = array('uid' => array('competences_ins', 'entreprises', 'langues_ins', 'mentor_pays',
-                                            'mentor_secteurs', 'mentor', 'perte_pass', 'watch_sub'),
+    $tables_to_clear = array('uid' => array('competences_ins', 'profile_job', 'langues_ins', 'profile_mentor_country',
+                                            'profile_mentor_sector', 'profile_mentor', 'perte_pass', 'watch_sub'),
                              'user_id' => array('requests', 'user_changes'));
 
     if ($really_del) {
         array_push($tables_to_clear['uid'], 'emails', 'groupex.membres', 'contacts', 'adresses', 'profile_phones',
-                                            'photo', 'perte_pass', 'langues_ins', 'forums.abos', 'forums.profils');
+                                            'photo', 'perte_pass', 'langues_ins', 'forum_subs', 'forum_profiles');
         array_push($tables_to_clear['user_id'], 'newsletter_ins', 'auth_user_quick', 'binets_ins');
         $tables_to_clear['id'] = array('aliases');
         $tables_to_clear['contact'] = array('contacts');
@@ -130,18 +130,19 @@ function get_not_registered_user($login, $iterator = false)
 
 function get_user_details_pro($uid, $view = 'private')
 {
-    $sql  = "SELECT  e.entreprise, s.label as secteur , ss.label as sous_secteur , f.fonction_fr as fonction,
-                     e.poste, e.adr1, e.adr2, e.adr3, e.postcode, e.city, e.entrid,
-                     gp.pays AS countrytxt, gr.name AS region, e.entrid,
-                     e.pub, e.adr_pub, e.email, e.email_pub, e.web
-               FROM  entreprises AS e
-          LEFT JOIN  emploi_secteur AS s ON(e.secteur = s.id)
-          LEFT JOIN  emploi_ss_secteur AS ss ON(e.ss_secteur = ss.id AND e.secteur = ss.secteur)
-          LEFT JOIN  fonctions_def AS f ON(e.fonction = f.id)
-          LEFT JOIN  geoloc_pays AS gp ON (gp.a2 = e.country)
-          LEFT JOIN  geoloc_region AS gr ON (gr.a2 = e.country and gr.region = e.region)
-              WHERE  e.uid = {?}
-           ORDER BY  e.entrid";
+    $sql  = "SELECT  en.name AS entreprise, s.name as secteur, f.fonction_fr as fonction,
+                     j.description AS poste, gp.pays AS countrytxt, gr.name AS region,
+                     j.id AS entrid, j.pub, j.email, j.email_pub, j.url AS w_web, en.url AS web,
+                     e.adr1, e.adr2, e.adr3, e.postcode, e.city, e.adr_pub
+               FROM  profile_job                   AS j
+          LEFT JOIN  entreprises                   AS e  ON (e.entrid = j.id AND e.uid = j.uid)
+          LEFT JOIN  profile_job_enum              AS en ON (j.jobid = en.id)
+          LEFT JOIN  profile_job_subsubsector_enum AS s  ON (j.subsubsectorid = s.id)
+          LEFT JOIN  fonctions_def                 AS f  ON (j.functionid = f.id)
+          LEFT JOIN  geoloc_pays                   AS gp ON (gp.a2 = e.country)
+          LEFT JOIN  geoloc_region                 AS gr ON (gr.a2 = e.country AND gr.region = e.region)
+              WHERE  j.uid = {?}
+           ORDER BY  j.id";
     $res  = XDB::query($sql, $uid);
     $all_pro = $res->fetchAllAssoc();
     foreach ($all_pro as $i => $pro) {
@@ -282,7 +283,7 @@ function &get_user_details($login, $from_uid = '', $view = 'private')
             LEFT JOIN  geoloc_pays           AS gp3 ON (gp3.a2 = u.nationalite3)
            INNER JOIN  sections              AS s   ON (s.id  = u.section)
             LEFT JOIN  photo                 AS p   ON (p.uid = u.user_id)
-            LEFT JOIN  mentor                AS m   ON (m.uid = u.user_id)
+            LEFT JOIN  profile_mentor        AS m   ON (m.uid = u.user_id)
             LEFT JOIN  emails                AS e   ON (e.uid = u.user_id AND e.flags='active')
            INNER JOIN  profile_names_display AS nd  ON (nd.user_id = u.user_id)
            INNER JOIN  profile_display       AS d   ON (d.uid = u.user_id)
@@ -356,7 +357,7 @@ function &get_user_details($login, $from_uid = '', $view = 'private')
                       LEFT JOIN  profile_education_enum        AS en ON (en.id = ed.eduid)
                       LEFT JOIN  profile_education_degree_enum AS d  ON (d.id  = ed.degreeid)
                       LEFT JOIN  profile_education_field_enum  AS f  ON (f.id  = ed.fieldid)
-                          WHERE  uid={?}
+                          WHERE  uid = {?} AND NOT FIND_IN_SET('primary', flags)
                        ORDER BY  ed.grad_year", $uid);
 
     if (list($name, $url, $degree, $grad_year, $field, $program) = $res->next()) {