<?php
/************************************************************************
- * MXChange v0.2.1 Start: 09/17/2004 *
- * ================ Last change: 09/17/2004 *
+ * Mailer v0.2.1-FINAL Start: 09/17/2004 *
+ * =================== Last change: 09/17/2004 *
* *
* -------------------------------------------------------------------- *
* File : optimize_functions.php *
* -------------------------------------------------------------------- *
* Kurzbeschreibung : Optimize-Funktionen *
* -------------------------------------------------------------------- *
- * *
+ * $Revision:: $ *
+ * $Date:: $ *
+ * $Tag:: 0.2.1-FINAL $ *
+ * $Author:: $ *
* -------------------------------------------------------------------- *
- * Copyright (c) 2003 - 2008 by Roland Haeder *
+ * Copyright (c) 2003 - 2009 by Roland Haeder *
+ * Copyright (c) 2009 - 2011 by Mailer Developer Team *
* For more information visit: http://www.mxchange.org *
* *
* This program is free software; you can redistribute it and/or modify *
// Some security stuff...
if (!defined('__SECURITY')) {
- $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
- require($INC);
+ die();
}
-//
// Part taken from admin optimize module of PHPNuke (http://www.phpnuke.org)
-//
-function REPAIR_OPTIMIZE_DB()
-{
+function repairOptimizeDatabase () {
$ret = array();
- $tot_data = 0; $tabs = 0; $opts = 0;
- $tot_idx = 0; $total_gain = 0;
- $tot_all = 0;
- $result = @SQL_QUERY("SHOW TABLE STATUS FROM ".__DB_NAME, __FUNCTION__, __LINE__);
- $tabs = @SQL_NUMROWS($result);
- $ret['total_size'] = 0;
- $ret['total_tabs'] = $tabs;
+ $tot_data = '0';
+ $opts = '0';
+ $tot_idx = '0';
+ $total_gain = '0';
+ $tot_all = '0';
+
+ // Get table status
+ $result = SQL_QUERY('SHOW TABLE STATUS FROM `{?__DB_NAME?}`', __FUNCTION__, __LINE__);
+
+ // Init array
+ $ret['total_size'] = '0';
+ $ret['total_tabs'] = SQL_NUMROWS($result);
$ret['tables'] = array();
- if ($tabs > 0)
- {
- while ($row = SQL_FETCHARRAY($result))
- {
+
+ // Do we have entries?
+ if (!SQL_HASZERONUMS($result)) {
+ // Fetch all rows
+ while ($row = SQL_FETCHARRAY($result)) {
$tot_data = $row['Data_length'];
$tot_idx = $row['Index_length'];
$total = $tot_data + $tot_idx;
$gain = round ($gain, 3);
// Repair table
- $result1 = SQL_QUERY("REPAIR TABLE ".$row['Name'], __FUNCTION__, __LINE__);
+ $result1 = SQL_QUERY_ESC("REPAIR TABLE `%s`",
+ array($row['Name']), __FUNCTION__, __LINE__);
$rep = SQL_FETCHARRAY($result1);
// Optimize table
- $result1 = SQL_QUERY("OPTIMIZE TABLE ".$row['Name'], __FUNCTION__, __LINE__);
+ $result1 = SQL_QUERY_ESC("OPTIMIZE TABLE `%s`",
+ array($row['Name']), __FUNCTION__, __LINE__);
$opt = SQL_FETCHARRAY($result1);
// Add data to array
$ret['total_gain'] = $total_gain;
// Insert new row
- $result = SQL_QUERY("INSERT INTO `{!_MYSQL_PREFIX!}_optimize_gain` (gain) VALUES ('".$total_gain."')", __FUNCTION__, __LINE__);
+ $result = SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_optimize_gain` (`gain`) VALUES (%s)",
+ array($total_gain), __FUNCTION__, __LINE__);
// Get total runs and total optimization count
- $result = SQL_QUERY("SELECT COUNT(id) AS rows, SUM(gain) AS opti FROM `{!_MYSQL_PREFIX!}_optimize_gain`", __FUNCTION__, __LINE__);
- list($total_rows, $total_opti) = SQL_FETCHROW($result);
+ $result = SQL_QUERY('SELECT COUNT(`id`) AS `total_rows`, SUM(`gain`) AS `total_optimized` FROM `{?_MYSQL_PREFIX?}_optimize_gain`', __FUNCTION__, __LINE__);
+ $ret = merge_array($ret, SQL_FETCHARRAY($result));
// Free memory
SQL_FREERESULT($result);
- // Transfer data
- $ret['total_rows'] = $total_rows;
- $ret['total_opti'] = $total_opti;
-
// Return array
return $ret;
}
-//
+
+// [EOF]
?>