X-Git-Url: http://git.roojs.org/?p=Pman.Core;a=blobdiff_plain;f=GnumericToExcel.php;h=d8da8da207ab80e0d0ca68e9eb870c1db07d9f0c;hp=8bb73466b44ccbdf1648713959f992b215233c13;hb=refs%2Fheads%2Fwip_alan_T5884_add_photo_to_report;hpb=8d7fe3cdbdb264deb5194b91b9a8ac4f9d833754 diff --git a/GnumericToExcel.php b/GnumericToExcel.php index 8bb73466..d8da8da2 100644 --- a/GnumericToExcel.php +++ b/GnumericToExcel.php @@ -28,7 +28,7 @@ class Pman_Core_GnumericToExcel extends Pman return true; } - function get() + function get($v, $opts=array()) { } @@ -48,9 +48,9 @@ class Pman_Core_GnumericToExcel extends Pman $xml = iconv("UTF-8", "UTF-8//IGNORE", $xml); - //$xml = str_replace('é', 'e', $xml); + //$xml = str_replace('�', 'e', $xml); //$xml = str_replace("\xA0", ' ', $xml); - //$xml = str_replace("Ø", 'dia.',$xml); + //$xml = str_replace("�", 'dia.',$xml); //$this->addEvent("DOWNLOAD", false, isset($_REQUEST['title']) ? $_REQUEST['title'] : '???'); @@ -88,18 +88,28 @@ class Pman_Core_GnumericToExcel extends Pman header("HTTP/1.0 400 Internal Server Error - Convert error"); die("ERROR CONVERTING?:" . $cmd ."\n

OUTPUT:". htmlspecialchars($out)); } - unlink($srcTmp); - - $fh = fopen($targetTmp, 'r'); + // unlink($srcTmp); + if (empty($fname)) { + $fname = basename($targetTmp); + } + $fname .= preg_match('/\.xls/i', $fname) ? '' : '.xls'; // make sure it ends in xls.. + header('Content-type: application/vnd.ms-excel'); header('Content-Disposition: attachment; filename="' .addslashes($fname). '"'); - - // will not work on IE... - needs while/fget.. - fpassthru($fh); + header('Content-length: '. filesize($targetTmp)); + header("Content-Transfer-Encoding: binary"); + if ($file = fopen($targetTmp, 'rb')) { + while(!feof($file) and (connection_status()==0)) { + print(fread($file, 1024*8)); + flush(); + } + fclose($file); + } + unlink($targetTmp); exit; } - + }