source: trunk/web/punbb/admin_index.php @ 2

Last change on this file since 2 was 1, checked in by dj3c1t, 13 years ago

import initial

File size: 8.3 KB
RevLine 
[1]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$action = isset($_GET['action']) ? $_GET['action'] : null;
39
40// Check for upgrade
41if ($action == 'check_upgrade')
42{
43        if (!ini_get('allow_url_fopen'))
44                message('Impossible de vérifier les mises à jour tant que \'allow_url_fopen\' est désactivé sur ce systÚme.');
45
46        $fp = @fopen('http://www.punbb.org/latest_version', 'r');
47        $latest_version = trim(@fread($fp, 16));
48        @fclose($fp);
49
50        if ($latest_version == '')
51                message('La vérification de mise à jour a échouée pour une raison inconnue.');
52
53        $cur_version = str_replace(array('.', 'dev', 'beta', ' '), '', strtolower($pun_config['o_cur_version']));
54        $cur_version = (strlen($cur_version) == 2) ? intval($cur_version) * 10 : intval($cur_version);
55
56        $latest_version = str_replace('.', '', strtolower($latest_version));
57        $latest_version = (strlen($latest_version) == 2) ? intval($latest_version) * 10 : intval($latest_version);
58
59        if ($cur_version >= $latest_version)
60                message('Vous utilisez la derniÚre version de PunBB.');
61        else
62                message('Une nouvelle version de PunBB est sortie ! Vous pouvez télécharger cette derniÚre version sur <a href="http://www.punbb.org/">PunBB.org</a>.');
63}
64
65// Check for french upgrade
66if ($action == 'check_upgrade_fr')
67{
68        if (!ini_get('allow_url_fopen'))
69                message('Impossible de vérifier les mises à jour tant que \'allow_url_fopen\' est désactivé sur ce systÚme.');
70
71        $fp = @fopen('http://www.punbb.fr/latest_version', 'r');
72        $latest_version = trim(@fread($fp, 16));
73        @fclose($fp);
74
75        if ($latest_version == '')
76                message('La vérification de mise à jour a échouée pour une raison inconnue.');
77
78        $cur_version = str_replace(array('.', 'dev', 'beta', ' '), '', strtolower($pun_config['o_cur_version_fr']));
79        $cur_version = (strlen($cur_version) == 2) ? intval($cur_version) * 10 : intval($cur_version);
80
81        $latest_version = str_replace('.', '', strtolower($latest_version));
82        $latest_version = (strlen($latest_version) == 2) ? intval($latest_version) * 10 : intval($latest_version);
83
84        if ($cur_version >= $latest_version)
85                message('Vous utilisez la derniÚre version de PunBB en français.');
86        else
87                message('Une nouvelle version de PunBB en français est sortie ! Vous pouvez télécharger cette derniÚre version sur <a href="http://www.punbb.fr/">PunBB.fr</a>.');
88}
89
90
91// Show phpinfo() output
92else if ($action == 'phpinfo' && $pun_user['g_id'] == PUN_ADMIN)
93{
94        // Is phpinfo() a disabled function?
95        if (strpos(strtolower((string)@ini_get('disable_functions')), 'phpinfo') !== false)
96                message('La fonction phpinfo() de PHP est désactivée sur ce serveur.');
97
98        phpinfo();
99        exit;
100}
101
102
103// Get the server load averages (if possible)
104if (@file_exists('/proc/loadavg') && is_readable('/proc/loadavg'))
105{
106        // We use @ just in case
107        $fh = @fopen('/proc/loadavg', 'r');
108        $load_averages = @fread($fh, 64);
109        @fclose($fh);
110
111        $load_averages = @explode(' ', $load_averages);
112        $server_load = isset($load_averages[2]) ? $load_averages[0].' '.$load_averages[1].' '.$load_averages[2] : 'Indisponible';
113}
114else if (!in_array(PHP_OS, array('WINNT', 'WIN32')) && preg_match('/averages?: ([0-9\.]+),[\s]+([0-9\.]+),[\s]+([0-9\.]+)/i', @exec('uptime'), $load_averages))
115        $server_load = $load_averages[1].' '.$load_averages[2].' '.$load_averages[3];
116else
117        $server_load = 'Indisponible';
118
119
120// Get number of current visitors
121$result = $db->query('SELECT COUNT(user_id) FROM '.$db->prefix.'online WHERE idle=0') or error('Impossible de retrouver le total d\'utilisateurs en ligne', __FILE__, __LINE__, $db->error());
122$num_online = $db->result($result);
123
124
125// Get the database system version
126switch ($db_type)
127{
128        case 'sqlite':
129                $db_version = 'SQLite '.sqlite_libversion();
130                break;
131
132        default:
133                $result = $db->query('SELECT VERSION()') or error('Impossible de retrouver les informations utilisateurs', __FILE__, __LINE__, $db->error());
134                $db_version = $db->result($result);
135                break;
136}
137
138
139// Collect some additional info about MySQL
140if ($db_type == 'mysql' || $db_type == 'mysqli')
141{
142        $db_version = 'MySQL '.$db_version;
143
144        // Calculate total db size/row count
145        $result = $db->query('SHOW TABLE STATUS FROM `'.$db_name.'`') or error('Impossible de retrouver le statut des tables', __FILE__, __LINE__, $db->error());
146
147        $total_records = $total_size = 0;
148        while ($status = $db->fetch_assoc($result))
149        {
150                $total_records += $status['Rows'];
151                $total_size += $status['Data_length'] + $status['Index_length'];
152        }
153
154        $total_size = $total_size / 1024;
155
156        if ($total_size > 1024)
157                $total_size = round($total_size / 1024, 2).' MB';
158        else
159                $total_size = round($total_size, 2).' KB';
160}
161
162
163// See if MMCache or PHPA is loaded
164if (function_exists('mmcache'))
165        $php_accelerator = '<a href="http://turck-mmcache.sourceforge.net/">Turck MMCache</a>';
166else if (isset($_PHPA))
167        $php_accelerator = '<a href="http://www.php-accelerator.co.uk/">ionCube PHP Accelerator</a>';
168else
169        $php_accelerator = 'N/A';
170
171
172$page_title = pun_htmlspecialchars($pun_config['o_board_title']).' / Admin';
173require PUN_ROOT.'header.php';
174
175generate_admin_menu('index');
176
177?>
178        <div class="block">
179                <h2>Administration Forum</h2>
180                <div id="adintro" class="box">
181                        <div class="inbox">
182                                <p>Bienvenue sur le panneau de contrÃŽles de  PunBB. Depuis cet espace vous pouvez contrÃŽler les points essentiels de votre forum. Selon que vous êtes un administrateur ou un modérateur vous pouvez&#160;:<br /><br />
183                                        &#160;- organiser les catégories et les forums.<br />
184                                        &#160;- régler les principales options et préférences.<br />
185                                        &#160;- contrÃŽler les permissions pour les utilisateurs et les visiteurs.<br />
186                                        &#160;- voir les statistiques des IP pour les utilisateurs.<br />
187                                        &#160;- bannir des utilisateurs.<br />
188                                        &#160;- censurer des mots.<br />
189                                        &#160;- régler les rangs des utilisateurs.<br />
190                                        &#160;- élaguer les anciens messages.<br />
191                                        &#160;- traiter les messages signalés.
192                                </p>
193                        </div>
194                </div>
195
196                <h2 class="block2"><span>Statistiques</span></h2>
197                <div id="adstats" class="box">
198                        <div class="inbox">
199                                <dl>
200                                        <dt>PunBB version</dt>
201                                        <dd>
202                                                PunBB version française <?php echo $pun_config['o_cur_version_fr'] ?> basée sur PunBB <?php echo $pun_config['o_cur_version'] ?><br />
203                                                <a href="admin_index.php?action=check_upgrade">Vérifier la version officielle</a> - <a href="admin_index.php?action=check_upgrade_fr">Vérifier la version française</a> <br />
204                                                &copy; Copyright 2002, 2003, 2004, 2005 Rickard Andersson
205                                        </dd>
206                                        <dt>Exécution serveur</dt>
207                                        <dd>
208                                                <?php echo $server_load ?> (<?php echo $num_online ?> utilisateurs en ligne)
209                                        </dd>
210<?php if ($pun_user['g_id'] == PUN_ADMIN): ?>                                   <dt>Environnement</dt>
211                                        <dd>
212                                                SystÚme d'exploitation&#160;: <?php echo PHP_OS ?><br />
213                                                PHP&#160;: <?php echo phpversion() ?> - <a href="admin_index.php?action=phpinfo">Afficher infos</a><br />
214                                                Accélérateur PHP&#160;: <?php echo $php_accelerator."\n" ?>
215                                        </dd>
216                                        <dt>Base de données</dt>
217                                        <dd>
218                                                <?php echo $db_version."\n" ?>
219<?php if (isset($total_records) && isset($total_size)): ?>                                              <br />Lignes&#160;: <?php echo $total_records."\n" ?>
220                                                <br />Taille&#160;: <?php echo $total_size."\n" ?>
221<?php endif; endif; ?>                                  </dd>
222                                </dl>
223                        </div>
224                </div>
225        </div>
226        <div class="clearer"></div>
227</div>
228<?php
229
230require PUN_ROOT.'footer.php';
Note: See TracBrowser for help on using the repository browser.