<?php
function connect_error() {
global $adminer, $connection, $token, $error, $drivers;
- $databases = array();
if (DB != "") {
header("HTTP/1.1 404 Not Found");
page_header(lang('Database') . ": " . h(DB), lang('Invalid database.'), true);
$collations = collations();
echo "<form action='' method='post'>\n";
echo "<table cellspacing='0' class='checkable' onclick='tableClick(event);' ondblclick='tableClick(event, true);'>\n";
- echo "<thead><tr>" . (support("database") ? "<td> " : "") . "<th>" . lang('Database') . "<td>" . lang('Collation') . "<td>" . lang('Tables') . "</thead>\n";
+ echo "<thead><tr>"
+ . (support("database") ? "<td> " : "")
+ . "<th>" . lang('Database')
+ . "<td>" . lang('Collation')
+ . "<td>" . lang('Tables')
+ . "<td>" . lang('Size') . " - <a href='" . h(ME) . "dbsize=1' onclick=\"return !ajaxSetHtml('" . js_escape(ME) . "script=connect');\">" . lang('Compute') . "</a>"
+ . "</thead>\n"
+ ;
- foreach ($databases as $db) {
+ $databases = ($_GET["dbsize"] ? count_tables($databases) : array_flip($databases));
+
+ foreach ($databases as $db => $tables) {
$root = h(ME) . "db=" . urlencode($db);
echo "<tr" . odd() . ">" . (support("database") ? "<td>" . checkbox("db[]", $db, in_array($db, (array) $_POST["db"])) : "");
echo "<th><a href='$root'>" . h($db) . "</a>";
$collation = nbsp(db_collation($db, $collations));
echo "<td>" . (support("database") ? "<a href='$root" . ($scheme ? "&ns=" : "") . "&database=' title='" . lang('Alter database') . "'>$collation</a>" : $collation);
- echo "<td align='right'><a href='$root&schema=' id='tables-" . h($db) . "' title='" . lang('Database schema') . "'>?</a>";
+ echo "<td align='right'><a href='$root&schema=' id='tables-" . h($db) . "' title='" . lang('Database schema') . "'>" . ($_GET["dbsize"] ? $tables : "?") . "</a>";
+ echo "<td align='right' id='size-" . h($db) . "'>" . ($_GET["dbsize"] ? db_size($db) : "?");
echo "\n";
}
}
page_footer("db");
- if ($databases) {
- echo "<script type='text/javascript'>ajaxSetHtml('" . js_escape(ME) . "script=connect');</script>\n";
- }
}
if (isset($_GET["status"])) {
// ob_start() callback recieves an optional parameter $phase but gzencode() accepts optional parameter $level
return gzencode($string);
}
+
+/** Compute size of database
+* @param string
+* @return string formatted
+*/
+function db_size($db) {
+ global $connection;
+ if (!$connection->select_db($db)) {
+ return "?";
+ }
+ $return = 0;
+ foreach (table_status() as $table_status) {
+ $return += $table_status["Data_length"] + $table_status["Index_length"];
+ }
+ return number_format($return, 0, '.', lang(','));
+}
'Default values' => 'Výchozí hodnoty',
'Drop' => 'Odstranit',
'Are you sure?' => 'Opravdu?',
+ 'Size' => 'Velikost',
+ 'Compute' => 'Spočítat',
'Move up' => 'Přesunout nahoru',
'Move down' => 'Přesunout dolů',
'Remove' => 'Odebrat',