Fiche publique
authorPascal Corpet <pascal.corpet@m4x.org>
Tue, 1 Feb 2005 23:47:47 +0000 (23:47 +0000)
committerFlorent Bruneau <florent.bruneau@polytechnique.org>
Thu, 26 Jun 2008 21:28:01 +0000 (23:28 +0200)
git-archimport-id: opensource@polytechnique.org--2005/platal--mainline--0.9--patch-436

htdocs/fiche.php
include/user.func.inc.php
templates/fiche.tpl
templates/include/minifiche.tpl

index 67ddca9..3c80478 100644 (file)
@@ -21,7 +21,7 @@
 
 
 require_once("xorg.inc.php");
-new_simple_page('fiche.tpl',AUTH_COOKIE);
+new_simple_page('fiche.tpl', AUTH_PUBLIC);
 require_once('user.func.inc.php');
 
 if (!Env::has('user') && !Env::has('mat')) {
@@ -74,6 +74,67 @@ if($user['x'] < 160){
     $user['x'] = 160;
 }
 $page->assign('photo_url', $photo);
+
+// manage the public fiche
+$page->assign('logged', logged());
+if (!logged()) {
+    if ($user['mobile_pub'] != 'public') $user['mobile'] = '';
+    if ($user['web_pub'] != 'public') $user['web'] = '';
+    if ($user['freetext_pub'] !=  'public') $user['freetext'] = '';
+    foreach ($user['adr'] as $i=>$adr) {
+        if ($adr['pub'] != 'public' && $adr['tel_pub'] != 'public')
+            unset($user['adr'][$i]);
+        elseif ($adr['pub'] != 'public') {
+            $user['adr'][$i]['adr1'] = '';
+            $user['adr'][$i]['adr2'] = '';
+            $user['adr'][$i]['adr3'] = '';
+            $user['adr'][$i]['ville'] = '';
+            $user['adr'][$i]['cp'] = '';
+            $user['adr'][$i]['region'] = '';
+            $user['adr'][$i]['pays'] = '';
+        }
+        elseif ($adr['tel_pub'] != 'public') {
+            $user['adr'][$i]['tel'] = '';
+            $user['adr'][$i]['fax'] = '';
+        }
+    }
+    foreach ($user['adr_pro'] as $i=>$adr) {
+        if ($adr['pub'] != 'public' && $adr['tel_pub'] != 'public' && $adr['adr_pub'] != 'public')
+            unset($user['adr_pro'][$i]);
+        else {
+            if ($adr['adr_pub'] != 'public') {
+                $user['adr_pro'][$i]['adr1'] = '';
+                $user['adr_pro'][$i]['adr2'] = '';
+                $user['adr_pro'][$i]['adr3'] = '';
+                $user['adr_pro'][$i]['ville'] = '';
+                $user['adr_pro'][$i]['cp'] = '';
+                $user['adr_pro'][$i]['region'] = '';
+                $user['adr_pro'][$i]['pays'] = '';
+            }
+            if ($adr['pub'] != 'public') {
+                $user['adr_pro'][$i]['entreprise'] = '';
+                $user['adr_pro'][$i]['secteur'] = '';
+                $user['adr_pro'][$i]['fonction'] = '';
+                $user['adr_pro'][$i]['poste'] = '';
+            }
+            if ($adr['tel_pub'] != 'public') {
+                $user['adr_pro'][$i]['tel'] = '';
+                $user['adr_pro'][$i]['fax'] = '';
+                $user['adr_pro'][$i]['mobile'] = '';
+            }
+        }
+    }
+}
+foreach($user['adr_pro'] as $i=>$pro) {
+    if ($pro['entreprise'] == '' && $pro['fonction'] == ''
+        && $pro['secteur'] == '' && $pro['poste'] == ''
+        && $pro['adr1'] == '' && $pro['adr2'] == '' && $pro['adr3'] == ''
+        && $pro['cp'] == '' && $pro['ville'] == '' && $pro['pays'] == ''
+        && $pro['tel'] == '' && $pro['fax'] == '' && $pro['mobile'] == '')
+        unset($user['adr_pro'][$i]);
+}
+if (count($user['adr_pro']) == 0) unset($user['adr_pro']);
+if (count($user['adr']) == 0) unset($user['adr']);
 $page->assign_by_ref('x', $user);
 
 // alias virtual
@@ -90,4 +151,5 @@ $page->assign('virtualalias', $res->fetchOneCell());
 $page->addJsLink('javascript/close_on_esc.js');
 $page->run();
 
+// vim:set et sws=4 sw=4 sts=4:
 ?>
index 7ccb82c..8dae224 100644 (file)
@@ -158,6 +158,7 @@ function &get_user_details($login, $from_uid = '')
     $reqsql = "SELECT  u.user_id, u.promo, u.prenom, u.nom, u.epouse, u.date, u.cv,
                        u.perms IN ('admin','user') 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,
                        IF(gp.nat='',gp.pays,gp.nat) AS nationalite, gp.a2 AS iso3166,
                        a.alias AS forlife, a2.alias AS bestalias,
                        c.uid IS NOT NULL AS is_contact,
@@ -180,7 +181,8 @@ function &get_user_details($login, $from_uid = '')
 
     $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.cp, e.ville,
-                     gp.pays, gr.name, e.tel, e.fax, e.mobile, e.entrid
+                     gp.pays, gr.name AS region, e.tel, e.fax, e.mobile, e.entrid,
+                     e.pub, e.tel_pub
                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)
