diff --git a/adminer/dump.inc.php b/adminer/dump.inc.php index e5388551..fb9f5188 100644 --- a/adminer/dump.inc.php +++ b/adminer/dump.inc.php @@ -75,7 +75,7 @@ SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO'; } $adminer->dumpTable($row["Name"], ($table ? $_POST["table_style"] : "")); 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"]) { $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"); } $checked = ($_GET["dump"] == ""); -echo "" . lang('Output') . "" . $adminer->dumpOutput(0, $row["output"]) . "\n"; -echo "" . lang('Format') . "" . $adminer->dumpFormat(0, $row["format"]) . "\n"; +echo "" . lang('Output') . "" . html_select("output", $adminer->dumpOutput(), $row["output"], 0) . "\n"; // 0 - radio +echo "" . lang('Format') . "" . html_select("format", $adminer->dumpFormat(), $row["format"], 0) . "\n"; // 0 - radio echo ($jush == "sqlite" ? "" : "" . lang('Database') . "" . html_select('db_style', $db_style, $row["db_style"]) . (support("routine") ? checkbox("routines", 1, $checked, lang('Routines')) : "") . (support("event") ? checkbox("events", 1, $checked, lang('Events')) : "") diff --git a/adminer/include/adminer.inc.php b/adminer/include/adminer.inc.php index 9973c13f..fb700597 100644 --- a/adminer/include/adminer.inc.php +++ b/adminer/include/adminer.inc.php @@ -476,11 +476,9 @@ document.getElementById('username').focus(); } /** Returns export output options - * @param bool generate select (otherwise radio) - * @param string - * @return string + * @return array */ - function dumpOutput($select, $value = "") { + function dumpOutput() { $return = array('text' => lang('open'), 'file' => lang('save')); if (function_exists('gzencode')) { $return['gz'] = 'gzip'; @@ -489,16 +487,14 @@ document.getElementById('username').focus(); $return['bz2'] = 'bzip2'; } // 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 - * @param bool generate select (otherwise radio) - * @param string - * @return string + * @return array */ - function dumpFormat($select, $value = "") { - return html_select("format", array('sql' => 'SQL', 'csv' => 'CSV,', 'csv;' => 'CSV;'), $value, $select); + function dumpFormat() { + return array('sql' => 'SQL', 'csv' => 'CSV,', 'csv;' => 'CSV;'); } /** Export table structure @@ -602,10 +598,10 @@ DROP PROCEDURE adminer_alter; /** Export table data * @param string * @param string - * @param string query to execute, defaults to SELECT * FROM $table + * @param string * @return null prints data */ - function dumpData($table, $style, $select = "") { + function dumpData($table, $style, $query) { global $connection, $jush; $max_packet = ($jush == "sqlite" ? 0 : 1048576); // default, minimum is 1024 if ($style) { @@ -613,7 +609,7 @@ DROP PROCEDURE adminer_alter; echo truncate_sql($table) . ";\n"; } $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) { $insert = ""; $buffer = ""; diff --git a/adminer/select.inc.php b/adminer/select.inc.php index b4ec236c..3c10e844 100644 --- a/adminer/select.inc.php +++ b/adminer/select.inc.php @@ -389,7 +389,8 @@ if (!$columns) { 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 " \n"; echo "\n"; } diff --git a/editor/include/adminer.inc.php b/editor/include/adminer.inc.php index 47a86a74..e1480f11 100644 --- a/editor/include/adminer.inc.php +++ b/editor/include/adminer.inc.php @@ -434,21 +434,21 @@ ORDER BY ORDINAL_POSITION", null, "") as $row) { //! requires MySQL 5 return $return; } - function dumpOutput($select, $value = "") { - return ""; + function dumpOutput() { + return array(); } - function dumpFormat($select, $value = "") { - return html_select("format", array('csv' => 'CSV,', 'csv;' => 'CSV;'), $value, $select); + function dumpFormat() { + return array('csv' => 'CSV,', 'csv;' => 'CSV;'); } function dumpTable() { echo "\xef\xbb\xbf"; // UTF-8 byte order mark } - function dumpData($table, $style, $select = "") { + function dumpData($table, $style, $query) { 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) { while ($row = $result->fetch_assoc()) { dump_csv($row);