user.php 55.9 KB
Newer Older
Ayolo's avatar
Ayolo committed
1
<?php
2
/* Copyright 2006,2007
Ayolo's avatar
Ayolo committed
3
4
5
6
 *
 * - Maxime Petazzoni < sam at bulix dot org >
 * - Laurent Colnat < laurent dot colnat at utbm dot fr >
 * - Julien Etelain < julien at pmad dot net >
7
 * - Benjamin Collet < bcollet at oxynux dot org >
pedrov's avatar
pedrov committed
8
 * - Pierre Mauduit <pierre dot mauduit at utbm dot fr>
gliss's avatar
fix    
gliss committed
9
 * - Manuel Vonthron <manuel dot vonthron at acadis dot org>
Ayolo's avatar
Ayolo committed
10
 *
Ayolo's avatar
Ayolo committed
11
 * Ce fichier fait partie du site de l'Association des étudiant
Ayolo's avatar
Ayolo committed
12
13
14
 * de l'UTBM, http://ae.utbm.fr.
 *
 * This program is free software; you can redistribute it and/or
Ayolo's avatar
Ayolo committed
15
 * modify it under the terms of the GNU General Public License a
Ayolo's avatar
Ayolo committed
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 * published by the Free Software Foundation; either version 2 of the
 * License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 * 02111-1307, USA.
 */

$topdir = "./";
31
require_once($topdir. "include/site.inc.php");
32
33
34
35
require_once($topdir . "include/cts/special.inc.php");
require_once($topdir . "include/cts/sqltable.inc.php");
require_once($topdir . "include/entities/asso.inc.php");
require_once($topdir . "include/cts/user.inc.php");
Ayolo's avatar
Ayolo committed
36
37
38
39
require_once($topdir . "include/entities/carteae.inc.php");
require_once($topdir . "include/entities/cotisation.inc.php");
require_once($topdir . "include/entities/ville.inc.php");
require_once($topdir . "include/entities/pays.inc.php");
pedrov's avatar
pedrov committed
40
require_once($topdir . "include/entities/edt.inc.php");
gliss's avatar
wip    
gliss committed
41
require_once($topdir . "jobetu/include/jobuser_etu.inc.php");
Ayolo's avatar
Ayolo committed
42
43
44

$site = new site ();
$site->add_css("css/userfullinfo.css");
45

Ayolo's avatar
Ayolo committed
46
47
48
49
50
51
$site->allow_only_logged_users("matmatronch");

if ( isset($_REQUEST['id_utilisateur']) )
{
  $user = new utilisateur($site->db,$site->dbrw);
  $user->load_by_id($_REQUEST["id_utilisateur"]);
52

53
54
  if ( !$user->is_valid() )
    $site->error_not_found("matmatronch");
Ayolo's avatar
Ayolo committed
55

56
57
58
59
  // Peut éditer une fiche:
  // - l'utilisateur en question
  // - les admins (gestion_ae)
  // - les membres du matmatonch qui ont un rôlesupérieur ou à égal à membre actif
Ayolo's avatar
Ayolo committed
60
61
  $can_edit = ( $user->id==$site->user->id || $site->user->is_in_group("gestion_ae") || $site->user->is_asso_role ( 27, 1 ));

62
63
  // Pour accdéder aux fiches matmatronch faut être cotisant, ou être utbm
  // ou vouloir consulter sa propre fiche
mbriand's avatar
mbriand committed
64
  if ( $user->id != $site->user->id && !$site->user->utbm && !$site->user->cotisant)
65
    $site->error_forbidden("matmatronch","group",10001);
66

slopez's avatar
slopez committed
67
  // Si la fiche n'est pas public, et qu'on ne peut pas l'éditer,
68
  // cela veut dire que l'on est i admin, ni l'utilisateur en question
69
  // donc on a pas le droit de la consulter
70
71
  if ( (($user->publique == 0) || ($user->publique == 1 && !$site->user->cotisant)) && !$can_edit )
    $site->error_forbidden("matmatronch","private");
72

Ayolo's avatar
Ayolo committed
73
74
75
76
77
78
79
80
81
82
83
84
85
}
else
{
  $user = &$site->user;
  $can_edit = true;
}

$ville = new ville($site->db);
$pays = new pays($site->db);

$ville_parents = new ville($site->db);
$pays_parents = new pays($site->db);

