2 /************************************************************************
3 * MXChange v0.2.1 Start: 09/12/2004 *
4 * ================ Last change: 09/12/2004 *
6 * -------------------------------------------------------------------- *
7 * File : what-optimize.php *
8 * -------------------------------------------------------------------- *
9 * Short description : Optimize and repair database *
10 * -------------------------------------------------------------------- *
11 * Kurzbeschreibung : Datenbank optimieren und reparieren *
12 * -------------------------------------------------------------------- *
15 * $Tag:: 0.2.1-FINAL $ *
17 * Needs to be in all Files and every File needs "svn propset *
18 * svn:keywords Date Revision" (autoprobset!) at least!!!!!! *
19 * -------------------------------------------------------------------- *
20 * Copyright (c) 2003 - 2009 by Roland Haeder *
21 * For more information visit: http://www.mxchange.org *
23 * This program is free software; you can redistribute it and/or modify *
24 * it under the terms of the GNU General Public License as published by *
25 * the Free Software Foundation; either version 2 of the License, or *
26 * (at your option) any later version. *
28 * This program is distributed in the hope that it will be useful, *
29 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
30 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
31 * GNU General Public License for more details. *
33 * You should have received a copy of the GNU General Public License *
34 * along with this program; if not, write to the Free Software *
35 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, *
37 ************************************************************************/
39 // Some security stuff...
40 if ((!defined('__SECURITY')) || (!isAdmin())) {
44 // Add description as navigation point
45 addMenuDescription('admin', __FILE__);
47 // Optimize and repair database and return the result as a multi-dimensional array
48 $DATA = repairOptimizeDatabase();
51 $SW = 2; $gain_tabs = '0'; $OUT = '';
52 foreach ($DATA['tables'] as $row_array) {
56 // Fixes a bug which causes a parser error on eval'd code
57 if (empty($row_array[1])) $row_array[1] = 'NONE';
59 // Get optimization status
60 $REP = getMessage('OPTIMIZE_STATUS_' . strtoupper($row_array[1]).'');
62 $OPT = getMessage('OPTIMIZE_STATUS_UNSUPPORTED');
64 if ($row_array[4] > 0) {
65 $OPT = getMessage('OPTIMIZE_STATUS_OPTIMIZED');
66 $B1 = '<strong>'; $B2 = '<strong>';
68 } elseif (count(explode(' ', $row_array[2])) == '0') {
69 $OPT = getMessage('OPTIMIZE_STATUS_' . strtoupper($row_array[2]).'');
72 // Prepare data for the row template
77 'tpl' => $row_array[0],
80 'sum' => translateComma($row_array[3]),
81 'sav' => translateComma($row_array[4]),
84 // Load row template and switch color
85 $OUT .= loadTemplate('admin_optimize_row', true, $content);
90 $content['rows'] = $OUT;
92 // Prepare data for the template
93 $content['total_tabs'] = $DATA['total_tabs'];
94 $content['total_size'] = translateComma($DATA['total_size']);
95 $content['total_rows'] = $DATA['total_rows'];
96 $content['total_optimized'] = translateComma($DATA['total_opti']);
97 $content['now_optimized'] = $gain_tabs;
98 $content['now_saved'] = translateComma($DATA['total_gain']);
100 // Load main template
101 loadTemplate('admin_optimize', false, $content);