dynamap pas obligatoire
[platal.git] / htdocs / fiche.php
1 <?php
2 /***************************************************************************
3 * Copyright (C) 2003-2004 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 require_once("xorg.inc.php");
24 new_simple_page('fiche.tpl', AUTH_PUBLIC);
25 require_once('user.func.inc.php');
26
27 if (!Env::has('user') && !Env::has('mat')) {
28 $page->kill("cette page n'existe pas");
29 }
30
31 if (Env::has('user')) {
32 $login = get_user_forlife(Env::get('user'));
33 if ($login === false) {
34 $page->kill("");
35 }
36 }
37
38 if (Env::has('mat')) {
39 $res = $globals->xdb->query(
40 "SELECT alias
41 FROM aliases AS a
42 INNER JOIN auth_user_md5 AS u ON (a.id=u.user_id AND a.type='a_vie')
43 WHERE matricule={?}", Env::getInt('mat'));
44 $login = $res->fetchOneCell();
45 if (empty($login)) {
46 $page->kill("cette page n'existe pas");
47 }
48 }
49
50 $new = Env::get('modif') == 'new';
51 $user = get_user_details($login, Session::getInt('uid'));
52 $title = $user['prenom'] . ' ' . empty($user['nom_usage']) ? $user['nom'] : $user['nom_usage'];
53 $page->assign('xorg_title', $title);
54
55 // photo
56
57 $photo = 'getphoto.php?x='.$user['forlife'].($new ? '&amp;req=true' : '');
58
59 if(!isset($user['y']) and !isset($user['x'])) {
60 list($user['x'], $user['y']) = getimagesize("images/none.png");
61 }
62 if(!isset($user['y']) or $user['y'] < 1) $user['y']=1;
63 if(!isset($user['x']) or $user['x'] < 1) $user['x']=1;
64 if($user['x'] > 240){
65 $user['y'] = (integer)($user['y']*240/$user['x']);
66 $user['x'] = 240;
67 }
68 if($user['y'] > 300){
69 $user['x'] = (integer)($user['x']*300/$user['y']);
70 $user['y'] = 300;
71 }
72 if($user['x'] < 160){
73 $user['y'] = (integer)($user['y']*160/$user['x']);
74 $user['x'] = 160;
75 }
76
77 // manage the public fiche
78 $page->assign('logged', logged() && !Env::has('public'));
79 if (!logged() || Env::has('public')) {
80 // hide the orange status
81 $user['promo_sortie'] = $user['promo'] + 3;
82 if ($user['mobile_pub'] != 'public') $user['mobile'] = '';
83 if ($user['web_pub'] != 'public') $user['web'] = '';
84 if ($user['freetext_pub'] != 'public') $user['freetext'] = '';
85 foreach ($user['adr'] as $i=>$adr) {
86 foreach ($adr['tels'] as $j=>$tel) {
87 if ($tel['tel_pub'] != 'public')
88 unset($user['adr'][$i]['tels'][$j]);
89 }
90 if (($adr['pub'] != 'public') && (count($user['adr'][$i]['tels']) == 0))
91 unset($user['adr'][$i]);
92 elseif ($adr['pub'] != 'public') {
93 $user['adr'][$i]['adr1'] = '';
94 $user['adr'][$i]['adr2'] = '';
95 $user['adr'][$i]['adr3'] = '';
96 $user['adr'][$i]['city'] = '';
97 $user['adr'][$i]['postcode'] = '';
98 $user['adr'][$i]['region'] = '';
99 $user['adr'][$i]['regiontxt'] = '';
100 $user['adr'][$i]['country'] = '00';
101 $user['adr'][$i]['countrytxt'] = '';
102 }
103 }
104 foreach ($user['adr_pro'] as $i=>$adr) {
105 if ($adr['pub'] != 'public' && $adr['tel_pub'] != 'public' && $adr['adr_pub'] != 'public' && $adr['email_pub'] != 'public')
106 unset($user['adr_pro'][$i]);
107 else {
108 if ($adr['adr_pub'] != 'public') {
109 $user['adr_pro'][$i]['adr1'] = '';
110 $user['adr_pro'][$i]['adr2'] = '';
111 $user['adr_pro'][$i]['adr3'] = '';
112 $user['adr_pro'][$i]['city'] = '';
113 $user['adr_pro'][$i]['postcode'] = '';
114 $user['adr_pro'][$i]['region'] = '';
115 $user['adr_pro'][$i]['country'] = '00';
116 $user['adr_pro'][$i]['countrytxt'] = '';
117 }
118 if ($adr['pub'] != 'public') {
119 $user['adr_pro'][$i]['entreprise'] = '';
120 $user['adr_pro'][$i]['secteur'] = '';
121 $user['adr_pro'][$i]['fonction'] = '';
122 $user['adr_pro'][$i]['poste'] = '';
123 }
124 if ($adr['tel_pub'] != 'public') {
125 $user['adr_pro'][$i]['tel'] = '';
126 $user['adr_pro'][$i]['fax'] = '';
127 $user['adr_pro'][$i]['mobile'] = '';
128 }
129 if ($adr['email_pub'] != 'public') {
130 $user['adr_pro'][$i]['email'] = '';
131 }
132 }
133 }
134 if ($user['medals_pub'] != 'public') {
135 unset($user['medals']);
136 }
137 if ($user['photo_pub'] != 'public') {
138 $photo = "";
139 }
140 }
141 foreach($user['adr_pro'] as $i=>$pro) {
142 if ($pro['entreprise'] == '' && $pro['fonction'] == ''
143 && $pro['secteur'] == '' && $pro['poste'] == ''
144 && $pro['adr1'] == '' && $pro['adr2'] == '' && $pro['adr3'] == ''
145 && $pro['postcode'] == '' && $pro['city'] == '' && $pro['country'] == '00'
146 && $pro['tel'] == '' && $pro['fax'] == '' && $pro['mobile'] == ''
147 && $pro['email'] == '')
148 unset($user['adr_pro'][$i]);
149 }
150 if (count($user['adr_pro']) == 0) unset($user['adr_pro']);
151 if (count($user['adr']) == 0) unset($user['adr']);
152 $page->assign_by_ref('x', $user);
153
154 $page->assign('photo_url', $photo);
155 // alias virtual
156 $res = $globals->xdb->query(
157 "SELECT alias
158 FROM virtual
159 INNER JOIN virtual_redirect USING(vid)
160 INNER JOIN auth_user_quick ON ( user_id = {?} AND emails_alias_pub = 'public' )
161 WHERE ( redirect={?} OR redirect={?} )
162 AND alias LIKE '%@{$globals->mail->alias_dom}'",
163 Session::getInt('uid'), $user['forlife'].'@'.$globals->mail->domain, $user['forlife'].'@'.$globals->mail->domain2);
164 $page->assign('virtualalias', $res->fetchOneCell());
165
166 $page->addJsLink('javascript/close_on_esc.js');
167 $page->run();
168
169 // vim:set et sws=4 sw=4 sts=4:
170 ?>