e225f6f298d3854a7542b8c8a62ac9bb71fe4a7d
[mailer.git] / inc / modules / admin / what-optimize.php
1 <?php
2 /************************************************************************
3  * MXChange v0.2.1                                    Start: 09/12/2004 *
4  * ================                             Last change: 09/12/2004 *
5  *                                                                      *
6  * -------------------------------------------------------------------- *
7  * File              : what-optimize.php                                *
8  * -------------------------------------------------------------------- *
9  * Short description : Optimize and repair database                     *
10  * -------------------------------------------------------------------- *
11  * Kurzbeschreibung  : Datenbank optimieren und reparieren              *
12  * -------------------------------------------------------------------- *
13  *                                                                      *
14  * -------------------------------------------------------------------- *
15  * Copyright (c) 2003 - 2008 by Roland Haeder                           *
16  * For more information visit: http://www.mxchange.org                  *
17  *                                                                      *
18  * This program is free software; you can redistribute it and/or modify *
19  * it under the terms of the GNU General Public License as published by *
20  * the Free Software Foundation; either version 2 of the License, or    *
21  * (at your option) any later version.                                  *
22  *                                                                      *
23  * This program is distributed in the hope that it will be useful,      *
24  * but WITHOUT ANY WARRANTY; without even the implied warranty of       *
25  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        *
26  * GNU General Public License for more details.                         *
27  *                                                                      *
28  * You should have received a copy of the GNU General Public License    *
29  * along with this program; if not, write to the Free Software          *
30  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,               *
31  * MA  02110-1301  USA                                                  *
32  ************************************************************************/
33
34 // Some security stuff...
35 if ((!defined('__SECURITY')) || (!IS_ADMIN())) {
36         $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
37         require($INC);
38 }
39
40 // Add description as navigation point
41 ADD_DESCR("admin", __FILE__);
42
43 // Optimize and repair database and return the result as a multi-dimensional array
44 $DATA = REPAIR_OPTIMIZE_DB();
45
46 // Output rows
47 $SW = 2; $gain_tabs = 0; $OUT = "";
48 foreach ($DATA['tables'] as $row_array)
49 {
50         // Fixes a bug which causes a parser error on eval'd code
51         if (empty($row_array[1])) $row_array[1] = "NONE";
52         $eval = "\$REP = OPTIMIZE_STATUS_".strtoupper($row_array[1]).";";
53         eval($eval); $B1 = ""; $B2 = "";
54         $OPT = OPTIMIZE_STATUS_UNSUPPORTED;
55         if ($row_array[4] > 0)
56         {
57                 $OPT = OPTIMIZE_STATUS_OPTIMIZED;
58                 $B1 = "<STRONG>"; $B2 = "<STRONG>";
59                 $gain_tabs++;
60         }
61          elseif (count(explode(" ", $row_array[2])) == 0)
62         {
63                 $eval = "\$OPT = OPTIMIZE_STATUS_".strtoupper($row_array[2]).";";
64                 die($eval);
65                 eval($eval);
66         }
67
68         // Prepare data for the row template
69         $content = array(
70                 'sw'  => $SW,
71                 'b1'  => $B1,
72                 'b2'  => $B2,
73                 'tpl' => $row_array[0],
74                 'rep' => $REP,
75                 'opt' => $OPT,
76                 'sum' => TRANSLATE_COMMA($row_array[3]),
77                 'sav' => TRANSLATE_COMMA($row_array[4]),
78         );
79
80         // Load row template and switch color
81         $OUT .= LOAD_TEMPLATE("admin_optimize_row", true, $content);
82         $SW = 3 - $SW;
83 }
84 define('__TABLE_ROWS', $OUT);
85
86 // Prepare data for the template
87 define('__TOTAL_TABS'     , $DATA['total_tabs']);
88 define('__TOTAL_SIZE'     , TRANSLATE_COMMA($DATA['total_size']));
89 define('__TOTAL_CALLS'    , $DATA['total_rows']);
90 define('__TOTAL_OPTIMIZED', TRANSLATE_COMMA($DATA['total_opti']));
91 define('__NOW_OPTIMIZED'  , $gain_tabs);
92 define('__NOW_SAVED'      , TRANSLATE_COMMA($DATA['total_gain']));
93
94 // Load main template
95 LOAD_TEMPLATE("admin_optimize");
96
97 //
98 ?>