Plugin for including date in export filename
This commit is contained in:
parent
f158d5e392
commit
b78b0cd109
|
@ -716,6 +716,14 @@ DROP PROCEDURE adminer_alter;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Set export filename
|
||||||
|
* @param string
|
||||||
|
* @return string filename without extension
|
||||||
|
*/
|
||||||
|
function dumpFilename($identifier) {
|
||||||
|
return friendly_url($identifier != "" ? $identifier : (SERVER != "" ? SERVER : "localhost"));
|
||||||
|
}
|
||||||
|
|
||||||
/** Send headers for export
|
/** Send headers for export
|
||||||
* @param string
|
* @param string
|
||||||
* @param bool
|
* @param bool
|
||||||
|
@ -730,9 +738,6 @@ DROP PROCEDURE adminer_alter;
|
||||||
($ext == "tar" ? "application/x-tar" :
|
($ext == "tar" ? "application/x-tar" :
|
||||||
($ext == "sql" || $output != "file" ? "text/plain" : "text/csv") . "; charset=utf-8"
|
($ext == "sql" || $output != "file" ? "text/plain" : "text/csv") . "; charset=utf-8"
|
||||||
))));
|
))));
|
||||||
if ($output != "text") {
|
|
||||||
header("Content-Disposition: attachment; filename=" . friendly_url($identifier != "" ? $identifier : (SERVER != "" ? SERVER : "localhost")) . ".$ext" . ($output != "file" && !ereg('[^0-9a-z]', $output) ? ".$output" : ""));
|
|
||||||
}
|
|
||||||
if ($output == "bz2") {
|
if ($output == "bz2") {
|
||||||
ob_start('bzcompress', 1e6);
|
ob_start('bzcompress', 1e6);
|
||||||
}
|
}
|
||||||
|
|
|
@ -803,6 +803,10 @@ function search_tables() {
|
||||||
function dump_headers($identifier, $multi_table = false) {
|
function dump_headers($identifier, $multi_table = false) {
|
||||||
global $adminer;
|
global $adminer;
|
||||||
$return = $adminer->dumpHeaders($identifier, $multi_table);
|
$return = $adminer->dumpHeaders($identifier, $multi_table);
|
||||||
|
$output = $_POST["output"];
|
||||||
|
if ($output != "text") {
|
||||||
|
header("Content-Disposition: attachment; filename=" . $adminer->dumpFilename($identifier) . ".$return" . ($output != "file" && !ereg('[^0-9a-z]', $output) ? ".$output" : ""));
|
||||||
|
}
|
||||||
session_write_close();
|
session_write_close();
|
||||||
return $return;
|
return $return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -505,10 +505,13 @@ ORDER BY ORDINAL_POSITION", null, "") as $row) { //! requires MySQL 5
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function dumpFilename($identifier) {
|
||||||
|
return friendly_url($identifier);
|
||||||
|
}
|
||||||
|
|
||||||
function dumpHeaders($identifier, $multi_table = false) {
|
function dumpHeaders($identifier, $multi_table = false) {
|
||||||
$ext = "csv";
|
$ext = "csv";
|
||||||
header("Content-Type: text/csv; charset=utf-8");
|
header("Content-Type: text/csv; charset=utf-8");
|
||||||
header("Content-Disposition: attachment; filename=" . friendly_url($identifier) . ".$ext");
|
|
||||||
return $ext;
|
return $ext;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
15
plugins/dump-date.php
Normal file
15
plugins/dump-date.php
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/** Include current date and time in export filename
|
||||||
|
* @author Jakub Vrana, http://www.vrana.cz/
|
||||||
|
* @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
|
||||||
|
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License, version 2 (one or other)
|
||||||
|
*/
|
||||||
|
class AdminerDumpDate {
|
||||||
|
|
||||||
|
function dumpFilename($identifier) {
|
||||||
|
$connection = connection();
|
||||||
|
return friendly_url(($identifier != "" ? $identifier : (SERVER != "" ? SERVER : "localhost")) . "-" . $connection->result("SELECT NOW()"));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -6,6 +6,8 @@
|
||||||
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License, version 2 (one or other)
|
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License, version 2 (one or other)
|
||||||
*/
|
*/
|
||||||
class AdminerDumpXml {
|
class AdminerDumpXml {
|
||||||
|
/** @access protected */
|
||||||
|
var $database = false;
|
||||||
|
|
||||||
function dumpFormat() {
|
function dumpFormat() {
|
||||||
return array('xml' => 'XML');
|
return array('xml' => 'XML');
|
||||||
|
@ -22,10 +24,9 @@ class AdminerDumpXml {
|
||||||
}
|
}
|
||||||
|
|
||||||
function dumpData($table, $style, $query) {
|
function dumpData($table, $style, $query) {
|
||||||
static $database = false;
|
|
||||||
if ($_POST["format"] == "xml") {
|
if ($_POST["format"] == "xml") {
|
||||||
if (!$database) {
|
if (!$this->database) {
|
||||||
$database = true;
|
$this->database = true;
|
||||||
echo "<database name='" . h(DB) . "'>\n";
|
echo "<database name='" . h(DB) . "'>\n";
|
||||||
register_shutdown_function(array($this, '_database'));
|
register_shutdown_function(array($this, '_database'));
|
||||||
}
|
}
|
||||||
|
|
|
@ -291,6 +291,11 @@ class AdminerPlugin extends Adminer {
|
||||||
return $this->_applyPlugin(__FUNCTION__, $args);
|
return $this->_applyPlugin(__FUNCTION__, $args);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function dumpFilename() {
|
||||||
|
$args = func_get_args();
|
||||||
|
return $this->_applyPlugin(__FUNCTION__, $args);
|
||||||
|
}
|
||||||
|
|
||||||
function dumpHeaders() {
|
function dumpHeaders() {
|
||||||
$args = func_get_args();
|
$args = func_get_args();
|
||||||
return $this->_applyPlugin(__FUNCTION__, $args);
|
return $this->_applyPlugin(__FUNCTION__, $args);
|
||||||
|
|
Loading…
Reference in a new issue