86
87
// Reinitialisation d'un compte
if ( $_REQUEST['action'] == "reinit" && $site->user->is_in_group("gestion_ae") )
Ayolo's avatar
Ayolo committed
88
89
{
  if ( $GLOBALS["svalid_call"] && ( !empty($user->email_utbm) || !empty($user->email) ) )
90
91
92
93
94
95
96
97
  {
    if ( $user->email_utbm )
      $email = $user->email_utbm;
    else
      $email = $user->email;
    $pass = genere_pass(10);
    $user->invalidate();
    $user->change_password($pass);
98

99
    $user->send_autopassword_email($email,$pass);
100
    $Notice = "Compte re-initialisé";
101
  }
Ayolo's avatar
Ayolo committed
102
}
103
104
// Suppresion d'une participation dans une activité ou association
elseif ( $_REQUEST["action"] == "delete" && $can_edit && isset($_REQUEST["id_membership"]))
Ayolo's avatar
Ayolo committed
105
106
107
108
109
110
111
{
  $_REQUEST["view"]="assos";
  list($id_asso,$date_debut) = explode(",",$_REQUEST["id_membership"]);
  $asso = new asso($site->db,$site->dbrw);
  $asso->load_by_id($id_asso);
  $asso->remove_member($user->id, strtotime($date_debut));
}
112
113
// Passage en ancien membre dans une activité ou association dans la quelle l'utilisateur
// est actuellement membre
Feu's avatar
wip    
Feu committed
114
115
116
117
118
119
120
121
elseif ( $_REQUEST["action"] == "stop" && $can_edit && isset($_REQUEST["id_membership"]))
{
  $_REQUEST["view"]="assos";
  list($id_asso,$date_debut) = explode(",",$_REQUEST["id_membership"]);
  $asso = new asso($site->db,$site->dbrw);
  $asso->load_by_id($id_asso);
  $asso->make_former_member($user->id, time());
}
Ayolo's avatar
Ayolo committed
122
// Sauvgarde des information personelle
Ayolo's avatar
Ayolo committed
123
124
elseif ( $_REQUEST["action"] == "saveinfos" && $can_edit )
{
BenC's avatar
Bugfix    
BenC committed
125
126
  if(empty($_REQUEST["alias"]) || (preg_match("#^([a-z0-9][a-z0-9\.]+[a-z0-9])$#i",$user->alias) && !$site->user->is_in_group("root")))
    $_REQUEST["alias"] = $user->alias;
Ayolo's avatar
svn    
Ayolo committed
127

BenC's avatar
BenC committed
128
  if ( $_REQUEST["alias"] && !preg_match("#^([a-z0-9][a-z0-9\.]+[a-z0-9])$#i",$_REQUEST["alias"]) )
Feu's avatar
Feu committed
129
  {
BenC's avatar
BenC committed
130
    $ErreurMAJ = "Alias invalide, utilisez seulement des caractères alphanumériques, des points (jamais à la fin). L'alias doit avoir au moins trois caractères.";
Feu's avatar
Feu committed
131
132
133
    $_REQUEST["page"] = "edit";
  }
  elseif ( $_REQUEST["alias"] && !$user->is_alias_avaible($_REQUEST["alias"]) )
Ayolo's avatar
Ayolo committed
134
135
136
137
  {
    $ErreurMAJ = "Alias d&eacute;j&agrave;  utilis&eacute;";
    $_REQUEST["page"] = "edit";
  }
BenC's avatar
bleh    
BenC committed
138
139
  elseif ( $_REQUEST['jabber'] && !CheckEmail($_REQUEST['jabber'], 3) )
  {
BenC's avatar
bleh    
BenC committed
140
    $ErreurMAJ = "Adresse jabber invalide.";
BenC's avatar
bleh    
BenC committed
141
142
    $_REQUEST["page"] = "edit";
  }
Ayolo's avatar
Ayolo committed
143
  else
144
145
146
147
  {
    $user->nom = $_REQUEST['nom'];
    $user->prenom = $_REQUEST['prenom'];
    $user->alias = $_REQUEST['alias'];
BenC's avatar
BenC committed
148
149
    if($site->user->is_in_group("gestion_ae") || $site->user->is_asso_role(27,1))
      $user->sexe = $_REQUEST['sexe'];
150
151
152
    $user->date_naissance = $_REQUEST['date_naissance'];
    $user->addresse = $_REQUEST['addresse'];
    if ( $_REQUEST['id_ville'] )
Ayolo's avatar
Ayolo committed
153
    {
154
155
156
157
158
159
160
161
162
163
164
165
      $ville->load_by_id($_REQUEST['id_ville']);
      $user->id_ville = $ville->id;
      $user->id_pays = $ville->id_pays;
    }
    else
    {
      $user->id_ville = null;
      $user->id_pays = $_REQUEST['id_pays'];
    }
    $user->tel_maison = telephone_userinput($_REQUEST['tel_maison']);
    $user->tel_portable = telephone_userinput($_REQUEST['tel_portable']);
    $user->date_maj = time();
166

167
    $user->publique = $_REQUEST["publique"];
168
    $user->publique_mmtpapier = isset($_REQUEST["publique_mmtpapier"]);
Ayolo's avatar
Ayolo committed
169

170
171
172
173
174
175
176
177
178
179
    $user->signature = $_REQUEST['signature'];

    $user->musicien = isset($_REQUEST['musicien']);
    $user->taille_tshirt = $_REQUEST['taille_tshirt'];
    $user->permis_conduire = isset($_REQUEST['permis_conduire']);
    $user->date_permis_conduire = $_REQUEST['date_permis_conduire'];
    $user->hab_elect = isset($_REQUEST['hab_elect']);
    $user->afps = isset($_REQUEST['afps']);
    $user->sst = isset($_REQUEST['sst']);

BenC's avatar
BenC committed
180
    $user->jabber = $_REQUEST['jabber'];
BenC's avatar
BenC committed
181

182
183
184
185
186
187
188
    $req = new requete($site->db,"SELECT mmt_instru_musique.id_instru_musique, ".
      "utl_joue_instru.id_utilisateur ".
      "FROM mmt_instru_musique ".
      "LEFT JOIN utl_joue_instru ".
        "ON (`utl_joue_instru`.`id_instru_musique`=`mmt_instru_musique`.`id_instru_musique`" .
        " AND `utl_joue_instru`.`id_utilisateur`='".$user->id."' )".
      "ORDER BY nom_instru_musique");
189

190
191
192
193
194
195
196
197
198
199
200
201
202
203
    while ( $row = $req->get_row() )
    {
      if ( isset($_REQUEST['instru'][$row['id_instru_musique']]) && is_null($row['id_utilisateur']) )
        $user->add_instrument($row['id_instru_musique']);
      elseif ( !isset($_REQUEST['instru'][$row['id_instru_musique']]) && !is_null($row['id_utilisateur']) )
        $user->delete_instrument($row['id_instru_musique']);
    }

    if ( $user->etudiant || $user->ancien_etudiant )
    {
      $user->citation = $_REQUEST['citation'];
      $user->adresse_parents = $_REQUEST['adresse_parents'];
      $user->tel_parents = telephone_userinput($_REQUEST['tel_parents']);
      $user->nom_ecole_etudiant = $_REQUEST['nom_ecole'];
204

205
      if ( $_REQUEST['id_ville_parents'] )
Ayolo's avatar
Ayolo committed
206
      {
207
208
209
        $ville_parents->load_by_id($_REQUEST['id_ville_parents']);
        $user->id_ville_parents = $ville_parents->id;
        $user->id_pays_parents = $ville_parents->id_pays;
Ayolo's avatar
Ayolo committed
210
      }
211
      else
Ayolo's avatar
Ayolo committed
212
      {
213
214
        $user->id_ville_parents = null;
        $user->id_pays_parents = $_REQUEST['id_pays_parents'];
215
      }
216
217
218
219
220
221
222
223
224
225
    }
    if ( $user->utbm )
    {
      $user->surnom = $_REQUEST['surnom'];
      $user->semestre = $_REQUEST['semestre'];
      $user->role = $_REQUEST['role'];
      $user->departement = $_REQUEST['departement'];
      $user->filiere = $_REQUEST['filiere'];
      $user->promo_utbm = $_REQUEST['promo'];

226
227
      if ( $_REQUEST['date_diplome'] < time()
        && $_REQUEST['date_diplome'] != 0
228
229
230
231
232
233
234
        && $_REQUEST['date_diplome'] != "" )
        $user->date_diplome_utbm = $_REQUEST['date_diplome'];
      else
        $user->date_diplome_utbm = NULL;
    }
    if ($user->saveinfos())
    {
BenC's avatar
BenC committed
235
      if ( $site->user->id != $user->id )
236
        _log($site->dbrw,"Édition d'une fiche matmatronch par un tierce","Fiche matmatronch de ".$user->nom." ".$user->prenom." (id : ".$user->id.") modifiée","Fiche MMT",$site->user);
237
238
      header("Location: ".$topdir."user.php?id_utilisateur=".$user->id);
      exit();
Ayolo's avatar
Ayolo committed
239
    }
240
  }
Ayolo's avatar
Ayolo committed
241
}
242
// Changement de mot de passe
Ayolo's avatar
Ayolo committed
243
244
245
246
247
248
249
elseif ( $_REQUEST["action"] == "changepassword" && $can_edit )
{
  if ( $_REQUEST["ae2_password"] && ($_REQUEST["ae2_password"] == $_REQUEST["ae2_password2"]) )
    $user->change_password($_REQUEST["ae2_password"]);
  else
    $_REQUEST["page"] = "edit";
}
250
// Ajout d'un parrain
Ayolo's avatar
Ayolo committed
251
252
253
254
255
256
elseif ( $_REQUEST["action"] == "addparrain" && $can_edit )
{
  $user2 = new utilisateur($site->db);
  $user2->load_by_id($_REQUEST["id_utilisateur_parrain"]);
  if ( $user2->id > 0 )
    {
257
258
      if ( $user2->id == $user->id )
        $ErreurParrain = "On joue pas au boulet !";
Ayolo's avatar
Ayolo committed
259
      else
260
        $user->add_parrain($user2->id);
Ayolo's avatar
Ayolo committed
261
262
263
264
    }
  else
    $ErreurParrain = "Utilisateur inconnu.";
}
265
// Ajout d'un fillot
Ayolo's avatar
Ayolo committed
266
267
268
269
270
elseif ( $_REQUEST["action"] == "addfillot" && $can_edit )
{
  $user2 = new utilisateur($site->db);
  $user2->load_by_id($_REQUEST["id_utilisateur_fillot"]);
  if ( $user2->id > 0 )
271
272
273
274
275
276
  {
    if ( $user2->id == $user->id )
      $ErreurParrain = "On joue pas au boulet !";
    else
      $user->add_fillot($user2->id);
  }
Ayolo's avatar
Ayolo committed
277
278
279
  else
    $ErreurFillot = "Utilisateur inconnu.";
}
Ayolo's avatar
Ayolo committed
280
// Definition des groupe
Ayolo's avatar
Ayolo committed
281
elseif ( $_REQUEST["action"] == "setgroups" &&
282
283
         (($site->user->is_in_group("gestion_ae") && $site->user->id != $user->id )
         ||$site->user->is_in_group("root")) )
