Fix download IE6

This commit is contained in:
Romain Neutron
2012-01-06 13:14:53 +01:00
parent 8ff2f6fc59
commit d9b611cceb
3 changed files with 42 additions and 17 deletions

View File

@@ -980,6 +980,7 @@ class set_export extends set_abstract
); );
$response->headers->set('X-Sendfile', $file); $response->headers->set('X-Sendfile', $file);
$response->headers->set('X-Accel-Redirect', $file_xaccel); $response->headers->set('X-Accel-Redirect', $file_xaccel);
$response->headers->set('Pragma', 'public', true);
$response->headers->set('Content-Type', $mime); $response->headers->set('Content-Type', $mime);
$response->headers->set('Content-Name', $exportname); $response->headers->set('Content-Name', $exportname);
$response->headers->set('Content-Disposition', $disposition . "; filename=" . $exportname . ";"); $response->headers->set('Content-Disposition', $disposition . "; filename=" . $exportname . ";");
@@ -989,12 +990,16 @@ class set_export extends set_abstract
} }
else else
{ {
if(!headers_sent())
{
header("Pragma: public");
}
$response->headers->set('Content-Type', $mime); $response->headers->set('Content-Type', $mime);
$response->headers->set('Content-Name', $exportname); $response->headers->set('Content-Name', $exportname);
$response->headers->set('Content-Disposition', $disposition . "; filename=" . $exportname . ";"); $response->headers->set('Content-Disposition', $disposition . "; filename=" . $exportname . ";");
$response->headers->set('Content-Length', filesize($file)); $response->headers->set('Content-Length', filesize($file));
$response->setContent(file_get_contents($file)); $response->setContent(file_get_contents($file));
return $response; return $response;
} }
} }
@@ -1010,22 +1015,42 @@ class set_export extends set_abstract
* @param String $disposition * @param String $disposition
* @return Void * @return Void
*/ */
function stream_data($data, $exportname, $mime, $disposition='attachment') public static function stream_data($data, $exportname, $mime, $disposition='attachment')
{ {
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate"); header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false); header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache"); header("Pragma: public");
header("Content-Type: " . $mime); header("Content-Type: " . $mime);
header("Content-Length: " . strlen($data)); header("Content-Length: " . strlen($data));
header("Cache-Control: max-age=3600, must-revalidate "); header("Cache-Control: max-age=3600, must-revalidate ");
header("Content-Disposition: " . $disposition header("Content-Disposition: " . $disposition . "; filename=" . $exportname . ";");
. "; filename=" . $exportname . ";"); echo $data;
exit();
echo $data; $response = new \Symfony\Component\HttpFoundation\Response();
$response->headers->set('Cache-Control', 'must-revalidate, post-check=0, pre-check=0');
$response->setLastModified(new DateTime());
$response->headers->set('Pragma', 'public', true);
$response->headers->set('Content-Type', $mime);
$response->headers->set('Content-Length', strlen($data));
$response->headers->set('Content-Disposition', $disposition. "; filename=" . $exportname . ";");
// header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
// header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
// header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
//
// header("Pragma: public");
//
// header("Content-Type: " . $mime);
// header("Content-Length: " . strlen($data));
// header("Cache-Control: max-age=3600, must-revalidate ");
// header("Content-Disposition: " . $disposition
// . "; filename=" . $exportname . ";");
//
// echo $data;
$response->send();
exit();
return true; return true;
} }

View File

@@ -123,7 +123,7 @@ if (!$zip_done)
else else
{ {
?> ?>
<p><?php echo sprintf(_('telechargement::Vos documents sont prets. Si le telechargement ne demarre pas, %s cliquez ici %s'), '<a href="/mail-export/' . $parm['token'] . '/get/'.$list['export_name'].'" target="_self">', '</a>'); ?></p> <p><?php echo sprintf(_('telechargement::Vos documents sont prets. Si le telechargement ne demarre pas, %s cliquez ici %s'), '<a href="/mail-export/' . $parm['token'] . '/get" target="_self">', '</a>'); ?></p>
<?php <?php
} }
?> ?>

View File

@@ -153,7 +153,7 @@ phrasea::headers();
</div> </div>
<?php ?> <?php ?>
<div style="display:<?php echo $zip_done ? 'block' : 'none' ?>;" id="ready"> <div style="display:<?php echo $zip_done ? 'block' : 'none' ?>;" id="ready">
<p><?php echo sprintf(_('telechargement::Vos documents sont prets. Si le telechargement ne demarre pas, %s cliquez ici %s'), '<a href="/download/' . $parm['token'] . '/get/'.$list['export_name'].'" target="_self">', '</a>'); ?></p> <p><?php echo sprintf(_('telechargement::Vos documents sont prets. Si le telechargement ne demarre pas, %s cliquez ici %s'), '<a href="/download/' . $parm['token'] . '/get" target="_self">', '</a>'); ?></p>
</div> </div>
<div style="margin:20px 0;"> <div style="margin:20px 0;">
<p><?php echo _('telechargement::Le fichier contient les elements suivants'); ?></p> <p><?php echo _('telechargement::Le fichier contient les elements suivants'); ?></p>