init
[garradin.git] / www / admin / config / site.php
1 <?php
2 namespace Garradin;
3
4 require_once __DIR__ . '/_inc.php';
5
6 $error = false;
7
8 if (isset($_GET['ok']))
9 {
10 $error = 'OK';
11 }
12
13 if (!empty($_POST['save']))
14 {
15 if (!utils::CSRF_check('config_site'))
16 {
17 $error = 'Une erreur est survenue, merci de renvoyer le formulaire.';
18 }
19 else
20 {
21 try {
22 $config->set('champs_obligatoires', utils::post('champs_obligatoires'));
23 $config->set('champs_modifiables_membre', utils::post('champs_modifiables_membre'));
24 $config->set('categorie_membres', utils::post('categorie_membres'));
25 $config->save();
26
27 utils::redirect('/admin/config/site.php?ok');
28 }
29 catch (UserException $e)
30 {
31 $error = $e->getMessage();
32 }
33 }
34 }
35
36 if (utils::get('edit'))
37 {
38 $source = Squelette::getSource(utils::get('edit'));
39
40 if (!$source)
41 {
42 throw new UserException("Ce squelette n'existe pas.");
43 }
44
45 $csrf_key = 'edit_skel_'.md5(utils::get('edit'));
46
47 if (utils::post('save'))
48 {
49 if (!utils::CSRF_check($csrf_key))
50 {
51 $error = 'Une erreur est survenue, merci de renvoyer le formulaire.';
52 }
53 else
54 {
55 if (Squelette::editSource(utils::get('edit'), utils::post('content')))
56 {
57 utils::redirect('/admin/config/site.php?edit='.rawurlencode(utils::get('edit')).'&ok');
58 }
59 else
60 {
61 $error = "Impossible d'enregistrer le squelette.";
62 }
63 }
64 }
65
66 $tpl->assign('edit', ['file' => trim(utils::get('edit')), 'content' => $source]);
67 $tpl->assign('csrf_key', $csrf_key);
68 $tpl->assign('sources_json', json_encode(Squelette::listSources()));
69 }
70 else
71 {
72 $tpl->assign('sources', Squelette::listSources());
73 }
74
75 $tpl->assign('error', $error);
76 $tpl->display('admin/config/site.tpl');
77
78 ?>