init
[garradin.git] / www / admin / mes_infos.php
1 <?php
2 namespace Garradin;
3
4 require_once __DIR__ . '/_inc.php';
5
6 $membre = $membres->getLoggedUser();
7
8 if (!$membre)
9 {
10 throw new UserException("Ce membre n'existe pas.");
11 }
12
13 $error = false;
14
15 if (!empty($_POST['save']))
16 {
17 if (!utils::CSRF_check('edit_me'))
18 {
19 $error = 'Une erreur est survenue, merci de renvoyer le formulaire.';
20 }
21 elseif (utils::post('passe') != utils::post('repasse'))
22 {
23 $error = 'La vérification ne correspond pas au mot de passe.';
24 }
25 else
26 {
27 try {
28 $data = [];
29
30 foreach ($config->get('champs_membres')->getAll() as $key=>$c)
31 {
32 if (!empty($c['editable']))
33 {
34 $data[$key] = utils::post($key);
35 }
36 }
37
38 $membres->edit($membre['id'], $data, false);
39 $membres->updateSessionData();
40
41 utils::redirect('/admin/');
42 }
43 catch (UserException $e)
44 {
45 $error = $e->getMessage();
46 }
47 }
48 }
49
50 $tpl->assign('error', $error);
51 $tpl->assign('passphrase', utils::suggestPassword());
52 $tpl->assign('champs', $config->get('champs_membres')->getAll());
53
54 $tpl->assign('membre', $membre);
55
56 $tpl->display('admin/mes_infos.tpl');
57
58 ?>