From 869e336c7335d984c9ae87d0b810f5c1b3744798 Mon Sep 17 00:00:00 2001 From: Janusz Dobrowolski Date: Fri, 10 Jul 2009 17:54:10 +0000 Subject: [PATCH] Buggy file view/download in ajax mode. --- admin/attachments.php | 46 ++++++++++++++++++++++++++++--------------- 1 file changed, 30 insertions(+), 16 deletions(-) diff --git a/admin/attachments.php b/admin/attachments.php index 8f517e8a..fca57867 100644 --- a/admin/attachments.php +++ b/admin/attachments.php @@ -18,36 +18,50 @@ include_once($path_to_root . "/includes/date_functions.inc"); include_once($path_to_root . "/includes/ui.inc"); include_once($path_to_root . "/includes/data_checks.inc"); +if (isset($_GET['vw'])) + $view_id = $_GET['vw']; +else $view_id = find_submit('view'); if ($view_id != -1) { $row = get_attachment($view_id); if ($row['filename'] != "") { - $type = ($row['filetype']) ? $row['filetype'] : 'application/octet-stream'; - header("Content-type: ".$type); - header('Content-Length: '.$row['filesize']); - if ($type == 'application/octet-stream') - header('Content-Disposition: attachment; filename='.$row['filename']); - else - header("Content-Disposition: inline"); - echo file_get_contents($comp_path."/".user_company(). "/attachments/".$row['unique_name']); - exit(); + if(in_ajax()) { + $Ajax->popup($_SERVER['PHP_SELF'].'?vw='.$view_id); + } else { + $type = ($row['filetype']) ? $row['filetype'] : 'application/octet-stream'; + header("Content-type: ".$type); + header('Content-Length: '.$row['filesize']); + if ($type == 'application/octet-stream') + header('Content-Disposition: attachment; filename='.$row['filename']); + else + header("Content-Disposition: inline"); + echo file_get_contents($comp_path."/".user_company(). "/attachments/".$row['unique_name']); + exit(); + } } } +if (isset($_GET['dl'])) + $download_id = $_GET['dl']; +else + $download_id = find_submit('download'); -$download_id = find_submit('download'); if ($download_id != -1) { $row = get_attachment($download_id); if ($row['filename'] != "") { - $type = ($row['filetype']) ? $row['filetype'] : 'application/octet-stream'; - header("Content-type: ".$type); - header('Content-Length: '.$row['filesize']); - header('Content-Disposition: attachment; filename='.$row['filename']); - echo file_get_contents($comp_path."/".user_company(). "/attachments/".$row['unique_name']); - exit(); + if(in_ajax()) { + $Ajax->redirect($_SERVER['PHP_SELF'].'?dl='.$download_id); + } else { + $type = ($row['filetype']) ? $row['filetype'] : 'application/octet-stream'; + header("Content-type: ".$type); + header('Content-Length: '.$row['filesize']); + header('Content-Disposition: attachment; filename='.$row['filename']); + echo file_get_contents($comp_path."/".user_company(). "/attachments/".$row['unique_name']); + exit(); + } } } -- 2.30.2