bug3
[aidenligne_francais_universite.git] / fluxbb / admin_loader.php
CommitLineData
c495c100
P
1<?php
2/***********************************************************************
3
4 Copyright (C) 2002-2005 Rickard Andersson (rickard@punbb.org)
5
6 This file is part of PunBB.
7
8 PunBB is free software; you can redistribute it and/or modify it
9 under the terms of the GNU General Public License as published
10 by the Free Software Foundation; either version 2 of the License,
11 or (at your option) any later version.
12
13 PunBB is distributed in the hope that it will be useful, but
14 WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
17
18 You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software
20 Foundation, Inc., 59 Temple Place, Suite 330, Boston,
21 MA 02111-1307 USA
22
23************************************************************************/
24
25
26// Tell header.php to use the admin template
27define('PUN_ADMIN_CONSOLE', 1);
28
29define('PUN_ROOT', './');
30require PUN_ROOT.'include/common.php';
31require PUN_ROOT.'include/common_admin.php';
32
33
34if ($pun_user['g_id'] > PUN_MOD)
35 message($lang_common['No permission']);
36
37
38// The plugin to load should be supplied via GET
39$plugin = isset($_GET['plugin']) ? $_GET['plugin'] : '';
40if (!@preg_match('/^AM?P_(\w*?)\.php$/i', $plugin))
41 message($lang_common['Bad request']);
42
43// AP_ == Admins only, AMP_ == admins and moderators
44$prefix = substr($plugin, 0, strpos($plugin, '_'));
45if ($pun_user['g_id'] == PUN_MOD && $prefix == 'AP')
46 message($lang_common['No permission']);
47
48// Make sure the file actually exists
49if (!file_exists(PUN_ROOT.'plugins/'.$plugin))
50 message('Il n\'y a pas de plugin nommé \''.$plugin.'\' dans le répertoire de plugin.');
51
52// Construct REQUEST_URI if it isn't set
53if (!isset($_SERVER['REQUEST_URI']))
54 $_SERVER['REQUEST_URI'] = (isset($_SERVER['PHP_SELF']) ? $_SERVER['PHP_SELF'] : '').'?'.(isset($_SERVER['QUERY_STRING']) ? $_SERVER['QUERY_STRING'] : '');
55
56$page_title = pun_htmlspecialchars($pun_config['o_board_title']).' / Admin / '.$plugin;
57require PUN_ROOT.'header.php';
58
59// Attempt to load the plugin. We don't use @ here to supress error messages,
60// because if we did and a parse error occurred in the plugin, we would only
61// get the "blank page of death".
62include PUN_ROOT.'plugins/'.$plugin;
63if (!defined('PUN_PLUGIN_LOADED'))
64 message('Le chargement du plugin \''.$plugin.'\' a échoué.');
65
66// Output the clearer div
67?>
68 <div class="clearer"></div>
69</div>
70<?php
71
72require PUN_ROOT.'footer.php';