From 3b9ad808002722049b1d3f1c39b4e8f6518c8907 Mon Sep 17 00:00:00 2001 From: Alan Knowles Date: Mon, 21 Jan 2013 12:10:59 +0800 Subject: [PATCH] JsonToExcel.php --- JsonToExcel.php | 66 ++----------------------------------------------- 1 file changed, 2 insertions(+), 64 deletions(-) diff --git a/JsonToExcel.php b/JsonToExcel.php index 3a6a523e..caab1c45 100644 --- a/JsonToExcel.php +++ b/JsonToExcel.php @@ -44,71 +44,9 @@ class Pman_Core_JsonToExcel extends Pman header("HTTP/1.0 400 Internal Server Error"); die("Missing json attribute"); } - $xml = $_POST['xml']; - - $xml = iconv("UTF-8", "UTF-8//IGNORE", $xml); - - //$xml = str_replace('é', 'e', $xml); - //$xml = str_replace("\xA0", ' ', $xml); - //$xml = str_replace("Ø", 'dia.',$xml); - - //$this->addEvent("DOWNLOAD", false, isset($_REQUEST['title']) ? $_REQUEST['title'] : '???'); - - - if (!empty($_POST['format']) && $_POST['format']=='gnumeric') { - if (empty($_POST['debug'])) { - header('Content-type: application/x-gnumeric'); - } else { - header('Content-type: text/xml'); - } - echo $xml; - exit; - } - $srcTmp = ini_get('session.save_path') . '/' .uniqid('gnumeric_').'.gnumeric'; - $targetTmp = ini_get('session.save_path') . '/' .uniqid('gnumeric_').'.xls'; - // write the gnumeric file... - $fh = fopen($srcTmp,'w'); - fwrite($fh, $xml); - fclose($fh); - - - require_once 'System.php'; - $ss = System::which('ssconvert'); - $cmd = $ss. - " --import-encoding=Gnumeric_XmlIO:sax" . - " --export-type=Gnumeric_Excel:excel_biff8 " . - $srcTmp . ' ' . $targetTmp . ' 2>&1'; - // echo $cmd; - //passthru($cmd);exit; - //exit; - $out = `$cmd`; - clearstatcache(); - - if (!file_exists($targetTmp) || !filesize($targetTmp)) { - header("HTTP/1.0 400 Internal Server Error - Convert error"); - die("ERROR CONVERTING?:" . $cmd ."\n

OUTPUT:". htmlspecialchars($out)); - } - // 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). '"'); - 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; + $_json = $_POST['_json']; + } -- 2.39.2