Ayolo's avatar
Ayolo committed
284
285
286
287
288
289
290
291
292
{
  $req = new requete($site->db,
                     "SELECT `groupe`.`id_groupe`, `groupe`.`nom_groupe`, `utl_groupe`.`id_utilisateur` ".
                     "FROM `groupe` " .
                     "LEFT JOIN `utl_groupe` ON (`groupe`.`id_groupe`=`utl_groupe`.`id_groupe` " .
                     " AND `utl_groupe`.`id_utilisateur`='".$user->id."' ) " .
                     "ORDER BY `groupe`.`nom_groupe`");

  while ( $row=$req->get_row())
293
294
295
296
  {
    $new=$_REQUEST["groups"][$row["id_groupe"]]==true;
    $old=$row["id_utilisateur"]!="";
    if ( $new != $old )
Ayolo's avatar
Ayolo committed
297
    {
298
      if ( $new )
299
      {
BenC's avatar
bleh    
BenC committed
300
        if ( ($row["id_groupe"] != 7 && $row["id_groupe"] != 46 && $row["id_groupe"] != 47) || $site->user->is_in_group("root") )
301
        {
302
          $user->add_to_group($row["id_groupe"]);
303
          _log($site->dbrw,"Ajout d'un utilisateur au groupe ". $row["nom_groupe"],"Ajout de l'utilisateur ".$user->nom." ".$user->prenom." (id : ".$user->id.") au groupe ". $row["nom_groupe"] ." (id : ".$row["id_groupe"].")","Groupes",$site->user);
304
        }
305
      }
306
      else
307
      {
BenC's avatar
bleh    
BenC committed
308
        if ( ($row["id_groupe"] != 7 && $row["id_groupe"] != 46 && $row["id_groupe"] != 47) || $site->user->is_in_group("root") )
309
        {
310
          $user->remove_from_group($row["id_groupe"]);
311
          _log($site->dbrw,"Retrait d'un utilisateur du groupe ". $row["nom_groupe"],"Retrait de l'utilisateur ".$user->nom." ".$user->prenom." (id : ".$user->id.") du groupe ". $row["nom_groupe"] ." (id : ".$row["id_groupe"].")","Groupes",$site->user);
312
        }
313
      }
Ayolo's avatar
Ayolo committed
314
    }
315
  }
Ayolo's avatar
Ayolo committed
316
}
Ayolo's avatar
Ayolo committed
317
// Definition des flag
Ayolo's avatar
Ayolo committed
318
elseif ( $_REQUEST["action"] == "setattributes" &&
319
320
         (($site->user->is_in_group("gestion_ae") && $site->user->id != $user->id )
         ||$site->user->is_in_group("root")) )
Ayolo's avatar
Ayolo committed
321
322
{
  if ( isset($_REQUEST["etudiant"]) || isset($_REQUEST["ancien_etudiant"]) )
323
324
325
    $user->became_etudiant (
        is_null($user->nom_ecole_etudiant)?"":$user->nom_ecole_etudiant,
        isset($_REQUEST["ancien_etudiant"]),
Ayolo's avatar
Ayolo committed
326
327
        true );
}
328
329
// Ajout de l'utilisateur comme membre d'une activité ou association
// Vu que cette opération est faite sans contrôle, le seul rôle possible est ROLEASSO_MEMBRE
Ayolo's avatar
Ayolo committed
330
331
332
333
334
335
elseif ( $_REQUEST["action"]=="addme" )
{
  $asso = new asso($site->db,$site->dbrw);
  $asso->load_by_id($_REQUEST["id_asso"]);

  if ( $asso->id > 0 && $asso->id_parent )
336
337
338
339
340
341
  {
    if ( ($_REQUEST["date_debut"] <= time()) && ($_REQUEST["date_debut"] > 0) )
      $asso->add_actual_member ( $user->id, $_REQUEST["date_debut"], ROLEASSO_MEMBRE, $_REQUEST["role_desc"] );
    else
      $ErreurAddMe = "Donn&eacute;es invalides";
  }
Ayolo's avatar
Ayolo committed
342
343
344
345
  else
    $ErreurAddMe = "Non autoris&eacute; sur cette association.";

}
346
// Ajout de l'utilisateur comme ancien membre d'une activité ou association
Ayolo's avatar
Ayolo committed
347
348
349
350
351
352
elseif ( $_REQUEST["action"]=="addmeformer" )
{
  $asso = new asso($site->db,$site->dbrw);
  $asso->load_by_id($_REQUEST["id_asso"]);

  if ( $asso->id > 0 )
353
354
355
356
357
358
359
360
361
362
363
364
  {
    if ($asso->id_parent < 1 && $_REQUEST["role"] < 2)
      $ErreurAddMeFormer = "Non autoris&eacute; sur cette association.";

    elseif ( isset($GLOBALS['ROLEASSO'][$_REQUEST["role"]]) &&
              ($_REQUEST["former_date_debut"] < $_REQUEST["former_date_fin"]) &&
              ($_REQUEST["former_date_fin"] < time()) && ($_REQUEST["former_date_debut"] > 0) )
      $asso->add_former_member ( $user->id, $_REQUEST["former_date_debut"],
                                  $_REQUEST["former_date_fin"], $_REQUEST["role"], $_REQUEST["role_desc"] );
    else
      $ErreurAddMeFormer = "Données invalides";
  }
Ayolo's avatar
Ayolo committed
365
}
366
// Suppression d'un parrain
Ayolo's avatar
Ayolo committed
367
368
369
370
elseif ( $_REQUEST["action"] == "delete" && $_REQUEST["mode"] == "parrain" && $can_edit  )
{
  $user->remove_parrain($_REQUEST["id_utilisateur2"]);
}
371
// Surppression d'un fillot
Ayolo's avatar
Ayolo committed
372
373
374
375
elseif ( $_REQUEST["action"] == "delete" && $_REQUEST["mode"] == "fillot" && $can_edit  )
{
  $user->remove_fillot($_REQUEST["id_utilisateur2"]);
}
376
// Changemement d'adresse e-mail principale
Ayolo's avatar
Ayolo committed
377
378
379
elseif ( $_REQUEST["action"] == "changeemail" && $can_edit  )
{
  if ( !CheckEmail($_POST["email"], 3) )
380
381
382
383
384
  {
    $ErreurMail="Adresse email invalide.";
    $_REQUEST["page"] = "edit";
    $_REQUEST["open"]="email";
  }
Ayolo's avatar
Ayolo committed
385
  else
386
  {
Ayolo's avatar
Ayolo committed
387
    $user->set_email($_POST["email"], $site->user->is_in_group("gestion_ae"));
388

389
390
391
392
393
394
    if ( $site->user->is_in_group("gestion_ae") )
      $Notice = "Adresse e-mail principale modifiée";
    else
    {
      $site->start_page("matmatronch",$user->prenom." ".$user->nom);
      $cts = new contents ($user->prenom . " " . $user->nom );
Ayolo's avatar
Ayolo committed
395

396
      $cts->add_paragraph("Votre adresse e-mail principale a été modifiée");
397

398
399
400
401
402
403
404
      $cts->add_paragraph("Vous allez recevoir un e-mail de vérification à l'adresse ".$_POST["email"].". Vous devrez cliquer sur le lien se trouvant dans cet e-mail piur pouvoir utiliser de nouveau le site.");

      $cts->add_paragraph("Pour plus d'informations, ou si vous ne recevez pas l'email, consultez la documentation : <a href=\"article.php?name=docs:profil\">Documentation : Profil personnel : Questions et problèmes fréquents</a>");

      $site->add_contents($cts);
      $site->end_page();
      exit();
405
    }
406
407
408
  }
}
// Definition ou changement d'adresse e-mail utbm
Ayolo's avatar
Ayolo committed
409
410
411
elseif ( $_REQUEST["action"] == "changeemailutbm" && $can_edit  )
{
  if ( !CheckEmail($_POST["email_utbm"], 1) && !CheckEmail($_POST["email_utbm"], 2) )
412
413
414
415
416
417
418
419
  {
    $ErreurMailUtbm="Adresse email invalide : prenom.nom@utbm.fr ou prenom.nom@assidu-utbm.fr";
    $_REQUEST["page"] = "edit";
    $_REQUEST["open"]="email";
  }
  else
  {
    if ( !$user->utbm )
Ayolo's avatar
Ayolo committed
420
    {
421
422
      $user->became_utbm($_POST["email_utbm"], $site->user->is_in_group("gestion_ae"));
      $lex = "définie";
Ayolo's avatar
Ayolo committed
423
    }
424
    else
Ayolo's avatar
Ayolo committed
425
    {
426
427
      $user->set_email_utbm($_POST["email_utbm"], $site->user->is_in_group("gestion_ae"));
      $lex = "modifiée";
Ayolo's avatar
Ayolo committed
428
    }
429

430
431
432
433
434
435
436
437
    if ( $site->user->is_in_group("gestion_ae") )
      $Notice = "Adresse e-mail utbm $lex";
    else
    {
      $site->start_page("matmatronch",$user->prenom." ".$user->nom);
      $cts = new contents ($user->prenom . " " . $user->nom );

      $cts->add_paragraph("Votre adresse e-mail utbm a été $lex");
438

439
      $cts->add_paragraph("Vous allez recevoir un e-mail de vérification à l'adresse ".$_POST["email"].". Vous devrez cliquer sur le lien se trouvant dans cet e-mail piur pouvoir utiliser de nouveau le site.");
Ayolo's avatar
Ayolo committed
440

441
442
443
444
445
      $cts->add_paragraph("Pour plus d'informations, ou si vous ne recevez pas l'email, consultez la documentation : <a href=\"article.php?name=docs:profil\">Documentation : Profil personnel : Questions et problèmes fréquents</a>");

      $site->add_contents($cts);
      $site->end_page();
      exit();
446
    }
447
448
  }
}
Ayolo's avatar
Ayolo committed
449
450
451
452
453
454
elseif ( $_REQUEST["action"] == "reprint" && $site->user->is_in_group("gestion_ae") )
{
  $carte = new carteae($site->db,$site->dbrw);
  $carte->load_by_utilisateur($user->id);
  $carte->set_state(CETAT_ATTENTE);
}
Sarah's avatar
coin    
Sarah committed
455
456
457
458
459
460
elseif ( $_REQUEST["action"] == "retrait" && $site->user->is_in_group("gestion_ae") )
{
  $carte = new carteae($site->db,$site->dbrw);
  $carte->load_by_utilisateur($user->id);
  $carte->set_state(CETAT_CIRCULATION);
}
Sarah's avatar
Sarah committed
461
462
463
elseif ( $_REQUEST["action"] == "cadeau" && $site->user->is_in_group("gestion_ae") )
{
  $carte = new carteae($site->db,$site->dbrw);
Sarah's avatar
Sarah committed
464
  $cotiz = new cotisation($site->db,$site->dbrw);
Sarah's avatar
Sarah committed
465
  $carte->load_by_utilisateur($user->id);
Sarah's avatar
gnnn    
Sarah committed
466
467
  $cotiz->load_by_id($carte->id_cotisation);
  $cotiz->mark_cadeau();
Sarah's avatar
Sarah committed
468
}
Ayolo's avatar
Ayolo committed
469
470
471
472
elseif ( $_REQUEST["action"] == "serviceident" && $can_edit  )
{
  $user->gen_serviceident();
}
Ayolo's avatar
Ayolo committed
473

