From bcadf09c0983714fa98a903d54d5dd9e93e2e95a Mon Sep 17 00:00:00 2001 From: miker Date: Fri, 27 Jul 2007 18:34:56 +0000 Subject: [PATCH] allow for alternate user-supplied filename git-svn-id: svn://svn.open-ils.org/ILS/trunk@7605 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/src/perlmods/OpenILS/WWW/Exporter.pm | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Open-ILS/src/perlmods/OpenILS/WWW/Exporter.pm b/Open-ILS/src/perlmods/OpenILS/WWW/Exporter.pm index dad6684a6a..997432c01f 100644 --- a/Open-ILS/src/perlmods/OpenILS/WWW/Exporter.pm +++ b/Open-ILS/src/perlmods/OpenILS/WWW/Exporter.pm @@ -76,6 +76,8 @@ sub handler { my $encoding = $cgi->param('encoding') || 'UTF-8'; $encoding = uc($encoding); + my $filename = $cgi->param('filename') || "export.$type.$encoding.$format"; + binmode(STDOUT, ':raw') if ($encoding ne 'UTF-8'); binmode(STDOUT, ':utf8') if ($encoding eq 'UTF-8'); @@ -92,8 +94,13 @@ sub handler { my $ses = OpenSRF::AppSession->create('open-ils.cstore'); - $r->content_type('application/octet-stream') if (uc($format) ne 'XML'); - $r->content_type('application/xml') if (uc($format) eq 'XML'); + $r->headers_out->set("Content-Disposition" => "inline; filename=$filename"); + + if (uc($format) eq 'XML') { + $r->send_http_header('application/xml'); + } else { + $r->send_http_header('application/octet-stream'); + } $r->print( <<" HEADER" ) if (uc($format) eq 'XML'); -- 2.11.0