init
[garradin.git] / www / admin / membres / ajouter.php
1 <?php
2 namespace Garradin;
3
4 require_once __DIR__ . '/../_inc.php';
5
6 if ($user['droits']['membres'] < Membres::DROIT_ECRITURE)
7 {
8 throw new UserException("Vous n'avez pas le droit d'accéder à cette page.");
9 }
10
11 $cats = new Membres_Categories;
12 $champs = $config->get('champs_membres');
13
14 $error = false;
15
16 if (!empty($_POST['save']))
17 {
18 if (!utils::CSRF_check('new_member'))
19 {
20 $error = 'Une erreur est survenue, merci de renvoyer le formulaire.';
21 }
22 elseif (utils::post('passe') != utils::post('repasse'))
23 {
24 $error = 'La vérification ne correspond pas au mot de passe.';
25 }
26 else
27 {
28 try
29 {
30 if ($user['droits']['membres'] == Membres::DROIT_ADMIN)
31 {
32 $id_categorie = utils::post('id_categorie');
33 }
34 else
35 {
36 $id_categorie = $config->get('categorie_membres');
37 }
38
39 $data = ['id_categorie' => $id_categorie];
40
41 foreach ($champs->getAll() as $key=>$dismiss)
42 {
43 $data[$key] = utils::post($key);
44 }
45
46 $id = $membres->add($data);
47
48 utils::redirect('/admin/membres/fiche.php?id='.(int)$id);
49 }
50 catch (UserException $e)
51 {
52 $error = $e->getMessage();
53 }
54 }
55 }
56
57 $tpl->assign('error', $error);
58 $tpl->assign('passphrase', utils::suggestPassword());
59 $tpl->assign('champs', $champs->getAll());
60
61 $tpl->assign('membres_cats', $cats->listSimple());
62 $tpl->assign('current_cat', utils::post('id_categorie') ?: $config->get('categorie_membres'));
63
64 $tpl->display('admin/membres/ajouter.tpl');
65
66 ?>