init
[garradin.git] / www / admin / membres / cat_modifier.php
1 <?php
2 namespace Garradin;
3
4 require_once __DIR__ . '/../_inc.php';
5
6 if ($user['droits']['membres'] < Membres::DROIT_ADMIN)
7 {
8 throw new UserException("Vous n'avez pas le droit d'accéder à cette page.");
9 }
10
11 $cats = new Membres_Categories;
12
13 if (empty($_GET['id']) || !is_numeric($_GET['id']))
14 {
15 throw new UserException("Argument du numéro de catégorie manquant.");
16 }
17
18 $id = (int) $_GET['id'];
19
20 $cat = $cats->get($id);
21
22 if (!$cat)
23 {
24 throw new UserException("Cette catégorie n'existe pas.");
25 }
26
27 $error = false;
28
29 if (!empty($_POST['save']))
30 {
31 if (!utils::CSRF_check('edit_cat_'.$id))
32 {
33 $error = 'Une erreur est survenue, merci de renvoyer le formulaire.';
34 }
35 else
36 {
37 try {
38 $cats->edit($id, [
39 'nom' => utils::post('nom'),
40 'description' => utils::post('description'),
41 'droit_wiki' => (int) utils::post('droit_wiki'),
42 'droit_compta' => (int) utils::post('droit_compta'),
43 'droit_config' => (int) utils::post('droit_config'),
44 'droit_membres' => (int) utils::post('droit_membres'),
45 'droit_connexion' => (int) utils::post('droit_connexion'),
46 'droit_inscription' => (int) utils::post('droit_inscription'),
47 'cacher' => (int) utils::post('cacher'),
48 'id_cotisation_obligatoire' => (int) utils::post('id_cotisation_obligatoire'),
49 ]);
50
51 if ($id == $user['id_categorie'])
52 {
53 $membres->updateSessionData();
54 }
55
56 utils::redirect('/admin/membres/categories.php');
57 }
58 catch (UserException $e)
59 {
60 $error = $e->getMessage();
61 }
62 }
63 }
64
65 $tpl->assign('cat', $cat);
66 $tpl->assign('error', $error);
67
68 $cotisations = new Cotisations;
69 $tpl->assign('cotisations', $cotisations->listCurrent());
70
71 $tpl->display('admin/membres/cat_modifier.tpl');
72
73 ?>