X-Git-Url: http://git.roojs.org/?p=Pman.Core;a=blobdiff_plain;f=GnumericToExcel.php;h=cae40372bb5c48e2a25c625e80288fe3aa3c2e80;hp=bc26dc703c6e7bc2a1413855d8255832a41552b5;hb=c1af5e6bb6064e88469651271f4d9aaff34d69c0;hpb=ac868dbed2b7015a67bc217cf507c61bbb959cac
diff --git a/GnumericToExcel.php b/GnumericToExcel.php
index bc26dc70..cae40372 100644
--- a/GnumericToExcel.php
+++ b/GnumericToExcel.php
@@ -28,13 +28,13 @@ class Pman_Core_GnumericToExcel extends Pman
return true;
}
- function get()
+ function get($v, $opts=array())
{
}
function post($fname) {
- $ml = (int) ini_get('suhosin.post.max_value_length');
+ $ml = (int) ini_get('suhosin.post.max_value_length');
if (empty($_POST['xml'])) {
header("HTTP/1.0 400 Internal Server Error");
die( $ml ? "Suhosin Patch enabled - try and disable it!!!" : 'no XML sent');
@@ -48,16 +48,17 @@ 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'] : '???');
- if (!empty($_POST['format']) && $_POST['format']=='gnumeric') {
+ if (!empty($_POST['format']) && $_POST['format']=='gnumeric') {
if (empty($_POST['debug'])) {
header('Content-type: application/x-gnumeric');
+ header('Content-Disposition: attachment; filename="' .addslashes($fname). '.gnumeric"');
} else {
header('Content-type: text/xml');
}
@@ -73,8 +74,10 @@ class Pman_Core_GnumericToExcel extends Pman
require_once 'System.php';
+ $xvfb = System::which('xvfb-run');
+
$ss = System::which('ssconvert');
- $cmd = $ss.
+ $cmd = $xvfb . " -a " . $ss.
" --import-encoding=Gnumeric_XmlIO:sax" .
" --export-type=Gnumeric_Excel:excel_biff8 " .
$srcTmp . ' ' . $targetTmp . ' 2>&1';
@@ -89,7 +92,10 @@ class Pman_Core_GnumericToExcel extends Pman
die("ERROR CONVERTING?:" . $cmd ."\n
OUTPUT:". htmlspecialchars($out));
}
// unlink($srcTmp);
- // $fname .= preg_match('/\.xls/i', $fname) ? '' : '.xls'; // make sure it ends in xls..
+ 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). '"');
@@ -108,5 +114,5 @@ class Pman_Core_GnumericToExcel extends Pman
}
-
+
}