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-Accel-Redirect', $file_xaccel);
$response->headers->set('Pragma', 'public', true);
$response->headers->set('Content-Type', $mime);
$response->headers->set('Content-Name', $exportname);
$response->headers->set('Content-Disposition', $disposition . "; filename=" . $exportname . ";");
@@ -989,12 +990,16 @@ class set_export extends set_abstract
}
else
{
if(!headers_sent())
{
header("Pragma: public");
}
$response->headers->set('Content-Type', $mime);
$response->headers->set('Content-Name', $exportname);
$response->headers->set('Content-Disposition', $disposition . "; filename=" . $exportname . ";");
$response->headers->set('Content-Length', filesize($file));
$response->setContent(file_get_contents($file));
return $response;
}
}
@@ -1010,22 +1015,42 @@ class set_export extends set_abstract
* @param String $disposition
* @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("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("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 . ";");
header("Content-Disposition: " . $disposition . "; filename=" . $exportname . ";");
echo $data;
exit();
$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;
}

View File

@@ -123,7 +123,7 @@ if (!$zip_done)
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
}
?>

View File

@@ -153,7 +153,7 @@ phrasea::headers();
</div>
<?php ?>
<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 style="margin:20px 0;">
<p><?php echo _('telechargement::Le fichier contient les elements suivants'); ?></p>