init
[garradin.git] / www / admin / config / plugins.php
1 <?php
2
3 namespace Garradin;
4
5 require_once __DIR__ . '/_inc.php';
6
7 $error = false;
8
9 if (!empty($_POST['install']))
10 {
11 if (!utils::CSRF_check('install_plugin'))
12 {
13 $error = 'Une erreur est survenue, merci de renvoyer le formulaire.';
14 }
15 else
16 {
17 try {
18 Plugin::install(utils::post('to_install'), false);
19
20 utils::redirect('/admin/config/plugins.php');
21 }
22 catch (UserException $e)
23 {
24 $error = $e->getMessage();
25 }
26 }
27 }
28
29 if (utils::post('delete'))
30 {
31 if (!utils::CSRF_check('delete_plugin_' . utils::get('delete')))
32 {
33 $error = 'Une erreur est survenue, merci de renvoyer le formulaire.';
34 }
35 else
36 {
37 try {
38 $plugin = new Plugin(utils::get('delete'));
39 $plugin->uninstall();
40
41 utils::redirect('/admin/config/plugins.php');
42 }
43 catch (UserException $e)
44 {
45 $error = $e->getMessage();
46 }
47 }
48 }
49
50 $tpl->assign('error', $error);
51
52 if (utils::get('delete'))
53 {
54 $plugin = new Plugin(utils::get('delete'));
55 $tpl->assign('plugin', $plugin->getInfos());
56 $tpl->assign('delete', true);
57 }
58 else
59 {
60 $tpl->assign('liste_telecharges', Plugin::listDownloaded());
61 $tpl->assign('liste_installes', Plugin::listInstalled());
62 }
63
64 $tpl->display('admin/config/plugins.tpl');
65
66 ?>