474
if ( $_REQUEST["action"] == "setphotos" && $can_edit && is_dir("/var/www/ae/www/ae2/var/img") )
Ayolo's avatar
Ayolo committed
475
{
476
477
478
479
  $dest_idt = "/var/www/ae/www/ae2/var/img/matmatronch/".$user->id.".identity.jpg";
  if ( is_uploaded_file($_FILES['idtfile']['tmp_name'])  )
  {
    $src = $_FILES['idtfile']['tmp_name'];
Feu's avatar
fix    
Feu committed
480
    if ( !file_exists($dest_idt) ||  // S'il n'y a pas de photo
Feu's avatar
fix    
Feu committed
481
482
         ($site->user->is_asso_role ( 27, 1 )) || // ou MMT
         ($site->user->is_in_group("gestion_ae"))) // ou gestion_ae
Ayolo's avatar
Ayolo committed
483
484
485
    {
      exec("/usr/share/php5/exec/convert $src -thumbnail 225x300 $dest_idt");
    }
486
  }
Ayolo's avatar
Ayolo committed
487

488
489
490
491
492
493
494
495
  $dest_mmt = "/var/www/ae/www/ae2/var/img/matmatronch/".$user->id.".jpg";
  if( isset($_REQUEST['delete_mmt']) && file_exists($dest_mmt))
    unlink($dest_mmt);
  if ( is_uploaded_file($_FILES['mmtfile']['tmp_name'])  )
  {
    $src = $_FILES['mmtfile']['tmp_name'];
    exec("/usr/share/php5/exec/convert $src -thumbnail 225x300 $dest_mmt");
  }
496
497

  $dest_idt = "/var/www/ae/www/ae2/var/img/matmatronch/".$user->id.".identity.jpg";
498
  if(isset($_REQUEST['delete_idt']) && file_exists($dest_idt)
499
     && ($site->user->is_asso_role ( 27, 1 )
Ayolo's avatar
bleh    
Ayolo committed
500
   || $site->user->is_in_group("gestion_ae")))
501
    unlink($dest_idt);
502

503
504
  $_REQUEST["page"] = "edit";
  $_REQUEST["open"] = "photo";
Ayolo's avatar
Ayolo committed
505
506
507
508
}

if ( $_REQUEST["action"] == "setblouse" && $can_edit )
{
509
510
511
512
513
514
515
516
517
518
519
520
521
  $dest = "/var/www/ae/www/ae2/var/img/matmatronch/".$user->id.".blouse.jpg";
  $dest_mini = "/var/www/ae/www/ae2/var/img/matmatronch/".$user->id.".blouse.mini.jpg";
  if( isset($_REQUEST['delete_blouse']) && file_exists($dest))
  {
    unlink($dest);
    unlink($dest_mini);
  }
  if ( is_uploaded_file($_FILES['blousefile']['tmp_name'])  )
  {
    $src = $_FILES['blousefile']['tmp_name'];
    exec("/usr/share/php5/exec/convert $src -thumbnail 1600x1600 -quality 80 $dest");
    exec("/usr/share/php5/exec/convert $src -thumbnail 225x300 -quality 90 $dest_mini");
  }
Ayolo's avatar
Ayolo committed
522
523
524
525
  $_REQUEST["page"] = "edit";
  $_REQUEST["open"] = "blouse";
}

526
527
528
if ( $_REQUEST['action'] == 'settrombi' && $can_edit ) {
  require_once ($topdir . 'include/entities/trombino.inc.php');

jlaval's avatar
jlaval committed
529
  $trb = new trombino($site->db, $site->dbrw);
530
  $result = $trb->load_by_id ($user->id);
jlaval's avatar
Pfff    
jlaval committed
531
  $autorisation = $trb->autorisation;
532

jlaval's avatar
jlaval committed
533
  $trb->autorisation = $_REQUEST['autorisation'] == true;
jlaval's avatar
Pfff    
jlaval committed
534
535
536
537
538
539
540
  if ($autorisation) {
    $trb->photo = $_REQUEST['photo'] == true;
    $trb->infos_personnelles = $_REQUEST['infos_personnelles'] == true;
    $trb->famille = $_REQUEST['famille'] == true;
    $trb->associatif = $_REQUEST['associatif'] == true;
    $trb->commentaires = $_REQUEST['commentaires'] == true;
  }
jlaval's avatar
Debug    
jlaval committed
541

jlaval's avatar
Clean    
jlaval committed
542
543
544
545
  if ($result)
    $trb->update();
  else
    $trb->create($user->id);
546
547
548

  $_REQUEST['see'] = 'trombi';
  $_REQUEST['page'] = 'edit';
549
550
}

Ayolo's avatar
Ayolo committed
551
552
553
554
555
556
557
$tabs = $user->get_tabs($site->user);

