init
[garradin.git] / www / admin / membres / index.php
1 <?php
2 namespace Garradin;
3
4 require_once __DIR__ . '/../_inc.php';
5
6 if ($user['droits']['membres'] < Membres::DROIT_ACCES)
7 {
8 throw new UserException("Vous n'avez pas le droit d'accéder à cette page.");
9 }
10
11
12 // Recherche de membre (pour ceux qui n'ont qu'un accès à la liste des membres)
13 if (utils::get('r'))
14 {
15 $recherche = trim(utils::get('r'));
16
17 $result = $membres->search($config->get('champ_identite'), $recherche);
18 $tpl->assign('liste', $result);
19 $tpl->assign('recherche', $recherche);
20 }
21 else
22 {
23 $cats = new Membres_Categories;
24 $champs = $config->get('champs_membres');
25
26 $membres_cats = $cats->listSimple();
27 $membres_cats_cachees = $cats->listHidden();
28
29 $cat_id = (int) utils::get('cat') ?: 0;
30 $page = (int) utils::get('p') ?: 1;
31
32 if ($cat_id)
33 {
34 if ($user['droits']['membres'] < Membres::DROIT_ECRITURE && array_key_exists($cat_id, $membres_cats_cachees))
35 {
36 $cat_id = 0;
37 }
38 }
39
40 if (!$cat_id)
41 {
42 $cat_id = array_diff(array_keys($membres_cats), array_keys($membres_cats_cachees));
43 }
44
45 $order = $champs->getFirst();
46 $desc = false;
47
48 if (utils::get('o'))
49 $order = utils::get('o');
50
51 if (isset($_GET['d']))
52 $desc = true;
53
54 $tpl->assign('order', $order);
55 $tpl->assign('desc', $desc);
56
57 $fields = $champs->getListedFields();
58
59 $tpl->assign('champs', $fields);
60
61 $tpl->assign('liste', $membres->listByCategory($cat_id, array_keys($fields), $page, $order, $desc));
62 $tpl->assign('total', $membres->countByCategory($cat_id));
63
64 $tpl->assign('pagination_url', utils::getSelfUrl(true) . '?p=[ID]&amp;o=' . $order . ($desc ? '&amp;d' : ''));
65
66 $tpl->assign('membres_cats', $membres_cats);
67 $tpl->assign('membres_cats_cachees', $membres_cats_cachees);
68 $tpl->assign('current_cat', $cat_id);
69
70 $tpl->assign('page', $page);
71 $tpl->assign('bypage', Membres::ITEMS_PER_PAGE);
72
73 }
74
75 $tpl->display('admin/membres/index.tpl');
76
77 ?>