The branch, master has been updated via 1369bf2c4330ebc57da869428ae747a2903642cb (commit) via b4a2dc7196347d891a1b2d0a397052c1a860c3d6 (commit) via bbaeb8922bcc7ee70232c375358b7fe530a11313 (commit) via 6196970dc26de011646a581044dbf05d95400c67 (commit) via 2283b016bb597ab70e557ae0f2ac18c64b473faa (commit) via 6ef6ab3d79e74dcd58de6207d867e20a67403701 (commit) via cb337bbb02b41f4b99123dc6b9035a4ca4e0282c (commit) via 7281d04793978b1954128ef6f74ecddfc46f547b (commit) via 1a5154bd876edf2b703c7eebfa6650a4f242c33d (commit) via d6c2dfb51b1a2977ad03033cdfe5c74709313f9c (commit) via eeb54e007b4d51269e6d3a31578bb92ac5bae21c (commit) via 045f59c78a7aa74efa002b17044996309d93d41d (commit) via 1031bf2df83d0fc8e1a5790d6ff64448d4e4579b (commit) via 5b568db10fa5629ac5eea30de71b9e1dcc6e7fa7 (commit) via e7db079b819461bed60cdc69a4bb972e704cc630 (commit) via aa5156463bf75cfaf3a0a49deabe8cf03ae8c379 (commit) via 34da1ea053e35723a2d22e25360bbb6ab3866e49 (commit) via c79fc30debdfc23c5d65b8a8c43f16d0899cee2e (commit) via b68145bf88e607734a73bee845486635393c3d03 (commit) via 7afe37b0a535fa7069ac26d0e415442aada65bf6 (commit) via 69a69a5fb85742c026cb3b42cbde8c63939057b8 (commit) via 5d05da19f20f098bb71fad429f7ca56944a27d85 (commit) via b9f1fe6bfa858f4a9ed6bef78da379e61ddf277c (commit) via 350157c5523d6e72f4b326c1bd8b9f31b8a5d22d (commit) via 66f9667a61d2fdc269cd07a5bb2ed990ab2c46cf (commit) via 17689a2df4a4d1239bfba8911f6badbe36ce13be (commit) from b9a7ac74251c490c67dae063e3cf4bb637cce288 (commit)
- Log ----------------------------------------------------------------- commit 1369bf2c4330ebc57da869428ae747a2903642cb Author: Michal Čihař mcihar@suse.cz Date: Thu Aug 4 14:38:59 2011 +0200
Document weirdness
commit b4a2dc7196347d891a1b2d0a397052c1a860c3d6 Author: Michal Čihař mcihar@suse.cz Date: Thu Aug 4 14:38:07 2011 +0200
Use new function for download headers
commit bbaeb8922bcc7ee70232c375358b7fe530a11313 Author: Michal Čihař mcihar@suse.cz Date: Thu Aug 4 14:37:42 2011 +0200
Use new function for download headers
commit 6196970dc26de011646a581044dbf05d95400c67 Author: Michal Čihař mcihar@suse.cz Date: Thu Aug 4 14:36:01 2011 +0200
Use new function for no cache headers
commit 2283b016bb597ab70e557ae0f2ac18c64b473faa Author: Michal Čihař mcihar@suse.cz Date: Thu Aug 4 14:35:36 2011 +0200
Use HTTP/1.1 for all browsers
commit 6ef6ab3d79e74dcd58de6207d867e20a67403701 Author: Michal Čihař mcihar@suse.cz Date: Thu Aug 4 14:33:11 2011 +0200
Add some comments
commit cb337bbb02b41f4b99123dc6b9035a4ca4e0282c Author: Michal Čihař mcihar@suse.cz Date: Thu Aug 4 14:32:02 2011 +0200
Use new function for no cache headers
commit 7281d04793978b1954128ef6f74ecddfc46f547b Author: Michal Čihař mcihar@suse.cz Date: Thu Aug 4 14:31:32 2011 +0200
Factor out no caching headers
commit 1a5154bd876edf2b703c7eebfa6650a4f242c33d Author: Michal Čihař mcihar@suse.cz Date: Thu Aug 4 14:29:56 2011 +0200
Use new function for download headers
commit d6c2dfb51b1a2977ad03033cdfe5c74709313f9c Author: Michal Čihař mcihar@suse.cz Date: Thu Aug 4 14:28:23 2011 +0200
Use new function for download headers
commit eeb54e007b4d51269e6d3a31578bb92ac5bae21c Author: Michal Čihař mcihar@suse.cz Date: Thu Aug 4 14:27:44 2011 +0200
Use new function for download headers
commit 045f59c78a7aa74efa002b17044996309d93d41d Author: Michal Čihař mcihar@suse.cz Date: Thu Aug 4 14:26:47 2011 +0200
Use new function for download headers
commit 1031bf2df83d0fc8e1a5790d6ff64448d4e4579b Author: Michal Čihař mcihar@suse.cz Date: Thu Aug 4 14:25:45 2011 +0200
Use new function for download headers
commit 5b568db10fa5629ac5eea30de71b9e1dcc6e7fa7 Author: Michal Čihař mcihar@suse.cz Date: Thu Aug 4 14:24:57 2011 +0200
Use new function for download headers
commit e7db079b819461bed60cdc69a4bb972e704cc630 Author: Michal Čihař mcihar@suse.cz Date: Thu Aug 4 14:24:15 2011 +0200
Use predefined PHP constant for date instead of manually defining format
commit aa5156463bf75cfaf3a0a49deabe8cf03ae8c379 Author: Michal Čihař mcihar@suse.cz Date: Thu Aug 4 14:22:41 2011 +0200
Allow spaces in filename
commit 34da1ea053e35723a2d22e25360bbb6ab3866e49 Author: Michal Čihař mcihar@suse.cz Date: Thu Aug 4 14:22:05 2011 +0200
Use new function for download headers
commit c79fc30debdfc23c5d65b8a8c43f16d0899cee2e Author: Michal Čihař mcihar@suse.cz Date: Thu Aug 4 14:21:27 2011 +0200
Use new function for download headers
commit b68145bf88e607734a73bee845486635393c3d03 Author: Michal Čihař mcihar@suse.cz Date: Thu Aug 4 14:21:01 2011 +0200
Use new function for download headers
commit 7afe37b0a535fa7069ac26d0e415442aada65bf6 Author: Michal Čihař mcihar@suse.cz Date: Thu Aug 4 14:20:32 2011 +0200
Use new function for download headers
commit 69a69a5fb85742c026cb3b42cbde8c63939057b8 Author: Michal Čihař mcihar@suse.cz Date: Thu Aug 4 14:19:53 2011 +0200
Use new function for download headers
commit 5d05da19f20f098bb71fad429f7ca56944a27d85 Author: Michal Čihař mcihar@suse.cz Date: Thu Aug 4 14:19:07 2011 +0200
Use new function for download headers
commit b9f1fe6bfa858f4a9ed6bef78da379e61ddf277c Author: Michal Čihař mcihar@suse.cz Date: Thu Aug 4 14:18:32 2011 +0200
Include no caching headers
commit 350157c5523d6e72f4b326c1bd8b9f31b8a5d22d Author: Michal Čihař mcihar@suse.cz Date: Thu Aug 4 14:17:18 2011 +0200
Use generic function for download headers
commit 66f9667a61d2fdc269cd07a5bb2ed990ab2c46cf Author: Michal Čihař mcihar@suse.cz Date: Thu Aug 4 14:17:07 2011 +0200
Generic function for sending download headers
commit 17689a2df4a4d1239bfba8911f6badbe36ce13be Author: Michal Čihař mcihar@suse.cz Date: Thu Aug 4 14:12:09 2011 +0200
Coding style
-----------------------------------------------------------------------
Summary of changes: bs_disp_as_mime_type.php | 9 +---- export.php | 20 +---------- file_echo.php | 29 ++++++--------- import_status.php | 3 +- libraries/core.lib.php | 43 +++++++++++++++++++++- libraries/gis/pma_gis_visualization.php | 11 +----- libraries/header_http.inc.php | 5 +-- libraries/schema/Dia_Relation_Schema.class.php | 3 +- libraries/schema/Eps_Relation_Schema.class.php | 3 +- libraries/schema/Pdf_Relation_Schema.class.php | 4 +-- libraries/schema/Svg_Relation_Schema.class.php | 3 +- libraries/schema/Visio_Relation_Schema.class.php | 3 +- prefs_manage.php | 4 +-- setup/config.php | 3 +- show_config_errors.php | 5 +-- tbl_get_field.php | 14 +------- tbl_tracking.php | 25 ++++--------- transformation_wrapper.php | 11 +++--- webapp.php | 3 +- 19 files changed, 83 insertions(+), 118 deletions(-)
diff --git a/bs_disp_as_mime_type.php b/bs_disp_as_mime_type.php index 9ec0ec5..fd75c4d 100644 --- a/bs_disp_as_mime_type.php +++ b/bs_disp_as_mime_type.php @@ -43,14 +43,7 @@ if ($fHnd === false) {
$f_size = $hdrs['Content-Length'];
-header("Expires: 0"); -header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); -header("Cache-Control: no-store, no-cache, must-revalidate"); -header("Cache-Control: post-check=0, pre-check=0", false); -header("Pragma: no-cache"); -header("Content-type: $c_type"); -header('Content-length: ' . $f_size); -header("Content-disposition: attachment; filename=" . basename($filename)); +PMA_download_header(basename($filename), $c_type, true, $f_size);
$pos = 0; $content = ""; diff --git a/export.php b/export.php index d7c2f87..3678924 100644 --- a/export.php +++ b/export.php @@ -347,25 +347,7 @@ if (!$save_on_server) { // this was reported to happen under Plesk) @ini_set('url_rewriter.tags','');
- header('Content-Type: ' . $mime_type); - header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT'); - // Tested behavior of - // IE 5.50.4807.2300 - // IE 6.0.2800.1106 (small glitch, asks twice when I click Open) - // IE 6.0.2900.2180 - // Firefox 1.0.6 - // in http and https - header('Content-Disposition: attachment; filename="' . $filename . '"'); - if (PMA_USR_BROWSER_AGENT == 'IE') { - header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); - header('Pragma: public'); - } else { - header('Pragma: no-cache'); - // test case: exporting a database into a .gz file with Safari - // would produce files not having the current time - // (added this header for Safari but should not harm other browsers) - header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); - } + PMA_download_header($filename, $mime_type); } else { // HTML if ($export_type == 'database') { diff --git a/file_echo.php b/file_echo.php index da8baa0..d2f7257 100644 --- a/file_echo.php +++ b/file_echo.php @@ -1,7 +1,8 @@ <?php /* vim: set expandtab sw=4 ts=4 sts=4: */ /** - * "Echo" service to allow force downloading of exported charts (png or svg) and server status monitor settings + * "Echo" service to allow force downloading of exported charts (png or svg) + * and server status monitor settings * * @package phpMyAdmin */ @@ -11,23 +12,27 @@ require_once './libraries/common.inc.php'; if(isset($_REQUEST['filename']) && isset($_REQUEST['image'])) { $allowed = Array( 'image/png'=>'png', 'image/svg+xml'=>'svg');
- if (! isset($allowed[$_REQUEST['type']])) exit('Invalid export type'); + if (! isset($allowed[$_REQUEST['type']])) { + exit('Invalid export type'); + }
- if (! preg_match("/(".implode("|",$allowed).")$/i", $_REQUEST['filename'])) + if (! preg_match("/(".implode("|",$allowed).")$/i", $_REQUEST['filename'])) { $_REQUEST['filename'] .= '.' . $allowed[$_REQUEST['type']]; + }
- downloadHeader($_REQUEST['filename'],$_REQUEST['type']); + PMA_download_header($_REQUEST['filename'], $_REQUEST['type']);
- if ($allowed[$_REQUEST['type']] != 'svg') + if ($allowed[$_REQUEST['type']] != 'svg') { echo base64_decode(substr($_REQUEST['image'], strpos($_REQUEST['image'],',') + 1)); - else + } else { echo $_REQUEST['image']; + }
exit(); }
if(isset($_REQUEST['monitorconfig'])) { - downloadHeader('monitor.cfg','application/force-download'); + PMA_download_header('monitor.cfg', 'application/force-download'); echo urldecode($_REQUEST['monitorconfig']); exit(); } @@ -36,14 +41,4 @@ if(isset($_REQUEST['import'])) { echo '<html><body>' . file_get_contents($_FILES['file']['tmp_name']) . '</body></html>'; exit(); } - -exit('Invalid request'); - -function downloadHeader($file,$type) { - header("Cache-Control: public"); - header("Content-Description: File Transfer"); - header("Content-Disposition: attachment; filename=".$file); - header("Content-Type: ".$type); - header("Content-Transfer-Encoding: binary"); -} ?> diff --git a/import_status.php b/import_status.php index 7c77e31..75a3361 100644 --- a/import_status.php +++ b/import_status.php @@ -9,8 +9,7 @@ require_once './libraries/common.inc.php'; require_once './libraries/display_import_ajax.lib.php';
// AJAX requests can't be cached! -header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 -header("Expires: Sat, 11 Jan 1991 06:30:00 GMT"); // Date in the past +PMA_no_cache_header();
// $GLOBALS["message"] is used for asking for an import message if (isset($GLOBALS["message"]) && $GLOBALS["message"]) { diff --git a/libraries/core.lib.php b/libraries/core.lib.php index bb542ba..fd8c39a 100644 --- a/libraries/core.lib.php +++ b/libraries/core.lib.php @@ -224,7 +224,7 @@ function PMA_fatalError($error_message, $message_args = null) }
require('./libraries/error.inc.php'); - + if (!defined('TESTSUITE')) { exit; } @@ -538,6 +538,47 @@ function PMA_sendHeaderLocation($uri) }
/** + * Outputs headers to prevent caching in browser (and on the way). + */ +function PMA_no_cache_header() +{ + header('Expires: ' . date(DATE_RFC1123)); // rfc2616 - Section 14.21 + header('Cache-Control: no-store, no-cache, must-revalidate, pre-check=0, post-check=0, max-age=0'); // HTTP/1.1 + if (PMA_USR_BROWSER_AGENT == 'IE') { + /* FIXME: Why is this speecial case for IE needed? */ + header('Pragma: public'); + } else { + header('Pragma: no-cache'); // HTTP/1.0 + // test case: exporting a database into a .gz file with Safari + // would produce files not having the current time + // (added this header for Safari but should not harm other browsers) + header('Last-Modified: ' . date(DATE_RFC1123)); + } +} + + +/** + * Sends header indicating file download. + * + * @param $filename string Filename to include in headers. + * @param $mimetype string MIME type to include in headers. + * @return nothing + */ +function PMA_download_header($filename, $mimetype, $avoid_cache = true, $length = 0) { + if ($avoid_cache) { + PMA_no_cache_header(); + } + header('Content-Description: File Transfer'); + header('Content-Disposition: attachment; filename="' . $filename . '"'); + header('Content-Type: ' . $mimetype); + header('Content-Transfer-Encoding: binary'); + if ($length > 0) { + header('Content-Length: ' . $length); + } +} + + +/** * Returns value of an element in $array given by $path. * $path is a string describing position of an element in an associative array, * eg. Servers/1/host refers to $array[Servers][1][host] diff --git a/libraries/gis/pma_gis_visualization.php b/libraries/gis/pma_gis_visualization.php index d8da0d7..2817a23 100644 --- a/libraries/gis/pma_gis_visualization.php +++ b/libraries/gis/pma_gis_visualization.php @@ -134,16 +134,7 @@ class PMA_GIS_Visualization
ob_clean();
- header('Content-type: ' . $type); - header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT'); - header('Content-Disposition: Attachment;filename=' . $file_name); - if (PMA_USR_BROWSER_AGENT == 'IE') { - header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); - header('Pragma: public'); - } else { - header('Pragma: no-cache'); - header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); - } + PMA_download_header($file_name, $type); }
/** diff --git a/libraries/header_http.inc.php b/libraries/header_http.inc.php index f9d7d71..c30316d 100644 --- a/libraries/header_http.inc.php +++ b/libraries/header_http.inc.php @@ -24,10 +24,7 @@ if (!$GLOBALS['cfg']['AllowThirdPartyFraming']) { header('X-Frame-Options: SAMEORIGIN'); header('X-Content-Security-Policy: allow 'self'; options inline-script eval-script; frame-ancestors 'self'; img-src 'self' data:; script-src 'self' www.phpmyadmin.net'); } -header('Expires: ' . $GLOBALS['now']); // rfc2616 - Section 14.21 -header('Last-Modified: ' . $GLOBALS['now']); -header('Cache-Control: no-store, no-cache, must-revalidate, pre-check=0, post-check=0, max-age=0'); // HTTP/1.1 -header('Pragma: no-cache'); // HTTP/1.0 +PMA_no_cache_header() if (!defined('IS_TRANSFORMATION_WRAPPER')) { // Define the charset to be used header('Content-Type: text/html; charset=utf-8'); diff --git a/libraries/schema/Dia_Relation_Schema.class.php b/libraries/schema/Dia_Relation_Schema.class.php index bccf214..46e07d3 100644 --- a/libraries/schema/Dia_Relation_Schema.class.php +++ b/libraries/schema/Dia_Relation_Schema.class.php @@ -170,8 +170,7 @@ class PMA_DIA extends XMLWriter if(ob_get_clean()){ ob_end_clean(); } - header('Content-type: application/x-dia-diagram'); - header('Content-Disposition: attachment; filename="'.$fileName.'.dia"'); + PMA_download_header($fileName . '.dia', 'application/x-dia-diagram'); $output = $this->flush(); print $output; } diff --git a/libraries/schema/Eps_Relation_Schema.class.php b/libraries/schema/Eps_Relation_Schema.class.php index 50ea7e3..91e4bfa 100644 --- a/libraries/schema/Eps_Relation_Schema.class.php +++ b/libraries/schema/Eps_Relation_Schema.class.php @@ -333,8 +333,7 @@ class PMA_EPS // if(ob_get_clean()){ //ob_end_clean(); //} - header('Content-type: image/x-eps'); - header('Content-Disposition: attachment; filename="'.$fileName.'.eps"'); + PMA_download_header($fileName . '.eps', 'image/x-eps'); $output = $this->stringCommands; print $output; } diff --git a/libraries/schema/Pdf_Relation_Schema.class.php b/libraries/schema/Pdf_Relation_Schema.class.php index abdcf6c..68efc28 100644 --- a/libraries/schema/Pdf_Relation_Schema.class.php +++ b/libraries/schema/Pdf_Relation_Schema.class.php @@ -1068,9 +1068,7 @@ class PMA_Pdf_Relation_Schema extends PMA_Export_Relation_Schema } // instead of $pdf->Output(): $pdfData = $pdf->getPDFData(); - header('Content-Type: application/pdf'); - header('Content-Length: '.strlen($pdfData).''); - header('Content-disposition: attachment; filename="'.$filename.'"'); + PMA_download_header($filename, 'application/pdf'); echo $pdfData; }
diff --git a/libraries/schema/Svg_Relation_Schema.class.php b/libraries/schema/Svg_Relation_Schema.class.php index c845efe..71f93c6 100644 --- a/libraries/schema/Svg_Relation_Schema.class.php +++ b/libraries/schema/Svg_Relation_Schema.class.php @@ -168,8 +168,7 @@ class PMA_SVG extends XMLWriter function showOutput($fileName) { //ob_get_clean(); - header('Content-type: image/svg+xml'); - header('Content-Disposition: attachment; filename="'.$fileName.'.svg"'); + PMA_download_header($fileName . '.svg', 'image/svg+xml'); $output = $this->flush(); print $output; } diff --git a/libraries/schema/Visio_Relation_Schema.class.php b/libraries/schema/Visio_Relation_Schema.class.php index 011e73e..aa18c06 100644 --- a/libraries/schema/Visio_Relation_Schema.class.php +++ b/libraries/schema/Visio_Relation_Schema.class.php @@ -155,8 +155,7 @@ class PMA_VISIO extends XMLWriter //if(ob_get_clean()){ //ob_end_clean(); //} - header('Content-type: application/visio'); - header('Content-Disposition: attachment; filename="'.$fileName.'.vdx"'); + PMA_download_header($fileName . '.vdx', 'application/visio'); $output = $this->flush(); print $output; } diff --git a/prefs_manage.php b/prefs_manage.php index ec1b481..000cce4 100644 --- a/prefs_manage.php +++ b/prefs_manage.php @@ -24,9 +24,7 @@ $error = ''; if (isset($_POST['submit_export']) && filter_input(INPUT_POST, 'export_type') == 'text_file') { // export to JSON file $filename = 'phpMyAdmin-config-' . urlencode(PMA_getenv('HTTP_HOST')) . '.json'; - header('Content-Type: application/json'); - header('Content-Disposition: attachment; filename="' . $filename . '"'); - header('Expires: ' . date(DATE_RFC1123)); + PMA_download_header($filename, 'application/json'); $settings = PMA_load_userprefs(); echo json_encode($settings['config_data']); return; diff --git a/setup/config.php b/setup/config.php index 5333cb0..b90d24c 100644 --- a/setup/config.php +++ b/setup/config.php @@ -38,8 +38,7 @@ if (PMA_ifSetOr($_POST['submit_clear'], '')) { // // Output generated config file // - header('Content-Type: text/plain'); - header('Content-Disposition: attachment; filename="config.inc.php"'); + PMA_download_header('config.inc.php', 'text/plain'); echo ConfigGenerator::getConfigFile(); exit; } elseif (PMA_ifSetOr($_POST['submit_save'], '')) { diff --git a/show_config_errors.php b/show_config_errors.php index 09a286f..e163c42 100644 --- a/show_config_errors.php +++ b/show_config_errors.php @@ -7,10 +7,7 @@ */
$GLOBALS['now'] = gmdate('D, d M Y H:i:s') . ' GMT'; -header('Expires: ' . $GLOBALS['now']); // rfc2616 - Section 14.21 -header('Last-Modified: ' . $GLOBALS['now']); -header('Cache-Control: no-store, no-cache, must-revalidate, pre-check=0, post-check=0, max-age=0'); // HTTP/1.1 -header('Pragma: no-cache'); // HTTP/1.0 +PMA_no_cache_header(); header('Content-Type: text/html; charset=utf-8');
require './libraries/vendor_config.php'; diff --git a/tbl_get_field.php b/tbl_get_field.php index a58eb51..8c6c163 100644 --- a/tbl_get_field.php +++ b/tbl_get_field.php @@ -37,18 +37,6 @@ if ($result === false) { /* Avoid corrupting data */ @ini_set('url_rewriter.tags', '');
-header('Content-Type: ' . PMA_detectMIME($result)); -header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT'); -header('Content-Disposition: attachment; filename="' . $table . '-' . $transform_key . '.bin"'); -if (PMA_USR_BROWSER_AGENT == 'IE') { - header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); - header('Pragma: public'); -} else { - header('Pragma: no-cache'); - // test case: exporting a database into a .gz file with Safari - // would produce files not having the current time - // (added this header for Safari but should not harm other browsers) - header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); -} +PMA_download_header($table . '-' . $transform_key . '.bin', PMA_detectMIME($result)); echo $result; ?> diff --git a/tbl_tracking.php b/tbl_tracking.php index e308066..445976f 100644 --- a/tbl_tracking.php +++ b/tbl_tracking.php @@ -112,16 +112,7 @@ if (isset($_REQUEST['report_export']) && $_REQUEST['export_type'] == 'sqldumpfil $dump .= $entry['statement']; } $filename = 'log_' . htmlspecialchars($_REQUEST['table']) . '.sql'; - header('Content-Type: text/x-sql'); - header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT'); - header('Content-Disposition: attachment; filename="' . $filename . '"'); - if (PMA_USR_BROWSER_AGENT == 'IE') { - header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); - header('Pragma: public'); - } else { - header('Pragma: no-cache'); - header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); - } + PMA_download_header($filename, 'text/x-sql');
echo $dump; exit(); @@ -370,14 +361,14 @@ if (isset($_REQUEST['snapshot'])) { if (isset($_REQUEST['report']) && (isset($_REQUEST['delete_ddlog']) || isset($_REQUEST['delete_dmlog']))) {
if (isset($_REQUEST['delete_ddlog'])) { - + // Delete ddlog row data $delete_id = $_REQUEST['delete_ddlog']; - + // Only in case of valable id if ($delete_id == (int)$delete_id) { unset($data['ddlog'][$delete_id]); - + if (PMA_Tracker::changeTrackingData($_REQUEST['db'], $_REQUEST['table'], $_REQUEST['version'], 'DDL', $data['ddlog'])) $msg = PMA_Message::success(__('Tracking data definition successfully deleted')); else @@ -387,14 +378,14 @@ if (isset($_REQUEST['report']) && (isset($_REQUEST['delete_ddlog']) || isset($_R }
if (isset($_REQUEST['delete_dmlog'])) { - + // Delete dmlog row data $delete_id = $_REQUEST['delete_dmlog']; - + // Only in case of valable id if ($delete_id == (int)$delete_id) { unset($data['dmlog'][$delete_id]); - + if (PMA_Tracker::changeTrackingData($_REQUEST['db'], $_REQUEST['table'], $_REQUEST['version'], 'DML', $data['dmlog'])) $msg = PMA_Message::success(__('Tracking data manipulation successfully deleted')); else @@ -403,7 +394,7 @@ if (isset($_REQUEST['report']) && (isset($_REQUEST['delete_ddlog']) || isset($_R } } } - + if (isset($_REQUEST['report']) || isset($_REQUEST['report_export'])) { ?> <h3><?php echo __('Tracking report');?> [<a href="tbl_tracking.php?<?php echo $url_query;?>"><?php echo __('Close');?></a>]</h3> diff --git a/transformation_wrapper.php b/transformation_wrapper.php index f229bd3..577a435 100644 --- a/transformation_wrapper.php +++ b/transformation_wrapper.php @@ -61,16 +61,17 @@ if ($cfgRelation['commwork'] && $cfgRelation['mimework']) { require_once './libraries/header_http.inc.php'; // [MIME] if (isset($ct) && !empty($ct)) { - $content_type = 'Content-Type: ' . $ct; + $mime_type = $ct; } else { - $content_type = 'Content-Type: ' . (isset($mime_map[$transform_key]['mimetype']) ? str_replace('_', '/', $mime_map[$transform_key]['mimetype']) : $default_ct) . (isset($mime_options['charset']) ? $mime_options['charset'] : ''); + $mime_type = (isset($mime_map[$transform_key]['mimetype']) ? str_replace('_', '/', $mime_map[$transform_key]['mimetype']) : $default_ct) . (isset($mime_options['charset']) ? $mime_options['charset'] : ''); } -header($content_type);
-if (isset($cn) && !empty($cn)) { - header('Content-Disposition: attachment; filename=' . $cn); +if (empty($cn)) { + $cn = 'download.bin'; }
+PMA_download_header($mime_type, $cn); + if (! isset($resize)) { echo $row[$transform_key]; } else { diff --git a/webapp.php b/webapp.php index cdc0a87..8295efd 100644 --- a/webapp.php +++ b/webapp.php @@ -44,8 +44,7 @@ foreach ($parameters as $key => $value) { $ini_file .= $key . '=' . $value . "\n"; }
-header('Content-Type: application/webapp'); -header('Content-Disposition: attachment; filename="' . $name . '"'); +PMA_download_header($name, 'application/webapp', false);
$zip = new zipfile; $zip->setDoWrite();
hooks/post-receive