a1a2e5841dad7b7fa9ff56aa0c66182b5f508ca5
[platal.git] / templates / profile / profile.tpl
1 {**************************************************************************}
2 {*                                                                        *}
3 {*  Copyright (C) 2003-2010 Polytechnique.org                             *}
4 {*  http://opensource.polytechnique.org/                                  *}
5 {*                                                                        *}
6 {*  This program is free software; you can redistribute it and/or modify  *}
7 {*  it under the terms of the GNU General Public License as published by  *}
8 {*  the Free Software Foundation; either version 2 of the License, or     *}
9 {*  (at your option) any later version.                                   *}
10 {*                                                                        *}
11 {*  This program is distributed in the hope that it will be useful,       *}
12 {*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *}
13 {*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *}
14 {*  GNU General Public License for more details.                          *}
15 {*                                                                        *}
16 {*  You should have received a copy of the GNU General Public License     *}
17 {*  along with this program; if not, write to the Free Software           *}
18 {*  Foundation, Inc.,                                                     *}
19 {*  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA               *}
20 {*                                                                        *}
21 {**************************************************************************}
22
23 {literal}
24 <script type="text/javascript">//<![CDATA[
25 function chgMainWinLoc(strPage)
26 {
27   strPage = platal_baseurl + strPage;
28   if (parent.opener) {
29     try {
30       parent.opener.document.location = strPage;
31       window.close();
32     } catch(e) {
33       window.open(strPage);
34     }
35   } else {
36     document.location = strPage;
37   }
38 }
39 //]]></script>
40 {/literal}
41
42 <div id="fiche">
43   <div id="photo" class="part">
44     {assign var=photo value=$profile->getPhoto(false)}
45     {if $photo}<img alt="Photo de {$profile->fullName()}" src="photo/{$profile->hrid()}" width="{$photo->width()}"/>{/if}
46
47     {if $logged && ( $profile->section|smarty:nodefaults || $profile->getBinets()|smarty:nodefaults || ($owner && $owner->groups()|smarty:nodefaults))}
48       <h2>À l'X&hellip;</h2>
49       {if $profile->section}<div><em class="intitule">Section&nbsp;: </em><span>{$profile->section}</span></div>{/if}
50
51       {assign var=binets value=$profile->getBinets()}
52       {if $binets|@count}<div><em class="intitule">Binet{if count($binets) > 1}s{/if}&nbsp;: </em>
53       <span>{', '|implode:$profile->getBinetsNames()}</span></div>{/if}
54
55       {if $owner}
56         {assign var=groups value=$owner->groupNames(true)}
57         {if $groups|@count}<div><em class="intitule">Groupe{if count($groups) > 1}s{/if} et institution{if count($groups) > 1}s{/if} X&nbsp;: </em>
58         <span><br/>
59         {foreach from=$groups item=group key=gk}{if $gk != 0}, {/if}<span title="{$group.nom}"><a href="{$group.site}">{$group.nom}</a></span>{/foreach}
60         </span></div>{/if}
61       {/if}
62
63     {/if}
64
65     {assign var=networking value=$profile->getNetworking(0)}
66     {if count($networking) > 0}
67       <h2>Sur le web...</h2>
68       {foreach from=$networking item=network}
69         <img style="width: auto; padding: 0" src="profile/networking/{$network.network_type}" alt="{$network.name}" title="{$network.name}"/>
70         {if $network.filter == 'web'}
71           <a href="{$network.address}">{$network.address}</a>
72         {elseif $network.link != ''}
73           <a href="{$network.link}">{$network.address}</a>
74         {else}
75           {$network.address}
76         {/if}
77         <br/>
78       {/foreach}
79     {/if}
80
81     {if $profile->freetext}
82       <h2>Commentaires&nbsp;:</h2>
83       <span>{$profile->freetext|miniwiki|smarty:nodefaults}</span>
84     {/if}
85
86   </div>
87
88   <div id="fiche_identite" class="part">
89     <div class="civilite">
90       {if $profile->isFemale()}&bull;{/if}
91         <span {if $profile->name_tooltip neq ""}class="hinted" title="{$profile->name_tooltip}"{/if}>{$profile->shortName()}</span>
92       {if $logged}
93         {if $profile->nickname} (alias {$profile->nickname}){/if}
94       {/if}
95
96       {if $logged}
97         &nbsp;{if !$profile->isDead()}<a href="vcard/{$owner->login()}.vcf">{*
98           *}{icon name=vcard title="Afficher la carte de visite"}</a>{/if}
99
100         {if !$smarty.session.user->isContact($profile)}
101         <a href="javascript:chgMainWinLoc('carnet/contacts?action=ajouter&amp;user={$owner->login()}&amp;token={xsrf_token}')">
102           {icon name=add title="Ajouter à mes contacts"}</a>
103         {else}
104         <a href="javascript:chgMainWinLoc('carnet/contacts?action=retirer&amp;user={$owner->login()}&amp;token={xsrf_token}')">
105           {icon name=cross title="Retirer de mes contacts"}</a>
106         {/if}
107
108         {if hasPerm('admin')}
109         <a href="javascript:chgMainWinLoc('admin/user/{$owner->login()}')">
110           {icon name=wrench title="administrer user"}</a>
111         {/if}
112
113         {if $owner->login() eq $smarty.session.hruid}
114         <a href="javascript:chgMainWinLoc('profile/edit')">{icon name="user_edit" title="Modifier ma fiche"}</a>
115         {/if}
116
117       {/if}
118     </div>
119
120     {if $logged}
121     <div class='maj'>
122       Fiche mise à jour<br />
123       le {$profile->last_change|date_format}
124     </div>
125     {/if}
126
127     {assign var=phones value=$profile->getPhones(0)}
128     {if $logged || count($phones) > 0}
129     <div class="contact">
130       {if $logged}
131       <div class='email'>
132         {if $profile->isDead()}
133         Décédé{if $profile->isFemale()}e{/if} le {$profile->deathdate|date_format}
134         {elseif $owner && $owner->lost}
135         Ce{if $profile->isFemale()}tte{/if} camarade n'a plus d'adresse de redirection valide,<br />
136         <a href="marketing/broken/{$owner->login()}" class="popup">clique ici si tu connais son adresse email&nbsp;!</a>
137         {elseif $owner && $owner->state != 'active'}
138         Cette personne n'est pas inscrite à Polytechnique.org,<br />
139         <a href="marketing/public/{$owner->login()}" class="popup">clique ici si tu connais son adresse email&nbsp;!</a>
140         {else}
141         {if $virtualalias}
142         <a href="mailto:{$virtualalias}">{$virtualalias}</a><br />
143         {/if}
144         <a href="mailto:{$owner->bestEmail()}">{$owner->bestEmail()}</a>
145         {if $owner->bestEmail() neq $owner->forlifeEmail()}<br />
146         <a href="mailto:{$owner->forlifeEmail()}">{$owner->forlifeEmail()}</a>
147         {/if}
148         {/if}
149       </div>
150       {/if}
151       {if count($phones) > 0}
152       <div style="float: right">
153         {display_phones tels=$phones dcd=$profile->isDead()}
154       </div>
155       {/if}
156       <div class='spacer'></div>
157     </div>
158     {/if}
159
160     <div class='formation'>
161       {foreach from=$profile->nationalities() item=nat}
162         <img src='images/flags/{$nat}.gif' alt='{$nat}' height='11' title='{$nat}' />&nbsp;
163       {/foreach}
164
165       {$profile->promo()}
166
167       {if $logged && $profile->mentor_expertise}
168       [<a href="referent/{$profile->hrid()}" class='popup2'>Ma fiche référent</a>]
169       {/if}
170
171       {assign var=educations value=$profile->getEducations(32)}
172       {if count($educations) > 0}
173         &nbsp;-&nbsp;Formation&nbsp;:
174         <ul>
175         {foreach from=$educations item=edu}
176           <li>{display_education edu=$edu profile=$profile}</li>
177         {/foreach}
178         </ul>
179       {/if}
180
181       {assign var=corps value=$profile->getCorps()}
182       {if $corps && ($corps->current || $corps->original)}
183       <ul>
184         {if $corps->current}
185           <li>Corps actuel&nbsp;: {$corps->current_name} {$corps->current_rank}
186         {/if}
187         {if $corps->original}
188           <li>Corps d'origine&nbsp;: {$corps->original_name}
189         {/if}
190       </ul>
191       {/if}
192
193     </div>
194   </div>
195
196   {assign var=addr value=$profile->getAddresses(3)}
197   {if count($addr) > 0}
198   <div class="part">
199     <h2>Contact&nbsp;: </h2>
200     {if $profile->isDead()}
201       {assign var=address_name value="Dernière adresse"}
202     {else}
203       {assign var=address_name value="Adresse"}
204     {/if}
205     {foreach from=$addr item="address" name=addresses}
206       {if $smarty.foreach.addresses.iteration is even}
207         {assign var=pos value="right"}
208       {else}
209         {assign var=pos value="left"}
210       {/if}
211       {if $address->hasFlag('current')}
212       {include file="geoloc/address.tpl" address=$address titre_div=true titre=$address_name|@cat:" actuelle&nbsp;:"
213                for="`$profile->firstname` `$profile->lastname`" pos=$pos}
214       {elseif $address->hasFlag('secondary')}
215       {include file="geoloc/address.tpl" address=$address titre_div=true titre=$address_name|@cat:" secondaire&nbsp;:"
216                for="`$profile->firstname` `$profile->lastname`" pos=$pos}
217       {else}
218       {include file="geoloc/address.tpl" address=$address titre_div=true titre=$address_name|@cat:" principale&nbsp;:"
219                for="`$profile->firstname` `$profile->lastname`" pos=$pos}
220       {/if}
221       {if $smarty.foreach.addresses.iteration is even}<div class="spacer"></div>{/if}
222     {/foreach}
223   </div>
224   {/if}
225
226   {assign var=jobs value=$profile->getJobs(2)}
227   {if count($jobs) > 0}
228   <div class="part">
229     <h2>Informations professionnelles&nbsp;:</h2>
230     {foreach from=$jobs item="job" key="i"}
231       {if $i neq 0}<hr />{/if}
232       {include file="include/emploi.tpl" job=$job}
233       {if $job->address()}
234         {include file="geoloc/address.tpl" address=$job->address titre="Adresse&nbsp;: " for=$job->company->name pos="left"}
235       {/if}
236       <div class="spacer">&nbsp;</div>
237     {/foreach}
238   </div>
239   {/if}
240
241   {assign var=medals value=$profile->getMedals()}
242   {if count($medals) > 0}
243     <div class="part">
244       <h2>Distinctions&nbsp;: </h2>
245       {foreach from=$medals item=m}
246       <div class="medal_frame">
247         <img src="profile/medal/thumb/{$m.mid}" height="50px" alt="{$m.text}" title="{$m.text}" style='float: left;' />
248         <div class="medal_text">
249           {$m.text}<br />{$m.grade}
250         </div>
251       </div>
252       {/foreach}
253       <div class="spacer">&nbsp;</div>
254     </div>
255   {/if}
256
257   {if $logged && $profile->cv}
258   <div class="part">
259     <h2>Curriculum Vitae&nbsp;:</h2>
260     {$profile->cv|miniwiki:title|smarty:nodefaults}
261   </div>
262   {/if}
263
264   {if $view eq 'public'}
265   <div class="part">
266     <small>
267     Cette fiche est publique et visible par tout internaute,<br />
268     vous pouvez aussi voir <a href="profile/private/{$profile->hrid()}?display=light">celle&nbsp;réservée&nbsp;aux&nbsp;X</a>.
269     </small>
270   </div>
271   {elseif $view eq 'ax'}
272   <div class="part">
273     <small>
274     Cette fiche est privée et ne recense que les informations transmises à l'AX.
275     </small>
276   </div>
277   {/if}
278
279   <div class="spacer"></div>
280 </div>
281
282 {* vim:set et sw=2 sts=2 sws=2 enc=utf-8: *}