init
[garradin.git] / www / admin / membres / action.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 if (empty($_POST['selected']))
12 {
13 throw new UserException("Aucun membre sélectionné.");
14 }
15
16 foreach ($_POST['selected'] as &$id)
17 {
18 $id = (int) $id;
19
20 // On ne permet pas d'action collective sur l'utilisateur courant pour éviter les risques
21 // d'erreur genre "oh je me suis supprimé du coup j'ai plus accès à rien"
22 if ($id == $user['id'])
23 {
24 throw new UserException("Il n'est pas possible de se modifier ou supprimer soi-même.");
25 }
26 }
27
28 $error = false;
29
30 if (!empty($_POST['move_ok']))
31 {
32 if (!utils::CSRF_check('membres_action'))
33 {
34 $error = 'Une erreur est survenue, merci de renvoyer le formulaire.';
35 }
36 else
37 {
38 if (!empty($_POST['id_categorie']))
39 {
40 $membres->changeCategorie($_POST['id_categorie'], $_POST['selected']);
41 }
42
43 utils::redirect('/admin/membres/');
44 }
45 }
46 elseif (!empty($_POST['delete_ok']))
47 {
48 if (!utils::CSRF_check('membres_action'))
49 {
50 $error = 'Une erreur est survenue, merci de renvoyer le formulaire.';
51 }
52 else
53 {
54 $membres->delete($_POST['selected']);
55
56 utils::redirect('/admin/membres/');
57 }
58 }
59
60 $tpl->assign('selected', $_POST['selected']);
61 $tpl->assign('nb_selected', count($_POST['selected']));
62
63 if (!empty($_POST['move']))
64 {
65 $cats = new Membres_Categories;
66
67 $tpl->assign('membres_cats', $cats->listSimple());
68 $tpl->assign('action', 'move');
69 }
70 elseif (!empty($_POST['delete']))
71 {
72 $tpl->assign('action', 'delete');
73 }
74
75 $tpl->assign('error', $error);
76
77 $tpl->display('admin/membres/action.tpl');
78
79 ?>