[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 |
---|
| 27 | define('PUN_ADMIN_CONSOLE', 1); |
---|
| 28 | |
---|
| 29 | define('PUN_ROOT', './'); |
---|
| 30 | require PUN_ROOT.'include/common.php'; |
---|
| 31 | require PUN_ROOT.'include/common_admin.php'; |
---|
| 32 | |
---|
| 33 | |
---|
| 34 | if ($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 |
---|
| 41 | if ($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 |
---|
| 66 | if ($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 |
---|
| 92 | else 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) |
---|
| 104 | if (@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 | } |
---|
| 114 | else 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]; |
---|
| 116 | else |
---|
| 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 |
---|
| 126 | switch ($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 |
---|
| 140 | if ($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 |
---|
| 164 | if (function_exists('mmcache')) |
---|
| 165 | $php_accelerator = '<a href="http://turck-mmcache.sourceforge.net/">Turck MMCache</a>'; |
---|
| 166 | else if (isset($_PHPA)) |
---|
| 167 | $php_accelerator = '<a href="http://www.php-accelerator.co.uk/">ionCube PHP Accelerator</a>'; |
---|
| 168 | else |
---|
| 169 | $php_accelerator = 'N/A'; |
---|
| 170 | |
---|
| 171 | |
---|
| 172 | $page_title = pun_htmlspecialchars($pun_config['o_board_title']).' / Admin'; |
---|
| 173 | require PUN_ROOT.'header.php'; |
---|
| 174 | |
---|
| 175 | generate_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 :<br /><br /> |
---|
| 183 |  - organiser les catégories et les forums.<br /> |
---|
| 184 |  - régler les principales options et préférences.<br /> |
---|
| 185 |  - contrÃŽler les permissions pour les utilisateurs et les visiteurs.<br /> |
---|
| 186 |  - voir les statistiques des IP pour les utilisateurs.<br /> |
---|
| 187 |  - bannir des utilisateurs.<br /> |
---|
| 188 |  - censurer des mots.<br /> |
---|
| 189 |  - régler les rangs des utilisateurs.<br /> |
---|
| 190 |  - élaguer les anciens messages.<br /> |
---|
| 191 |  - 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 | © 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 : <?php echo PHP_OS ?><br /> |
---|
| 213 | PHP : <?php echo phpversion() ?> - <a href="admin_index.php?action=phpinfo">Afficher infos</a><br /> |
---|
| 214 | Accélérateur PHP : <?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 : <?php echo $total_records."\n" ?> |
---|
| 220 | <br />Taille : <?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 | |
---|
| 230 | require PUN_ROOT.'footer.php'; |
---|