@@ -195,7 +197,8 @@ function &get_user_details($login, $from_uid = '')
     $sql  = "SELECT  a.adr1,a.adr2,a.adr3,a.cp,a.ville,
                      gp.pays,gr.name AS region,a.tel,a.fax,
                      FIND_IN_SET('active', a.statut) AS active, a.adrid,
-                     FIND_IN_SET('res-secondaire', a.statut) AS secondaire
+                     FIND_IN_SET('res-secondaire', a.statut) AS secondaire,
+                     a.pub, a.tel_pub
                FROM  adresses AS a
           LEFT JOIN  geoloc_pays AS gp ON (gp.a2=a.pays)
           LEFT JOIN  geoloc_region AS gr ON (gr.a2=a.pays and gr.region=a.region)
index 16cf3b2..5c5420b 100644 (file)
@@ -32,6 +32,7 @@ function chgMainWinLoc( strPage ) {
       <div class="civilite">
         {if $x.sexe}&bull;{/if}
         {$x.prenom} {if $x.epouse eq ""}{$x.nom}{else}{$x.epouse} ({$x.nom}){/if}
+        {min_auth level="cookie"}
         {if $x.nickname} (aka {$x.nickname}){/if}&nbsp;
         <a href="vcard.php/{$x.forlife}.vcf?x={$x.forlife}">
           <img src="images/vcard.png" alt="Afficher la carte de visite" title="Afficher la carte de visite"/>
@@ -50,12 +51,17 @@ function chgMainWinLoc( strPage ) {
           <img src="images/admin.png" alt='admin' title="administrer user" />
         </a>
         {/perms}
+        {/min_auth}
       </div>
+      {min_auth level="cookie"}
       <div class='maj'>
         Fiche mise à jour<br />
         le {$x.date|date_format}
       </div>
+      {/min_auth}
+      {if $logged || $c.mobile}
       <div class="contact">
+        {min_auth level="cookie"}
         <div class='email'>
           {if $x.dcd}
           Décédé{if $x.sexe}e{/if} le {$x.deces|date_format}
@@ -71,26 +77,32 @@ function chgMainWinLoc( strPage ) {
           {/if}
           {/if}
         </div>
+        {/min_auth}
         <div class="mob">
           {if $x.mobile}<em class="intitule">Mobile : </em>{$x.mobile}<br />{/if}
         </div>
         <div class='spacer'></div>
       </div>
+      {/if}
       <div class='formation'>
         {if $x.iso3166}
         <img src='{rel}/images/flags/{$x.iso3166}.gif' alt='{$x.nationalite}' height='14' title='{$x.nationalite}' />&nbsp;
         {/if}
-        X {$x.promo}{if $x.applis_join}&nbsp;-&nbsp;Formation&nbsp;: {$x.applis_join|smarty:nodefaults}{/if}
+        X {$x.promo}{if $x.applis_join}&nbsp;-&nbsp;Formation&nbsp;: {$x.applis_join|smarty:nodefaults} {/if}
+        {min_auth level="cookie"}
         {if $x.is_referent}
         [<a href="fiche_referent.php?user={$x.forlife}" class='popup2'>Ma fiche référent</a>]
         {/if}
+        {/min_auth}
       </div>
     </td>
     <td rowspan="4" id='photo'>
+      {min_auth level="cookie"}
       <img alt="Photo de {$x.forlife}" src="{$photo_url}" width="{$x.x}" height="{$x.y}" />
       {if $x.section}<em class="intitule">Section : </em><span>{$x.section}</span><br />{/if}
       {if $x.binets_join}<em class="intitule">Binet(s) : </em><span>{$x.binets_join}</span><br />{/if}
       {if $x.gpxs_join}<em class="intitule">Groupe(s) X : </em><span>{$x.gpxs_join|smarty:nodefaults}</span><br />{/if}
+      {/min_auth}
       {if $x.web}<em class="intitule">Site Web : </em><a href="{$x.web}" class='popup'>{$x.web}</a>{/if}
       {if $x.freetext}<br /><em class="intitule">Commentaires : </em><br /><span>{$x.freetext|nl2br}</span>{/if}
     </td>
@@ -148,6 +160,7 @@ function chgMainWinLoc( strPage ) {
     </td>
   </tr>
   {/if}
+  {min_auth level="cookie"}
   {if $x.medals}
   <tr>
     <td>
@@ -177,6 +190,7 @@ function chgMainWinLoc( strPage ) {
     </td>
   </tr>
   {/if}
+  {/min_auth}
 </table>
 
 
index bc5a3f6..0cdccd8 100644 (file)
     {min_auth level="cookie"}
     {if !$c.dcd && $c.inscrit}<a href="{"fiche.php"|url}?user={$c.forlife}" class="popup2">{/if}
     {/min_auth}
+    {only_public}
+    {if !$c.dcd && $c.inscrit}<a href="{"fiche.php"|url}?user={$c.user_id}" class="popup2">{/if}
+    {/only_public}
     {if $c.epouse}{$c.epouse} {$c.prenom}<br />(née {$c.nom}){else}{$c.nom} {$c.prenom}{/if}
-    {min_auth level="cookie"}
     {if !$c.dcd && $c.inscrit}</a>{/if}
-    {/min_auth}
   </div>
 
   <div class="appli">