<?php
/**
 * file semmelstatzR_database.php
 *
 * @package     SemmelstatzR
 * @version     $Rev$
 * @since       1.0.0 Beta
 * @author      SEM-Team
 * @copyright   (c)2011 SEM-Team
 * @link        http://sourceforge.net/projects/semmelstatz/
 * @license     http://www.gnu.org/licenses/gpl-3.0.html
 * 
 * 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 3 of the License, or
 * (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.  
 *
 * $Id$
 * 
 */
/**  
 * based upon semmelstatz
 * Copyright (c) 2005-2009 Andreas 'Redunzl' Mueller (redunzl@gmx.de)
 *    
 * @license http://www.gnu.org/licenses/gpl-2.0.html
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License (version 2) as
 * published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License along
 * with this program; if not, write to the Free Software Foundation, Inc.,
 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/

if(current_user_can('manage_statz')) {

    global $wpdb;
    $pre = $wpdb->prefix; $lenpre = strlen($pre);
    $tablesstatus = $wpdb->get_results("SHOW TABLE STATUS");

    print "<div class='wrap'>";
    print "<div><a name='top'></a></div>";
    print "<div id='icon-semmelstatzR' class='icon32'><br /></div>";
    print "<h2>SemmelstatzR &gt; ".semr_i18n("Database")."</h2>";

    print "<div class='statz'>".semr_i18n("Database")."</div>";
        print "<table class='statzelement'>";
    print "<tr>";
    print "<th style='text-align:center;width:6%'>".semr_i18n("No.")."</th>";
    print "<th style='text-align:left;width:20%'>".semr_i18n("Tables")."</th>";
    print "<th style='text-align:right;width:10%'>".semr_i18n("Records")."</th>";
    print "<th style='text-align:right;width:10%'>".semr_i18n("Data")."</th>";
    print "<th style='text-align:right;width:10%'>".semr_i18n("Index")."</th>";
    print "<th style='text-align:right;width:10%'>".semr_i18n("Data")." &amp; ".semr_i18n("Index")."</th>";
    print "<th style='text-align:right;width:7%'>".semr_i18n("Overhang")."</th>";
    
    $row_usage = 0;
    $data_usage = 0;
    $index_usage = 0;
    $total_usage = 0;
    $overhead_usage = 0;
    foreach($tablesstatus as $key=>$tablestatus) {

        if(substr($tablestatus->Name,0,$lenpre) != $pre) continue;

        print "<tr"; if(1&$key) print " class='alternate'"; print ">";
        print "<td style='text-align:center;'>".($key+1)."</td>";
        print "<td style='text-align:left;'>".$tablestatus->Name."</td>";
        print "<td style='text-align:right;'>".number_format($tablestatus->Rows,0,',','.')."</td>";
        print "<td style='text-align:right;'>".number_format($tablestatus->Data_length/1024,0,',','.')."&nbsp;kb</td>";
        print "<td style='text-align:right;'>".number_format($tablestatus->Index_length/1024,0,',','.')."&nbsp;kb</td>";
        print "<td style='text-align:right;'>".number_format(($tablestatus->Data_length + $tablestatus->Index_length)/1024,0,',','.')."&nbsp;kb</td>";

        if($tablestatus->Data_free > 0) {
        print "<td style='color:#ff0000;text-align:right;'>";
        print "&nbsp;".number_format($tablestatus->Data_free/1024,2,',','.')."&nbsp;kb"; 
        print "</td>";
        }
        else {
        print "<td style='text-align:right;'>--</td>";
        }

        $row_usage += $tablestatus->Rows;
        $data_usage += $tablestatus->Data_length;
        $index_usage +=  $tablestatus->Index_length;
        $total_usage += $tablestatus->Data_length + $tablestatus->Index_length;
        $overhead_usage += $tablestatus->Data_free;
        echo '</tr>';
    }

    print "<tr>";
    print "<th style='text-align:center;'>".semr_i18n("Total")."</th>";
    print "<th style='text-align:left;'>&nbsp;</th>";
    print "<th style='text-align:right;'>".number_format($row_usage,0,',','.')."</th>";
    print "<th style='text-align:right;'>".number_format($data_usage/1024,0,',','.')."&nbsp;kb</th>";
    print "<th style='text-align:right;'>".number_format($index_usage/1024,0,',','.')."&nbsp;kb</th>";
    print "<th style='text-align:right;'>".number_format($total_usage/1024,0,',','.')."&nbsp;kb</th>";
    print "<th style='color:#ff0000;text-align:right;'>".number_format($overhead_usage/1024,2,',','.')."&nbsp;kb</th>";
    print "</tr>";

    print "<tr><td colspan='7'><p align='right'>";
    printf(semr_i18n("Only the WORDPRESS tables belonging to the blog <b>%s</b> will be shown."), get_option('blogname'));
    print "</p></td></tr>";
    print "</table>";
    print "<hr />";

    sem_showCopyright();

    print "</div>";

} else {
    echo '<p>No permission to access this area</p>';
}
	
?>