$lines) { foreach ($lines as $l => $val) { if (!$_SESSION["coverage"][$filename][$l] || $val > 0) { $_SESSION["coverage"][$filename][$l] = $val; } } } } xdebug_start_code_coverage(XDEBUG_CC_UNUSED | XDEBUG_CC_DEAD_CODE); register_shutdown_function('save_coverage'); if ($_GET["start"]) { return; } } if (get_magic_quotes_gpc()) { $process = array(&$_GET, &$_POST); while (list($key, $val) = each($process)) { foreach ($val as $k => $v) { unset($process[$key][$k]); if (is_array($v)) { $process[$key][stripslashes($k)] = $v; $process[] = &$process[$key][stripslashes($k)]; } else { $process[$key][stripslashes($k)] = stripslashes($v); } } } unset($process); } set_magic_quotes_runtime(false); $SELF = preg_replace('~^[^?]*/([^?]*).*~', '\\1?', $_SERVER["REQUEST_URI"]) . (strlen($_GET["server"]) ? 'server=' . urlencode($_GET["server"]) . '&' : '') . (strlen($_GET["db"]) ? 'db=' . urlencode($_GET["db"]) . '&' : ''); include "./include/version.inc.php"; include "./include/functions.inc.php"; include "./include/lang.inc.php"; include "./lang/$LANG.inc.php"; include "./include/pdo.inc.php"; include "./include/mysql.inc.php"; include "./include/design.inc.php"; include "./include/auth.inc.php"; include "./include/connect.inc.php"; include "./include/editing.inc.php"; include "./include/export.inc.php"; if (isset($_GET["download"])) { include "./download.inc.php"; } else { // outputs footer $on_actions = array("RESTRICT", "CASCADE", "SET NULL", "NO ACTION"); $enum_length = '\'(?:\'\'|[^\'\\\\]+|\\\\.)*\'|"(?:""|[^"\\\\]+|\\\\.)*"'; $inout = array("IN", "OUT", "INOUT"); $confirm = " onclick=\"return confirm('" . lang('Are you sure?') . "');\""; $error = ""; if (isset($_GET["table"])) { include "./table.inc.php"; } elseif (isset($_GET["view"])) { include "./view.inc.php"; } elseif (isset($_GET["schema"])) { include "./schema.inc.php"; } elseif (isset($_GET["dump"])) { include "./dump.inc.php"; } elseif (isset($_GET["privileges"])) { include "./privileges.inc.php"; } else { // uses CSRF token $token = $_SESSION["tokens"][$_GET["server"]]; if ($_POST) { if ($_POST["token"] != $token) { $error = lang('Invalid CSRF token. Send the form again.'); } } elseif ($_SERVER["REQUEST_METHOD"] == "POST") { $error = lang('Too big POST data. Reduce the data or increase the "post_max_size" configuration directive.'); } if (isset($_GET["default"])) { $_GET["edit"] = $_GET["default"]; } if (isset($_GET["select"]) && $_POST && (!$_POST["delete"] && !$_POST["export"] && !$_POST["import"] && !$_POST["save"])) { $_GET["edit"] = $_GET["select"]; } if (isset($_GET["callf"])) { $_GET["call"] = $_GET["callf"]; } if (isset($_GET["function"])) { $_GET["procedure"] = $_GET["function"]; } if (isset($_GET["clone"])) { $_GET["edit"] = $_GET["clone"]; } if (isset($_GET["sql"])) { include "./sql.inc.php"; } elseif (isset($_GET["edit"])) { include "./edit.inc.php"; } elseif (isset($_GET["create"])) { include "./create.inc.php"; } elseif (isset($_GET["indexes"])) { include "./indexes.inc.php"; } elseif (isset($_GET["database"])) { include "./database.inc.php"; } elseif (isset($_GET["call"])) { include "./call.inc.php"; } elseif (isset($_GET["foreign"])) { include "./foreign.inc.php"; } elseif (isset($_GET["createv"])) { include "./createv.inc.php"; } elseif (isset($_GET["event"])) { include "./event.inc.php"; } elseif (isset($_GET["procedure"])) { include "./procedure.inc.php"; } elseif (isset($_GET["trigger"])) { include "./trigger.inc.php"; } elseif (isset($_GET["user"])) { include "./user.inc.php"; } elseif (isset($_GET["processlist"])) { include "./processlist.inc.php"; } elseif (isset($_GET["select"])) { include "./select.inc.php"; } else { if ($_POST["tables"] && !$error) { $result = true; $message = ""; if (isset($_POST["truncate"])) { foreach ($_POST["tables"] as $table) { if (!queries("TRUNCATE " . idf_escape($table))) { $result = false; break; } } $message = lang('Tables have been truncated.'); } elseif (isset($_POST["move"])) { $rename = array(); foreach ($_POST["tables"] as $table) { $rename[] = idf_escape($table) . " TO " . idf_escape($_POST["target"]) . "." . idf_escape($table); } $result = queries("RENAME TABLE " . implode(", ", $rename)); $message = lang('Tables have been moved.'); } elseif ($result = queries((isset($_POST["optimize"]) ? "OPTIMIZE" : (isset($_POST["check"]) ? "CHECK" : (isset($_POST["repair"]) ? "REPAIR" : (isset($_POST["drop"]) ? "DROP" : "ANALYZE")))) . " TABLE " . implode(", ", array_map('idf_escape', $_POST["tables"])))) { if (isset($_POST["drop"])) { $message = lang('Tables have been dropped.'); } else { while ($row = $result->fetch_assoc()) { $message .= htmlspecialchars("$row[Table]: $row[Msg_text]") . "
"; } } } query_redirect(queries(), substr($SELF, 0, -1), $message, $result, false, !$result); } page_header(lang('Database') . ": " . htmlspecialchars($_GET["db"]), $error, false); echo '

' . lang('Alter database') . "

\n"; echo '

' . lang('Database schema') . "

\n"; echo "

" . lang('Tables and views') . "

\n"; $result = $dbh->query("SHOW TABLE STATUS"); if (!$result->num_rows) { echo "

" . lang('No tables.') . "

\n"; } else { echo "
\n"; echo "\n"; echo '\n"; while ($row = $result->fetch_assoc()) { table_comment($row); echo '\n"; } echo "
' . lang('Table') . '' . lang('Engine') . '' . lang('Comment') . '' . lang('Collation') . '' . lang('Data Length') . '' . lang('Index Length') . '' . lang('Data Free') . '' . lang('Auto Increment') . '' . lang('Rows') . "
' . (isset($row["Rows"]) ? '' . htmlspecialchars($row["Name"]) . "$row[Engine]" . (strlen(trim($row["Comment"])) ? htmlspecialchars($row["Comment"]) : " ") . "$row[Collation]" : ' ' . htmlspecialchars($row["Name"]) . '' . lang('View') . ''); foreach ((isset($row["Rows"]) ? array("Data_length" => "create", "Index_length" => "indexes", "Data_free" => "edit", "Auto_increment" => "create", "Rows" => "select") : array()) as $key => $link) { $val = number_format($row[$key], 0, '.', lang(',')); echo '' . (strlen($row[$key]) ? '' . ($key == "Rows" && $row["Engine"] == "InnoDB" && $val ? lang('~ %s', $val) : $val) . '' : ' '); } echo "
\n"; echo "

\n"; $dbs = get_databases(); if (count($dbs) != 1) { $db = (isset($_POST["target"]) ? $_POST["target"] : $_GET["db"]); echo "

" . lang('Move to other database') . ($dbs ? ": " : ': ') . "

\n"; } echo "
\n"; } $result->free(); if ($dbh->server_info >= 5) { echo '

' . lang('Create view') . "

\n"; echo "

" . lang('Routines') . "

\n"; $result = $dbh->query("SELECT * FROM information_schema.ROUTINES WHERE ROUTINE_SCHEMA = '" . $dbh->escape_string($_GET["db"]) . "'"); if ($result->num_rows) { echo "\n"; while ($row = $result->fetch_assoc()) { echo ""; echo ""; echo ''; echo '"; echo "\n"; } echo "
" . htmlspecialchars($row["ROUTINE_TYPE"]) . "' . htmlspecialchars($row["ROUTINE_NAME"]) . '' . lang('Alter') . "
\n"; } $result->free(); echo '

' . lang('Create procedure') . ' ' . lang('Create function') . "

\n"; } if ($dbh->server_info >= 5.1 && ($result = $dbh->query("SHOW EVENTS"))) { echo "

" . lang('Events') . "

\n"; if ($result->num_rows) { echo "\n"; echo "\n"; while ($row = $result->fetch_assoc()) { echo ""; echo '"; echo ""; echo ""; echo "\n"; } echo "
" . lang('Name') . "" . lang('Schedule') . "" . lang('Start') . "" . lang('End') . "
' . htmlspecialchars($row["Name"]) . "" . ($row["Execute at"] ? lang('At given time') . "" . $row["Execute at"] : lang('Every') . " " . $row["Interval value"] . " " . $row["Interval field"] . "$row[Starts]") . "$row[Ends]
\n"; } $result->free(); echo '

' . lang('Create event') . "

\n"; } } } page_footer(); }