if ( $_REQUEST["page"] == "edit" && $can_edit )
{
  $site->start_page("matmatronch",$user->prenom." ".$user->nom);

  $user->load_all_extra();
558

Ayolo's avatar
Ayolo committed
559
560
  $ville->load_by_id($user->id_ville);
  $pays->load_by_id($user->id_pays);
561

Ayolo's avatar
Ayolo committed
562
  $cts = new contents($user->prenom." ".$user->nom);
563

Feu's avatar
Feu committed
564
565
566
  // Legacy support
  if ( isset($_REQUEST["open"]) && ( $_REQUEST["open"]=="email" || $_REQUEST["open"]=="emailutbm") )
    $_REQUEST["see"] = "email";
567

Ayolo's avatar
Ayolo committed
568
569
  $cts->add(new tabshead($tabs,$_REQUEST["view"]));

Feu's avatar
Feu committed
570
  $cts->add(new tabshead(array(
Feu's avatar
Feu committed
571
572
573
    array("","user.php?page=edit&id_utilisateur=".$user->id,"Information personnelles"),
    array("email","user.php?see=email&page=edit&id_utilisateur=".$user->id,"Adresses E-Mail"),
    array("passwd","user.php?see=passwd&page=edit&id_utilisateur=".$user->id,"Mot de passe"),
574
575
    array("photos","user.php?see=photos&page=edit&id_utilisateur=".$user->id,"Photo/Avatar/Blouse"),
    array('trombi', 'user.php?see=trombi&page=edit&id_utilisateur='.$user->id,'Trombinoscope')
Feu's avatar
Feu committed
576
577
578
579
580
581
582
583
584
585
    ),
    isset($_REQUEST["see"])?$_REQUEST["see"]:"","","subtab"));

  if ( !isset($_REQUEST["see"]) || empty($_REQUEST["see"]) )
  {
    $frm = new form("infoperso","user.php?id_utilisateur=".$user->id,true,"POST","Informations personelles");
    $frm->add_hidden("action","saveinfos");
    if ( $ErreurMAJ )
      $frm->error($ErreurMAJ);
    if ($site->user->is_asso_role ( 27, 1 ) || $site->user->is_in_group("gestion_ae") )
Ayolo's avatar
svn    
Ayolo committed
586
587
588
589
     {
      $frm->add_text_field("nom","Nom",$user->nom,true,false,false,true);
      $frm->add_text_field("prenom","Prenom",$user->prenom,true,false,false,true);
    }
Feu's avatar
Feu committed
590
    else
Ayolo's avatar
svn    
Ayolo committed
591
592
593
594
595
596
597
    {
      $frm->add_text_field("nom","Nom",$user->nom,true,false,false,false);
      $frm->add_text_field("prenom","Prenom",$user->prenom,true,false,false,false);
      $frm->add_hidden("nom", $user->nom);
      $frm->add_hidden("prenom", $user->prenom);
    }

598
599
600
601
602
603
    $req = new requete($site->db,"SELECT `id_utilisateur` FROM `svn_member_depot` WHERE `id_utilisateur`='".$user->id."'");
    if($req->lines != 0 && $site->user->is_in_group("root"))
      $can_edit_alias = false;
    else
      $can_edit_alias = true;

BenC's avatar
BenC committed
604
    if (empty($user->alias) || !preg_match("#^([a-z0-9][a-z0-9\.]+[a-z0-9])$#i",strtolower($user->alias)))
Ayolo's avatar
svn    
Ayolo committed
605
606
      $frm->add_text_field("alias","Alias",$user->alias);
    else // seul root a le droit de modifier l'alias s'il est déjà renseigné
607
      $frm->add_text_field("alias","Alias",$user->alias,false,false,false,$can_edit_alias);
Ayolo's avatar
svn    
Ayolo committed
608

BenC's avatar
BenC committed
609
    $frm->add_text_field("jabber","Jabber/Google Talk",$user->jabber);
BenC's avatar
BenC committed
610

Feu's avatar
Feu committed
611
612
    if ( $user->utbm )
      $frm->add_text_field("surnom","Surnom (utbm)",$user->surnom);
BenC's avatar
BenC committed
613
    $frm->add_select_field("sexe","Sexe",array(1=>"Homme",2=>"Femme"),$user->sexe,false,false,($site->user->is_in_group("gestion_ae") || $site->user->is_asso_role(27,1)));
Feu's avatar
Feu committed
614
    $frm->add_date_field("date_naissance","Date de naissance",$user->date_naissance);
615

Feu's avatar
Feu committed
616
    $frm->add_select_field("taille_tshirt","Taille de t-shirt (non publié***)",array(0=>"-",
617
618
      "XS"=>"XS","S"=>"S","M"=>"M","L"=>"L","XL"=>"XL","XXL"=>"XXL","XXXL"=>"XXXL"),$user->taille_tshirt);

Feu's avatar
Feu committed
619
    if ( $user->utbm )
Ayolo's avatar
Ayolo committed
620
    {
Feu's avatar
Feu committed
621
622
      $frm->add_select_field("role","Role",$GLOBALS["utbm_roles"],$user->role);
      $frm->add_select_field("departement","Departement",$GLOBALS["utbm_departements"],$user->departement);
623

Feu's avatar
Feu committed
624
      $frm->add_text_field("semestre","Semestre",$user->semestre);
Ayolo's avatar
Ayolo committed
625
    }
626

Feu's avatar
Feu committed
627
628
    // Permis de conduire
    $subfrm = new form("permis_conduire",null,null,null,"Permis de conduire (informations non publiées**)");
629
    $subfrm->add_date_field("date_permis_conduire","Date d'obtention (non publiée)", $user->date_permis_conduire);
630
631
    $frm->add ( $subfrm, true, false, $user->permis_conduire, false, false, true );

Feu's avatar
Feu committed
632
633
634
635
636
637
638
639
640
641
    // Musicien
    $subfrm = new form("musicien",null,null,null,"Musicien");
    $req = new requete($site->db,"SELECT mmt_instru_musique.id_instru_musique, ".
      "mmt_instru_musique.nom_instru_musique, ".
      "utl_joue_instru.id_utilisateur ".
      "FROM mmt_instru_musique ".
      "LEFT JOIN utl_joue_instru ".
        "ON (`utl_joue_instru`.`id_instru_musique`=`mmt_instru_musique`.`id_instru_musique`" .
        " AND `utl_joue_instru`.`id_utilisateur`='".$user->id."' )".
      "ORDER BY nom_instru_musique");
642

Feu's avatar
Feu committed
643
644
645
    while ( $row = $req->get_row() )
      $subfrm->add_checkbox("instru[".$row['id_instru_musique']."]",$row['nom_instru_musique'], !is_null($row['id_utilisateur']));
    $frm->add ( $subfrm, true, false, $user->musicien, false, false, true );
646

Feu's avatar
Feu committed
647
    $subfrm1 = new form("infocontact",null,null,null,"Adresse et téléphone");
648

Feu's avatar
Feu committed
649
    $subfrm1->add_text_field("addresse","Adresse",$user->addresse);
650

Feu's avatar
Feu committed
651
    $subfrm1->add_entity_smartselect ("id_pays","ou pays", $pays,true);
mbriand's avatar
bleh    
mbriand committed
652
    $subfrm1->add_entity_smartselect ("id_ville","Ville", $ville,true,false,array('id_pays'=>'id_pays_id'),true);
653

Feu's avatar
Feu committed
654
655
656
    $subfrm1->add_text_field("tel_maison","Telephone (fixe)",$user->tel_maison);
    $subfrm1->add_text_field("tel_portable","Telephone (portable)",$user->tel_portable);
    $frm->add ( $subfrm1, false, false, false, false, false, true, false );
657

Feu's avatar
Feu committed
658
    if ( $user->etudiant || $user->ancien_etudiant )
Ayolo's avatar
Ayolo committed
659
    {
Feu's avatar
Feu committed
660
      $ville_parents->load_by_id($user->id_ville_parents);
661
662
      $pays_parents->load_by_id($user->id_pays_parents);

Feu's avatar
Feu committed
663
664
665
666
      $subfrm2 = new form("infoextra",null,null,null,"Informations suppl&eacute;mentaires");
      $subfrm2->add_text_field("citation","Citation",$user->citation,false,"60");
      $subfrm2->add_text_field("nom_ecole","Ecole",$user->nom_ecole_etudiant);
      $frm->add ( $subfrm2, false, false, false, false, false, true, false );
667

Feu's avatar
Feu committed
668
669
      $subfrm3 = new form("infoparents",null,null,null,"Informations sur les parents");
      $subfrm3->add_text_field("adresse_parents","Adresse parents",$user->adresse_parents);
670

Feu's avatar
Feu committed
671
      $subfrm3->add_entity_smartselect ("id_pays_parents","ou pays parents", $pays_parents,true);
Ayolo's avatar
bleh    
Ayolo committed
672
      $subfrm3->add_entity_smartselect ("id_ville_parents","Ville parents", $ville_parents,true,false,array('id_pays'=>'id_pays_parents_id'),true);
673

Feu's avatar
Feu committed
674
675
      $subfrm3->add_text_field("tel_parents","T&eacute;l&eacute;phone parents",$user->tel_parents);
      $frm->add ( $subfrm3, false, false, false, false, false, true, false );
Ayolo's avatar
Ayolo committed
676
    }
677

Feu's avatar
Feu committed
678
679
680
    if ( $user->utbm )
    {
      $subfrm4 = new form("infoutbm",null,null,null,"Informations UTBM");
681

Feu's avatar
Feu committed
682
      $subfrm4->add_text_field("filiere","Filiere",$user->filiere);
683

684
      $subfrm4->add_select_field("promo","Promo",$user->liste_promos("-"),$user->promo_utbm);
Feu's avatar
Feu committed
685
686
687
      $subfrm4->add_date_field("date_diplome","Date d'obtention du diplome",($user->date_diplome_utbm!=NULL)?$user->date_diplome_utbm:null);
      $frm->add ( $subfrm4, false, false, false, false, false, true, false );
    }
Feu's avatar
Feu committed
688

689
690


Feu's avatar
Feu committed
691
692
693
694
695
    $subfrm = new form(null,null,null,null,"Habilitations (informations non publiées**)");
    $subfrm->add_checkbox ( "hab_elect", "Habilitation électrique", $user->hab_elect );
    $subfrm->add_checkbox ( "afps", "Attestation de Formation aux Permiers Secours (AFPS)", $user->afps );
    $subfrm->add_checkbox ( "sst", "Sauveteur Secouriste du Travail (SST)", $user->sst );
    $frm->add ( $subfrm, false, false, false, false, false, true, false );
696
697

    //signature
Feu's avatar
Feu committed
698
    $frm->add_text_area("signature","Signature (forum)",$user->signature);
699

700
701
702
703
704
705
    $frm->add_radiobox_field ( "publique", "Publicité de mon profil",
      array(2=>"Permettre à tous les membres de l'AE, de l'utbm ou anciens de l'utbm de voir mon profil",
            1=>"Limiter l'accès à mon profil aux membres de l'AE",
            0=>"Ne pas rendre mon profil publique"),
      $user->publique );

Feu's avatar
Feu committed
706
    $frm->add_checkbox ( "publique_mmtpapier", "Autoriser la publication de mon profil dans le matmatronch papier.", $user->publique_mmtpapier );
707

Feu's avatar
Feu committed
708
709
    $frm->add_submit("save","Enregistrer");
    $cts->add($frm,true);
710

Feu's avatar
Feu committed
711
    $cts->add_paragraph("** Ces informations ne seront pas rendues publiques, elles pourrons être utilisées pour pouvoir vous contacter si l'association recherche des bénévoles particuliers.");
Feu's avatar
Feu committed
712
    $cts->add_paragraph("*** La taille de t-shirt est collectée à des fins statistiques, pour commander le nombre de t-shirt par taille au plus juste pour le cadeau offert avec une cotisation, ou lors des différents évenements.");
Feu's avatar
Feu committed
713
    $cts->add_paragraph("&nbsp;");
714

Feu's avatar
Feu committed
715
716
717
718
719
    $cts->add(new itemlist("Modification des autres informations",false,array(
    "<a href=\"user.php?see=email&amp;page=edit&amp;id_utilisateur=".$user->id."\">Adresses e-mail (personelle et utbm)</a>",
    "<a href=\"user.php?see=passwd&amp;page=edit&amp;id_utilisateur=".$user->id."\">Mot de passe</a>",
    "<a href=\"user.php?see=photos&amp;page=edit&amp;id_utilisateur=".$user->id."\">Photo d'identité, avatar et blouse</a>"
    )),true);
720
721

  }
Feu's avatar
Feu committed
722
  elseif ( $_REQUEST["see"] == "email" )
Ayolo's avatar
Ayolo committed
723
724
  {

725
    $frm = new form("changeemail","user.php?id_utilisateur=".$user->id,true,"POST","Adresse email principale");
Feu's avatar
Feu committed
726
727
728
    if ( $ErreurMail )
      $frm->error($ErreurMail);
    $frm->add_hidden("action","changeemail");
gliss's avatar
gliss committed
729
    $frm->add_info("<b>Attention:</b> Votre compte sera d&eacute;sactiv&eacute; et votre session sera ferm&eacute;e jusqu'&agrave; validation du lien qui vous sera envoye par email &agrave; l'adresse que vous pr&eacute;ciserez !");
730

Feu's avatar
Feu committed
731
732
    $frm->add_text_field("email","Adresse email",$user->email,true);
    $frm->add_submit("save","Enregistrer");
Feu's avatar
Feu committed
733
    $cts->add($frm,true);
734

Feu's avatar
fix    
Feu committed
735
    $cts->add_paragraph("<b>Remarque:</b> Votre adresse e-mail principale est utilisée pour les mailing listes. Si vous changer votre adresse, les mailing listes seront mises à jours au bout de 60 minutes environs.");
736
    $cts->add_paragraph("<b>Attention:</b> Pour envoyer des messages sur les mailing listes vous devez le faire depuis votre adresse e-mail principale.");
737

Feu's avatar
Feu committed
738
739
740
741
    $frm = new form("changeemailutbm","user.php?id_utilisateur=".$user->id,true,"POST","Adresse email UTBM ou ASSIDU");
    if ( $ErreurMailUtbm )
      $frm->error($ErreurMailUtbm);
    $frm->add_hidden("action","changeemailutbm");
gliss's avatar
gliss committed
742
    $frm->add_info("<b>Attention:</b> Votre compte sera d&eacute;sactiv&eacute; et votre session sera ferm&eacute;e jusqu'&agrave; validation du lien qui vous sera envoye par email &agrave; l'adresse que vous pr&eacute;ciserez !");
Feu's avatar
Feu committed
743
    $frm->add_text_field("email_utbm","Adresse email",$user->email_utbm?$user->email_utbm:"prenom.nom@utbm.fr",true);
744

Feu's avatar
Feu committed
745
    $frm->add_submit("save","Enregistrer");
Feu's avatar
Feu committed
746
    $cts->add($frm,true);
Ayolo's avatar
Ayolo committed
747

748
  }
Feu's avatar
Feu committed
749
750
  elseif ( $_REQUEST["see"] == "passwd" )
  {
Ayolo's avatar
Ayolo committed
751

Feu's avatar
Feu committed
752
753
754
755
756
    $frm = new form("changepassword","user.php?id_utilisateur=".$user->id,true,"POST","Changer de mot de passe");
    $frm->add_hidden("action","changepassword");
    $frm->add_password_field("ae2_password","Mot de passe","",true);
    $frm->add_password_field("ae2_password2","Repetez le mot de passe","",true);
    $frm->add_submit("save","Enregistrer");
Feu's avatar
Feu committed
757
    $cts->add($frm,true);
758
759

  }
Feu's avatar
Feu committed
760
  elseif ( $_REQUEST["see"] == "photos" )
Ayolo's avatar
Ayolo committed
761
  {
Feu's avatar
Feu committed
762
763
764

    $frm = new form("setphotos","user.php?id_utilisateur=".$user->id."#setphotos",true,"POST","Changer mes photos persos");
    $frm->add_hidden("action","setphotos");
765

Feu's avatar
Feu committed
766
767
    $subfrm = new form("mmt",null,null,null,"Avatar");
    if ( file_exists( $topdir."var/img/matmatronch/".$user->id.".jpg") )
768
769
    {
      $subfrm->add_info("<img src=\"".$topdir."var/img/matmatronch/".$user->id.".jpg?".filemtime($topdir."var/img/matmatronch/".$user->id.".jpg")."\" alt=\"\" width=\"100\" /><br/>");
Feu's avatar
Feu committed
770
    }
771
772
    $subfrm->add_file_field ( "mmtfile", "Fichier" );
    $subfrm->add_checkbox("delete_mmt","Supprimer mon avatar");
Feu's avatar
Feu committed
773
    $frm->add ( $subfrm );
774

Feu's avatar
Feu committed
775
    $subfrm = new form("idt",null,null,null,"Photo identit&eacute; (carte AE et matmatronch)");
776

Feu's avatar
Feu committed
777
778
779
    if ( file_exists( $topdir."var/img/matmatronch/".$user->id.".identity.jpg") )
    {
      $subfrm->add_info("<img src=\"".$topdir."var/img/matmatronch/".$user->id.".identity.jpg?".filemtime($topdir."var/img/matmatronch/".$user->id.".identity.jpg")."\" alt=\"\" width=\"100\" /><br/>");
780

Feu's avatar
Feu committed
781
      if ($site->user->is_asso_role ( 27, 1 ) || $site->user->is_in_group("gestion_ae"))
782
      {
Feu's avatar
Feu committed
783
        $subfrm->add_file_field ( "idtfile", "Fichier" );
784
785
        $carte = new carteae($site->db);
        $carte->load_by_utilisateur($site->user->id);
786
        // feature request tatid : suppression de la photo d'identité
Ayolo's avatar
bleh    
Ayolo committed
787
788
        //if ( !$carte->is_validcard() )
        $subfrm->add_checkbox("delete_idt","Supprimer la photo d'identit&eacute;");
789
      }
Feu's avatar
Feu committed
790
791
    }
    else
mbriand's avatar
bleh...    
mbriand committed
792
    {
Ayolo's avatar
Ayolo committed
793
      $subfrm->add_file_field ( "idtfile", "Fichier" );
mbriand's avatar
bleh...    
mbriand committed
794
795
      $subfrm->add_info("Vous devez être reconnaissable sur la photo. Dans le cas contraire, celle-ci sera supprimée.");
    }
796

Feu's avatar
Feu committed
797
798
    $frm->add ( $subfrm );
    $frm->add_submit("save","Enregistrer");
799

Feu's avatar
Feu committed
800
    $cts->add($frm,true);
801

Feu's avatar
Feu committed
802
803
804
    $frm = new form("setblouse","user.php?id_utilisateur=".$user->id."#setblouse",true,"POST","Changer la photo de ma blouse");
    $frm->add_hidden("action","setblouse");
    $subfrm = new form("blouse",null,null,null,"Photo de la blouse");
805

Feu's avatar
Feu committed
806
807
    if ( file_exists( $topdir."var/img/matmatronch/".$user->id.".blouse.mini.jpg") )
      $subfrm->add_info("<img src=\"".$topdir."var/img/matmatronch/".$user->id.".blouse.mini.jpg\" alt=\"\" width=\"100\" /><br/>");
808

Feu's avatar
Feu committed
809
810
811
812
    $subfrm->add_file_field ( "blousefile", "Fichier" );
    $subfrm->add_checkbox("delete_blouse","Supprimer la photo de ma blouse");
    $frm->add ( $subfrm );
    $frm->add_submit("save","Enregistrer");
813

Feu's avatar
Feu committed
814
    $cts->add($frm,true);
Ayolo's avatar
Ayolo committed
815
  }
816
817
818
  elseif ( $_REQUEST['see'] == 'trombi' ) {
    require_once($topdir . 'include/entities/trombino.inc.php');

jlaval's avatar
jlaval committed
819
    $cts->add_paragraph('Grâce à cette page, vous pouvez modifier les options de confidentialité associées à votre profil Matmatronch qui seront utilisées pour la création du trombino papier de votre promo');
820

jlaval's avatar
jlaval committed
821
    $trb = new trombino ($site->db, $site->dbrw);
822
823
824
825
826
    $result = $trb->load_by_id($user->id);
    $autorisation = $result ? $trb->autorisation : false;

    $frm = new form('settrombi', 'user.php?id_utilisateur='.$user->id, true, 'POST', 'Changer mes paramètres du trombino');
    $frm->add_hidden('action', 'settrombi');
jlaval's avatar
jlaval committed
827
    $frm->add_info('<h4>Autorisation</h4>');
jlaval's avatar
jlaval committed
828
    $frm->add_checkbox('autorisation', 'Publier mon profil Matmatronch dans le trombino de promo (nom et prénom au minimum)', $autorisation);
jlaval's avatar
jlaval committed
829
    $frm->add_info('<h4>Options de confidentialité</h4>');
mbriand's avatar
mbriand committed
830
    $frm->add_info("Note : il est nécessaire d'enregistrer votre autorisation de publication dans le trombino de promo pour pouvoir modifier ces paramètres");
831
    $frm->add_checkbox('photo', 'Autoriser ma photo d\'identité à apparaitre', $trb->photo, !$autorisation);
jlaval's avatar
jlaval committed
832
    $frm->add_checkbox('infos_personnelles', 'Autoriser mes informations personnelles à apparaitre (date de naissance, email, ...)', $trb->infos_personnelles, !$autorisation);
833
834
835
836
837
838
839
    $frm->add_checkbox('famille', 'Autoriser la mention de mes parrain(e)(s)/fillot(e)(s)', $trb->famille, !$autorisation);
    $frm->add_checkbox('associatif', 'Autoriser mon parcours associatif à apparaitre', $trb->associatif, !$autorisation);
    $frm->add_checkbox('commentaires', 'Autoriser les commentaires de mon profil à apparaitre', $trb->commentaires, !$autorisation);
    $frm->add_submit('save', 'Enregistrer');

    $cts->add($frm);
  }
840

Ayolo's avatar
Ayolo committed
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
  $site->add_contents($cts);
  $site->end_page();
  exit();
}

