<?php
/************************************************************************/
/* Maximus CMS: Web Portal System                                       */
/* ==============================                                       */
/*                                                                      */
/* Copyright (c) 2002 - 2006                                            */
/* http://www.php-maximus.fr                                            */
/* dev@php-maximus.org                                                  */
/*                                                                      */
/* Copyright (c) 2001 by Thomas Rudant (thomas.rudant@grunk.net)        */
/* http://www.grunk.net                                                 */
/* http://www.securite-internet.org                                     */
/*                                                                      */
/* This program is free software. You can redistribute it and/or modify */
/* it under the terms of the GNU General Public License as published by */
/* the Free Software Foundation; either version 2 of the License.       */
/************************************************************************/
/* Based on PHP-NUKE: Web Portal System                                 */
/************************************************************************/
if (!defined('ADMIN_ALLOW') && !defined('ADMIN_MAX')) {
	die ("Access Denied");
}
global $db, $admin_file;
$aid = substr("$aid", 0,25);
$row = $db->sql_fetchrow($db->sql_query("SELECT radminsuper FROM ".TABLE_AUTHORS." WHERE aid='$aid'"));
$acces = $db->XMFbin($row['radminsuper']);
if (!$acces == 1) { die ("Accès refusé"); }
if($admintest && $adminsecu)  {

	incoh();
	menu();
	title("" . _DBOPTIMIZATION . "");
	Max_OpenTable();
    echo "<center><font class='title'>" . _OPTIMIZINGDB . " $dbname</font></center><br /><br />"
		."<table border=\"1\" align=\"center\"><tr><td><div align=\"center\">" . _TABLE . "</div></td><td><div align=\"center\">" . _SIZE . "</div></td><td><div align=\"center\">" . _STATUS . "</div></td><td><div align=\"center\">" . _SPACESAVED . "</div></td></tr>";
    $db_clean = $dbname;
    $tot_data = 0;
    $tot_idx = 0;
    $tot_all = 0;
    $local_query = 'SHOW TABLE STATUS FROM '.$dbname;
    if ( !($result = $db->sql_query($local_query)) )
{ query_die(GENERAL_ERROR, 'Could not obtain SHOW TABLE STATUS FROM ', '', __LINE__, __FILE__, $local_query);}
    if ($db->sql_numrows($result)) {
		while ($row = $db->sql_fetchrow($result)) {
    	    $tot_data = $row['Data_length'];
            $tot_idx  = $row['Index_length'];
            $total = $tot_data + $tot_idx;
            $total = $total / 1024 ;
            $total = round ($total,3);
            $gain= $row['Data_free'];
            $gain = $gain / 1024 ;
            $total_gain += $gain;
            $gain = round ($gain,3);
            $local_query = 'OPTIMIZE TABLE '.$row[0];
	if ( !($resultat = $db->sql_query($local_query)) )
{ query_die(GENERAL_ERROR, 'Could not obtain OPTIMIZE TABLE ', '', __LINE__, __FILE__, $local_query);}
       	    if ($gain == 0) {
       		echo "<tr><td>"."$row[0]"."</td>"."<td>"."$total"." Kb"."</td>"."<td>" . _ALREADYOPTIMIZED . "</td><td>0 Kb</td></tr>";
       	    } else {
       	   	echo "<tr><td><b>"."$row[0]"."</b></td>"."<td><b>"."$total"." Kb"."</b></td>"."<td><b>" . _OPTIMIZED . "</b></td><td><b>"."$gain"." Kb</b></td></tr>";
       	    }
		}
    }
    echo "</table></center>";
    Max_CloseTable();
    br('1');
    Max_OpenTable();
    $total_gain = round ($total_gain,3);
    echo "<center><b>" . _OPTIMIZATIONRESULTS . "</b><br /><br />"
		."" . _TOTALSPACESAVED . " "."$total_gain"." Kb<br />";
    $sql_query = "CREATE TABLE IF NOT EXISTS ".$prefix."_optimize_gain(gain decimal(10,3))";
if ( !($result = $db->sql_query($sql_query)) )
{ query_die(GENERAL_ERROR, 'Could not obtain CREATE TABLE IF NOT EXISTS ', '', __LINE__, __FILE__, $sql_query);}
    $sql_query = "INSERT INTO ".$prefix."_optimize_gain (gain) VALUES ('$total_gain')";
if ( !($result = $db->sql_query($sql_query)) )
{ query_die(GENERAL_ERROR, 'Could not obtain INSERT INTO ', '', __LINE__, __FILE__, $sql_query);}
    $sql_query = "SELECT * FROM ".$prefix."_optimize_gain";
if ( !($result = $db->sql_query($sql_query)) )
{ query_die(GENERAL_ERROR, 'Could not obtain SELECT * FROM ', '', __LINE__, __FILE__, $sql_query);}
    while ($row = $db->sql_fetchrow($result)) {
		$histo += $row[0];
		$cpt += 1;
    }
    echo "" . _YOUHAVERUNSCRIPT . " $cpt " . _TIMES . "<br />"
		."$histo " . _KBSAVED . "</center>";
    Max_CloseTable();
    incof();

} else {
    echo "Access Denied";
}