]> git.joonet.de Git - adminer.git/commitdiff
Downloaded file name
authorjakubvrana <jakubvrana@7c3ca157-0c34-0410-bff1-cbf682f78f5c>
Thu, 11 Jun 2009 05:18:40 +0000 (05:18 +0000)
committerjakubvrana <jakubvrana@7c3ca157-0c34-0410-bff1-cbf682f78f5c>
Thu, 11 Jun 2009 05:18:40 +0000 (05:18 +0000)
git-svn-id: https://adminer.svn.sourceforge.net/svnroot/adminer/trunk@665 7c3ca157-0c34-0410-bff1-cbf682f78f5c

download.inc.php
include/export.inc.php
include/functions.inc.php

index 1fd2179fe2c7b393836fd7ccb6c9d8ed2896abb4..ff1f78620a38cf1ecb1bd2034fbe15cf17ba1c6b 100644 (file)
@@ -1,3 +1,4 @@
 <?php
 header("Content-Type: application/octet-stream");
+header("Content-Disposition: attachment; filename=" . friendly_url("$_GET[download]-" . implode("_", $_GET["where"])) . "." . friendly_url($_GET["field"]));
 echo $dbh->result($dbh->query("SELECT " . idf_escape($_GET["field"]) . " FROM " . idf_escape($_GET["download"]) . " WHERE " . implode(" AND ", where($_GET)) . " LIMIT 1"));
index 65b68f3aa52d3e697680ee8eec7c4e1b5db6ca99..f9fdf58df49ade8acca9be7db14c4720f5ed644d 100644 (file)
@@ -164,7 +164,7 @@ function dump_data($table, $style, $from = "") {
 }
 
 function dump_headers($identifier, $multi_table = false) {
-       $filename = (strlen($identifier) ? preg_replace('~[^a-z0-9_]~i', '-', $identifier) : "dump");
+       $filename = (strlen($identifier) ? friendly_url($identifier) : "dump");
        $ext = ($_POST["format"] == "sql" ? "sql" : ($multi_table ? "tar" : "csv"));
        header("Content-Type: " . ($ext == "tar" ? "application/x-tar" : ($ext == "sql" || $_POST["output"] != "file" ? "text/plain" : "text/csv")) . "; charset=utf-8");
        header("Content-Disposition: " . ($_POST["output"] == "file" ? "attachment" : "inline") . "; filename=$filename.$ext");
index 1dc3493339cc34fb9640692f6f38d35159cdaad9..330b06cf986ec56ff7cfd9f0766f7f5c21ec797e 100644 (file)
@@ -200,7 +200,7 @@ function select($result, $dbh2 = null) {
                                        $val = "<i>NULL</i>";
                                } else {
                                        if ($blobs[$key] && !is_utf8($val)) {
-                                               $val = "<i>" . lang('%d byte(s)', strlen($val)) . "</i>";
+                                               $val = "<i>" . lang('%d byte(s)', strlen($val)) . "</i>"; //! link to download
                                        } else {
                                                $val = nl2br(htmlspecialchars($val));
                                                if ($types[$key] == 254) {
@@ -233,6 +233,10 @@ function shorten_utf8($string, $length) {
        return nl2br(htmlspecialchars($match[1])) . ($match[2] ? "<em>...</em>" : "");
 }
 
+function friendly_url($val) {
+       return preg_replace('~[^a-z0-9_]~i', '-', $val);
+}
+
 function hidden_fields($process, $ignore = array()) {
        while (list($key, $val) = each($process)) {
                if (is_array($val)) {