$site->start_page("matmatronch", $user->prenom . " " . $user->nom );

$cts = new contents ($user->prenom . " " . $user->nom );

$cts->add(new tabshead($tabs,$_REQUEST["view"]));

if ( $_REQUEST["view"]=="parrain" )
{
  $cts->add_paragraph("<a href=\"family.php?id_utilisateur=".$user->id."\">".
                      "Arbre g&eacute;n&eacute;alogique parrains/fillots</a>");

  $req = new requete($site->db,
858
859
860
861
862
863
    "SELECT `utilisateurs`.`id_utilisateur` AS `id_utilisateur2`, " .
    "IF(utl_etu_utbm.surnom_utbm!='' AND utl_etu_utbm.surnom_utbm IS NOT NULL,utl_etu_utbm.surnom_utbm, CONCAT(`utilisateurs`.`prenom_utl`,' ',`utilisateurs`.`nom_utl`)) as `nom_utilisateur2` " .
    "FROM `parrains` " .
    "INNER JOIN `utilisateurs` ON `utilisateurs`.`id_utilisateur`=`parrains`.`id_utilisateur` " .
    "LEFT JOIN `utl_etu_utbm` ON `utl_etu_utbm`.`id_utilisateur`=`utilisateurs`.`id_utilisateur` ".
    "WHERE `parrains`.`id_utilisateur_fillot`='".$user->id."'");
Ayolo's avatar
Ayolo committed
864
865

  $tbl = new sqltable(
866
867
868
869
870
871
    "listasso",
    "Parrain(s)/Marraine(s)", $req, "user.php?view=parrain&mode=parrain&id_utilisateur=".$user->id,
    "id_utilisateur2",
    array("nom_utilisateur2"=>"Parrain/Marraine"),
    array("delete"=>"Enlever"), array(), array( )
    );
Ayolo's avatar
Ayolo committed
872
873
874
  $cts->add($tbl,true);

  $req = new requete($site->db,
875
876
877
878
879
880
    "SELECT `utilisateurs`.`id_utilisateur` AS `id_utilisateur2`, " .
    "IF(utl_etu_utbm.surnom_utbm!='' AND utl_etu_utbm.surnom_utbm IS NOT NULL,utl_etu_utbm.surnom_utbm, CONCAT(`utilisateurs`.`prenom_utl`,' ',`utilisateurs`.`nom_utl`)) as `nom_utilisateur2` " .
    "FROM `parrains` " .
    "INNER JOIN `utilisateurs` ON `utilisateurs`.`id_utilisateur`=`parrains`.`id_utilisateur_fillot` " .
    "LEFT JOIN `utl_etu_utbm` ON `utl_etu_utbm`.`id_utilisateur`=`utilisateurs`.`id_utilisateur` ".
    "WHERE `parrains`.`id_utilisateur`='".$user->id."'");
Ayolo's avatar
Ayolo committed
881
882

  $tbl = new sqltable(
883
884
885
886
887
888
    "listasso",
    "Fillot(s)/Fillote(s)", $req, "user.php?view=parrain&mode=fillot&id_utilisateur=".$user->id,
    "id_utilisateur2",
    array("nom_utilisateur2"=>"Fillot/Fillote"),
    array("delete"=>"Enlever"), array(), array( )
    );
Ayolo's avatar
Ayolo committed
889
890
891
892
893
894
895
896
897
898
  $cts->add($tbl,true);

  if ( $can_edit )
  {
    $frm = new form("addparrain","user.php?view=parrain&id_utilisateur=".$user->id,true,"POST","Ajouter un parrain/une marraine");
    $frm->add_hidden("action","addparrain");
    if ( $ErreurParrain ) $frm->error($ErreurParrain);
    $frm->add_user_fieldv2("id_utilisateur_parrain","Parrain");
    $frm->add_submit("addresp","Ajouter");
    $cts->add($frm,true);
899
900


Ayolo's avatar
Ayolo committed
901
902
903
904
905
906
907
908
909
    $frm = new form("addfillot","user.php?view=parrain&id_utilisateur=".$user->id,true,"POST","Ajouter un fillot/une fillote");
    $frm->add_hidden("action","addfillot");
    if ( $ErreurFillot ) $frm->error($ErreurFillot);
    $frm->add_user_fieldv2("id_utilisateur_fillot","Fillot");
    $frm->add_submit("addresp","Ajouter");
    $cts->add($frm,true);
  }

}
pedrov's avatar
pedrov committed
910

