PHP7 fix
[Pman.Core] / GnumericToExcel.php
index bc26dc7..cae4037 100644 (file)
@@ -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<BR><BR> 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
         
     }
     
-    
+     
 }