1 {**************************************************************************}
3 {* Copyright (C) 2003-2014 Polytechnique.org *}
4 {* http://opensource.polytechnique.org/ *}
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. *}
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. *}
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 *}
21 {**************************************************************************}
24 <script type="text/javascript">//<![CDATA[
25 function chgMainWinLoc(strPage)
27 strPage = $.plURL(strPage);
30 parent.opener.document.location = strPage;
36 document.location = strPage;
45 <div id="photo" class="part">
46 {assign var=photo value=$profile->getPhoto(false)}
47 {if $photo}<img alt="Photo de {$profile->fullName()}" src="photo/{$profile->hrid()}{if $with_pending_pic}/req{/if}" width="{$photo->width()}"/>{/if}
49 {if $logged && $view->isVisible(#Visibility::EXPORT_AX#) && ( $profile->section|smarty:nodefaults || $profile->getBinets()|smarty:nodefaults || ($owner && $owner->groups(true,true)|smarty:nodefaults))}
50 <h2>À l'X…</h2>
51 {if $profile->section}<div><em class="intitule">Section : </em><span>{$profile->section}</span></div>{/if}
53 {assign var=binets value=$profile->getFullBinets()}
54 {if $binets|@count}<div><em class="intitule">Binet{if count($binets) > 1}s{/if} : </em>
56 {foreach from=$binets item=binet name=binets}
57 {if !$smarty.foreach.binets.first}, {/if}
58 <span title="{$binet.text}">{if $binet.url}<a href="{$binet.url}">{/if}{$binet.text}{if $binet.url}</a>{/if}</span>
62 {if $owner && $view->isVisible(#Visibility::EXPORT_AX#)}
63 {assign var=groups value=$owner->groups(true,true)}
64 {if $groups|@count}<div><em class="intitule">Groupe{if count($groups) > 1}s{/if} et institution{if count($groups) > 1}s{/if} X : </em>
66 {foreach from=$groups item=group name=groups}
67 {if !$smarty.foreach.groups.first}, {/if}
68 <span title="{$group.nom}"><a href="{if $group.site}{$group.site}{else}http://www.polytechnique.net/{$group.diminutif}{/if}">{$group.nom}</a></span>
75 {assign var=networking value=$profile->getNetworking(#Profile::NETWORKING_ALL#)}
76 {if count($networking) > 0}
77 <h2>Sur le web...</h2>
78 {foreach from=$networking item=network}
79 <img style="width: auto; padding: 0" src="profile/networking/{$network.nwid}" alt="{$network.name}" title="{$network.name}"/>
81 <a href="{$network.link|replace:'%s':$network.address}">{$network.address}</a>
89 {assign var=hobbies value=$profile->getHobbies()}
90 {if count($hobbies) > 0}
92 {foreach from=$hobbies key=type item=text}
93 <div><em class="intitule">{$type} : </em>{$text}</div>
97 {if $profile->freetext}
98 <h2>Commentaires :</h2>
99 <span>{$profile->freetext|miniwiki|smarty:nodefaults}</span>
104 <div id="fiche_identite" class="part">
105 <div class="civilite">
106 {if $profile->isFemale()}•{/if}
107 {if $view->isVisible(#Visibility::EXPORT_PRIVATE#)}{$profile->private_name}{else}{$profile->public_name}{/if}
108 {if $logged && ( hasPerm('admin') || $smarty.session.user->canEdit($profile)) && $view->isVisible(#Visibility::EXPORT_PRIVATE#)}
109 <span title="Identifiant AX, uniquement visible par les administrateurs du site" style="font-weight:normal;font-style:italic;"> ({$profile->ax_id})</span>
113 {if !$profile->isDead()}<a href="vcard/{$owner->login()}.vcf">{*
114 *}{icon name=vcard title="Afficher la carte de visite"}</a>{/if}
116 {if !$smarty.session.user->isContact($profile)}
117 <a href="javascript:chgMainWinLoc('carnet/contacts?action=ajouter&user={$owner->login()}&token={xsrf_token}')">
118 {icon name=add title="Ajouter à mes contacts"}</a>
120 <a href="javascript:chgMainWinLoc('carnet/contacts?action=retirer&user={$owner->login()}&token={xsrf_token}')">
121 {icon name=cross title="Retirer de mes contacts"}</a>
124 {if hasPerm('admin')}
125 <a href="javascript:chgMainWinLoc('admin/user/{$owner->login()}')">
126 {icon name=wrench title="administrer user"}</a>
129 {if $smarty.session.user->isMyProfile($profile)}
130 <a href="javascript:chgMainWinLoc('profile/edit')">{icon name="user_edit" title="Modifier ma fiche"}</a>
131 {elseif hasPerm('admin') || $smarty.session.user->canEdit($profile)}
132 <a href="javascript:chgMainWinLoc('profile/edit/{$profile->hrpid}')">
133 {icon name=user_edit title="modifier la fiche"}
139 {if $logged && $view->isVisible(#Visibility::EXPORT_AX#) && $owner && $owner->state eq 'active'}
141 Fiche mise à jour<br />
142 le {$profile->last_change|date_format}
146 {* 121634816 is Profile::PHONE_LINK_PROFILE | Profile::PHONE_TYPE_ANY = 0x7400000 *}
147 {assign var=phones value=$profile->getPhones(121634816)}
148 {if ($logged && $view->isVisible(#Visibility::EXPORT_AX#)) || count($phones) > 0}
149 <div class="contact">
150 {if $logged && $view->isVisible(#Visibility::EXPORT_AX#)}
152 {if $profile->isDead()}
153 Décédé{if $profile->isFemale()}e{/if} le {$profile->deathdate|date_format}
154 {elseif $owner && $owner->lost}
155 Ce{if $profile->isFemale()}tte{/if} camarade n'a plus d'adresse de redirection valide,<br />
156 <a href="marketing/broken/{$owner->login()}" class="popup">clique ici si tu connais son adresse email !</a>
157 {elseif $owner && $owner->state != 'active'}
158 Cette personne n'est pas inscrite à Polytechnique.org,<br />
159 <a href="marketing/public/{$owner->login()}" class="popup">clique ici si tu connais son adresse email !</a>
161 {if $virtualalias && $view->isVisible(#Visibility::EXPORT_PRIVATE#) && $virtualalias neq $owner->bestEmail()}
162 <a href="mailto:{$virtualalias}">{$virtualalias}</a><br />
164 <a href="mailto:{$owner->bestEmail()}">{$owner->bestEmail()}</a>
165 {if $owner->bestEmail() neq $owner->forlifeEmail()}<br />
166 <a href="mailto:{$owner->forlifeEmail()}">{$owner->forlifeEmail()}</a>
171 {if count($phones) > 0}
172 <div style="float: right">
173 {display_phones tels=$phones dcd=$profile->isDead()}
176 <div class='spacer'></div>
179 <div class='spacer'></div>
182 <div class='formation'>
183 {foreach from=$profile->nationalities() item=country key=code}
184 <img src='images/flags/{$code}.gif' alt='{$code}' height='11' title='{$country}' />
187 {$profile->promo('details')}
189 {if $logged && $view->isVisible(#Visibility::EXPORT_AX#) && $profile->mentor_expertise}
190 [<a href="referent/{$profile->hrid()}" class='popup2'>Ma fiche référent</a>]
193 {assign var=educations value=$profile->getEducations(32)}
194 {if count($educations) > 0}
196 {foreach from=$educations item=edu}
197 <li>{display_education edu=$edu profile=$profile full=true}</li>
202 {assign var=corps value=$profile->getCorps()}
203 {if $corps && ($corps->current || $corps->original)}
207 Corps actuel : {$corps->current_name}
208 {if $corps->current_rank}({$corps->current_rank}){/if}
211 {if $corps->current != $corps->original && $corps->original}
212 <li>Corps d'origine : {$corps->original_name}</li>
220 {assign var=addr value=$profile->getAddresses(3)}
221 {if count($addr) > 0}
223 <h2>Contact : </h2>
224 {if $profile->isDead()}
225 {assign var=address_name value="Dernière adresse"}
227 {assign var=address_name value="Adresse"}
229 {foreach from=$addr item="address" name=addresses}
230 {if $smarty.foreach.addresses.iteration is even}
231 {assign var=pos value="right"}
233 {assign var=pos value="left"}
235 {if $address->hasFlag('current')}
236 {include file="geoloc/address.tpl" address=$address titre_div=true titre=$address_name|@cat:" actuelle :"
237 for="`$profile->firstname` `$profile->lastname`" pos=$pos phones=null}
238 {elseif $address->hasFlag('secondary')}
239 {include file="geoloc/address.tpl" address=$address titre_div=true titre=$address_name|@cat:" secondaire :"
240 for="`$profile->firstname` `$profile->lastname`" pos=$pos phones=null}
242 {include file="geoloc/address.tpl" address=$address titre_div=true titre=$address_name|@cat:" principale :"
243 for="`$profile->firstname` `$profile->lastname`" pos=$pos phones=null}
245 {if $smarty.foreach.addresses.iteration is even}<div class="spacer"></div>{/if}
250 {assign var=jobs value=$profile->getJobs(2)}
251 {if count($jobs) > 0}
253 <h2>Informations professionnelles :</h2>
254 {foreach from=$jobs item="job" key="i"}
255 {if $i neq 0}<hr />{/if}
256 {include file="include/emploi.tpl" job=$job}
257 {assign var=jobPhones value=$job->phones()}
259 {include file="geoloc/address.tpl" address=$job->address() titre="Adresse : " for=$job->company->name pos="left" phones=$jobPhones}
260 {elseif $jobPhones|@count neq 0}
261 {display_phones tels=$jobPhones}
263 <div class="spacer"> </div>
268 {assign var=medals value=$profile->getMedals()}
269 {if count($medals) > 0}
271 <h2>Distinctions : </h2>
272 {foreach from=$medals item=m}
273 <div class="medal_frame">
274 <img src="profile/medal/thumb/{$m.mid}" height="50px" alt="{$m.text}" title="{$m.text}" style='float: left;' />
275 <div class="medal_text">
276 {$m.text}{if $m.level} ({$m.level}){/if}<br />{$m.grade}
280 <div class="spacer"> </div>
284 {if $logged && $profile->cv}
286 <h2>Curriculum Vitae :</h2>
287 {$profile->cv|miniwiki:title|smarty:nodefaults}
291 {if $view->level() eq #Visibility::VIEW_PUBLIC#}
294 Cette fiche est publique et visible par tout internaute,<br />
295 vous pouvez aussi voir <a href="profile/private/{$profile->hrid()}?display=light">celle réservée aux X</a>.
298 {elseif $view->level() eq #Visibility::VIEW_AX#}
301 Cette fiche est privée et ne recense que les informations transmises à l'AX.
306 <div class="spacer"></div>
309 {* vim:set et sw=2 sts=2 sws=2 fenc=utf-8: *}