gliss's avatar
wip    
gliss committed
911
elseif ( $_REQUEST["view"]=="pedagogie" )
pedrov's avatar
pedrov committed
912
{
gliss's avatar
wip    
gliss committed
913
  require_once($topdir."pedagogie/include/pedag_user.inc.php");
gliss's avatar
bleh    
gliss committed
914
  require_once($topdir."pedagogie/include/pedagogie.inc.php");
mbriand's avatar
mbriand committed
915
  $site->add_js("pedagogie/pedagogie.js");
gliss's avatar
wip    
gliss committed
916
917
918
919
920
921
  $p_user = new pedag_user($site->db);
  $p_user->load_by_id($user->id);

  $tab = array();
  $edts = $p_user->get_edt_list();
  if(!empty($edts))
922
  {
gliss's avatar
wip    
gliss committed
923
    foreach($edts as $edt)
pedrov's avatar
pedrov committed
924
    {
gliss's avatar
wip    
gliss committed
925
926
927
      $tab[$edt]['semestre'] = $edt;
      $tab[$edt]['semestre_bold'] = "<b>".$edt."</b>";
      $i=0;
gliss's avatar
bleh    
gliss committed
928
      foreach($p_user->get_edt_detail($edt) as $uv){
gliss's avatar
wip    
gliss committed
929
930
931
        $tab[$edt]['code_'.++$i] = $uv['code'];
        $tab[$edt]['id_uv_'.$i] = $uv['id_uv'];
      }
pedrov's avatar
pedrov committed
932
    }
gliss's avatar
wip    
gliss committed
933
  }
pedrov's avatar
pedrov committed
934

gliss's avatar
wip    
gliss committed
935
936
937
  if(count($tab) > 1)
    sort_by_semester($tab, 'semestre');

gliss's avatar
wip    
gliss committed
938
  $cts->add(new sqltable("edtlist", "Liste des emplois du temps", $tab, $topdir."pedagogie/edt.php?id_utilisateur=".$user->id, 'semestre',
gliss's avatar
wip    
gliss committed
939
940
941
942
943
944
945
946
947
948
949
950
951
                          array("semestre_bold"=>"Semestre",
                                "code_1" => "UV 1",
                                "code_2" => "UV 2",
                                "code_3" => "UV 3",
                                "code_4" => "UV 4",
                                "code_5" => "UV 5",
                                "code_6" => "UV 6",
                                "code_7" => "UV 7"),
                          array("view" => "Voir détails",
                                "print" => "Format imprimable",
                                "schedule" => "Format iCal"),
                          array(), array(), false), true);

mbriand's avatar
mbriand committed
952
953
954
  if ($site->user->id == $user->id)
    $cts->add_paragraph("<input type=\"submit\" class=\"isubmit\" "
                        ."value=\"+ Ajouter un emploi du temps\" "
mbriand's avatar
mbriand committed
955
                        ."onclick=\"edt.add('pedagogie/');\" "
mbriand's avatar
mbriand committed
956
957
                        ."name=\"add_edt\" id=\"add_edt\"/>");

958
  /**
Ayolo's avatar
Ayolo committed
959
   * Affichage des CV
gliss's avatar
wip    
gliss committed
960
961
   */
  $cts->add_title(2, "CVs");
gliss's avatar
wip    
gliss committed
962
  $jobuser = new jobuser_etu($site->db);
gliss's avatar
fix    
gliss committed
963
  $jobuser->load_by_id( $user->id );
gliss's avatar
fix    
gliss committed
964
  if( $jobuser->is_jobetu_user() )
gliss's avatar
wip    
gliss committed
965
  {
gliss's avatar
gliss committed
966
967
968
                if($jobuser->load_pdf_cv() &&  $jobuser->public_cv)
                {
                        $i18n = array("ar" => "Arabe",
gliss's avatar
wip    
gliss committed
969
970
971
972
973
974
975
976
977
                                      "cn" => "Chinois",
                                      "de" => "Allemand",
                                      "en" => "Anglais",
                                      "es" => "Espagnol",
                                      "fr" => "Français",
                                      "it" => "Italien",
                                      "kr" => "Coréen",
                                      "pt" => "Portugais"
                                      );
gliss's avatar
gliss committed
978
979
980
981
982
983
984
985
986

                        $lst = new itemlist(sizeof($jobuser->pdf_cvs) . " CV(s) disponible(s)");
                        foreach($jobuser->pdf_cvs as $cv)
                                $lst->add("<img src=\"$topdir/images/i18n/$cv.png\" />&nbsp; <a href=\"". $topdir . "var/cv/". $jobuser->id . "." . $cv .".pdf\"> CV en ". $i18n[ $cv ] ."</a>");

                        $cts->add($lst);
                }else{
                        $cts->add_paragraph("<p>Cet utilisateur n'a pas mis de CV en ligne ou n'a pas souhaité qu'ils soient publics</b>");
                }
gliss's avatar
wip    
gliss committed
987
  }else{
gliss's avatar
gliss committed
988
                $cts->add_paragraph("<p>Cet utilisateur n'a pas activé son compte Jobetu</b>");
gliss's avatar
wip    
gliss committed
989
  }
pedrov's avatar
pedrov committed
990

pedrov's avatar
pedrov committed
991
}
Ayolo's avatar
Ayolo committed
992
993
994
995
996
elseif ( $_REQUEST["view"]=="assos" )
{

  /* Associations en cours */
  $req = new requete($site->db,
997
998
999
1000
1001
1002
1003
1004
    "SELECT `asso`.`id_asso`, `asso`.`nom_asso`, " .
    "IF(`asso`.`id_asso_parent` IS NULL,`asso_membre`.`role`+100,`asso_membre`.`role`) AS `role`, ".
    "`asso_membre`.`date_debut`, `asso_membre`.`desc_role`, " .
    "CONCAT(`asso`.`id_asso`,',',`asso_membre`.`date_debut`) as `id_membership` " .
    "FROM `asso_membre` " .
    "INNER JOIN `asso` ON `asso`.`id_asso`=`asso_membre`.`id_asso` " .
    "WHERE `asso_membre`.`id_utilisateur`='".$user->id."' " .
    "AND `asso_membre`.`date_fin` is NULL " .
BenC's avatar