1
0
mirror of https://github.com/vrana/adminer.git synced 2025-08-09 16:17:48 +02:00

Simplify dumpOutput, dumpFormat and dumpData methods

This commit is contained in:
Jakub Vrana
2010-10-29 17:11:00 +02:00
parent 095d472366
commit be3410f822
4 changed files with 20 additions and 23 deletions

View File

@@ -75,7 +75,7 @@ SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';
} }
$adminer->dumpTable($row["Name"], ($table ? $_POST["table_style"] : "")); $adminer->dumpTable($row["Name"], ($table ? $_POST["table_style"] : ""));
if ($data) { if ($data) {
$adminer->dumpData($row["Name"], $_POST["data_style"]); $adminer->dumpData($row["Name"], $_POST["data_style"], "SELECT * FROM " . table($row["Name"]));
} }
if ($is_sql && $_POST["triggers"]) { if ($is_sql && $_POST["triggers"]) {
$triggers = trigger_sql($row["Name"], $_POST["table_style"]); $triggers = trigger_sql($row["Name"], $_POST["table_style"]);
@@ -167,8 +167,8 @@ if (!$row) {
$row = array("output" => "text", "format" => "sql", "db_style" => (DB != "" ? "" : "CREATE"), "table_style" => "DROP+CREATE", "data_style" => "INSERT"); $row = array("output" => "text", "format" => "sql", "db_style" => (DB != "" ? "" : "CREATE"), "table_style" => "DROP+CREATE", "data_style" => "INSERT");
} }
$checked = ($_GET["dump"] == ""); $checked = ($_GET["dump"] == "");
echo "<tr><th>" . lang('Output') . "<td>" . $adminer->dumpOutput(0, $row["output"]) . "\n"; echo "<tr><th>" . lang('Output') . "<td>" . html_select("output", $adminer->dumpOutput(), $row["output"], 0) . "\n"; // 0 - radio
echo "<tr><th>" . lang('Format') . "<td>" . $adminer->dumpFormat(0, $row["format"]) . "\n"; echo "<tr><th>" . lang('Format') . "<td>" . html_select("format", $adminer->dumpFormat(), $row["format"], 0) . "\n"; // 0 - radio
echo ($jush == "sqlite" ? "" : "<tr><th>" . lang('Database') . "<td>" . html_select('db_style', $db_style, $row["db_style"]) echo ($jush == "sqlite" ? "" : "<tr><th>" . lang('Database') . "<td>" . html_select('db_style', $db_style, $row["db_style"])
. (support("routine") ? checkbox("routines", 1, $checked, lang('Routines')) : "") . (support("routine") ? checkbox("routines", 1, $checked, lang('Routines')) : "")
. (support("event") ? checkbox("events", 1, $checked, lang('Events')) : "") . (support("event") ? checkbox("events", 1, $checked, lang('Events')) : "")

View File

@@ -476,11 +476,9 @@ document.getElementById('username').focus();
} }
/** Returns export output options /** Returns export output options
* @param bool generate select (otherwise radio) * @return array
* @param string
* @return string
*/ */
function dumpOutput($select, $value = "") { function dumpOutput() {
$return = array('text' => lang('open'), 'file' => lang('save')); $return = array('text' => lang('open'), 'file' => lang('save'));
if (function_exists('gzencode')) { if (function_exists('gzencode')) {
$return['gz'] = 'gzip'; $return['gz'] = 'gzip';
@@ -489,16 +487,14 @@ document.getElementById('username').focus();
$return['bz2'] = 'bzip2'; $return['bz2'] = 'bzip2';
} }
// ZipArchive requires temporary file, ZIP can be created by gzcompress - see PEAR File_Archive // ZipArchive requires temporary file, ZIP can be created by gzcompress - see PEAR File_Archive
return html_select("output", $return, $value, $select); return $return;
} }
/** Returns export format options /** Returns export format options
* @param bool generate select (otherwise radio) * @return array
* @param string
* @return string
*/ */
function dumpFormat($select, $value = "") { function dumpFormat() {
return html_select("format", array('sql' => 'SQL', 'csv' => 'CSV,', 'csv;' => 'CSV;'), $value, $select); return array('sql' => 'SQL', 'csv' => 'CSV,', 'csv;' => 'CSV;');
} }
/** Export table structure /** Export table structure
@@ -602,10 +598,10 @@ DROP PROCEDURE adminer_alter;
/** Export table data /** Export table data
* @param string * @param string
* @param string * @param string
* @param string query to execute, defaults to SELECT * FROM $table * @param string
* @return null prints data * @return null prints data
*/ */
function dumpData($table, $style, $select = "") { function dumpData($table, $style, $query) {
global $connection, $jush; global $connection, $jush;
$max_packet = ($jush == "sqlite" ? 0 : 1048576); // default, minimum is 1024 $max_packet = ($jush == "sqlite" ? 0 : 1048576); // default, minimum is 1024
if ($style) { if ($style) {
@@ -613,7 +609,7 @@ DROP PROCEDURE adminer_alter;
echo truncate_sql($table) . ";\n"; echo truncate_sql($table) . ";\n";
} }
$fields = fields($table); $fields = fields($table);
$result = $connection->query(($select ? $select : "SELECT * FROM " . table($table)), 1); // 1 - MYSQLI_USE_RESULT //! enum and set as numbers $result = $connection->query($query, 1); // 1 - MYSQLI_USE_RESULT //! enum and set as numbers
if ($result) { if ($result) {
$insert = ""; $insert = "";
$buffer = ""; $buffer = "";

View File

@@ -389,7 +389,8 @@ if (!$columns) {
<?php <?php
} }
print_fieldset("export", lang('Export')); print_fieldset("export", lang('Export'));
echo $adminer->dumpOutput(1, $adminer_export["output"]) . " " . $adminer->dumpFormat(1, $adminer_export["format"]); // 1 - select $output = $adminer->dumpOutput();
echo ($output ? html_select("output", $output, $adminer_export["output"]) . " " : "") . html_select("format", $adminer->dumpFormat(), $adminer_export["format"]);
echo " <input type='submit' name='export' value='" . lang('Export') . "'>\n"; echo " <input type='submit' name='export' value='" . lang('Export') . "'>\n";
echo "</div></fieldset>\n"; echo "</div></fieldset>\n";
} }

View File

@@ -434,21 +434,21 @@ ORDER BY ORDINAL_POSITION", null, "") as $row) { //! requires MySQL 5
return $return; return $return;
} }
function dumpOutput($select, $value = "") { function dumpOutput() {
return ""; return array();
} }
function dumpFormat($select, $value = "") { function dumpFormat() {
return html_select("format", array('csv' => 'CSV,', 'csv;' => 'CSV;'), $value, $select); return array('csv' => 'CSV,', 'csv;' => 'CSV;');
} }
function dumpTable() { function dumpTable() {
echo "\xef\xbb\xbf"; // UTF-8 byte order mark echo "\xef\xbb\xbf"; // UTF-8 byte order mark
} }
function dumpData($table, $style, $select = "") { function dumpData($table, $style, $query) {
global $connection; global $connection;
$result = $connection->query(($select ? $select : "SELECT * FROM " . idf_escape($table)), 1); // 1 - MYSQLI_USE_RESULT $result = $connection->query($query, 1); // 1 - MYSQLI_USE_RESULT
if ($result) { if ($result) {
while ($row = $result->fetch_assoc()) { while ($row = $result->fetch_assoc()) {
dump_csv($row); dump_csv($row);