Fixed problems with excel report generation.
authorApMuthu <ApMuthu@usa.net>
Sun, 19 Mar 2017 13:32:53 +0000 (14:32 +0100)
committerJanusz Dobrowolski <janusz@frontaccounting.eu>
Sun, 19 Mar 2017 13:32:53 +0000 (14:32 +0100)
includes/main.inc
reporting/prn_redirect.php

index b61b41a80a8cdd3cc41630374a4844385a4c7559..18e51c56a0219d7fe1368de001e26ba4bbba1bff 100644 (file)
@@ -369,7 +369,7 @@ function random_id($strength = 128)
                for($i=0; $i < $n; $i++)
                        $bin .= chr(mt_rand(0, 255));   // Mersene Twister generator
        }
-       $id = strtr(base64_encode($bin), '+/', '-_');   // see RFC 4648 Section 5
+       $id = strtr(base64_encode($bin), '+/=', '-_x'); // see RFC 4648 Section 5
 
        return $id;
 }
index d7147a7f5c89c50097dc0c3639b84378c8c0394d..9d9ac858d67a6aa58ad7e57d544c2660ac303104 100644 (file)
@@ -27,10 +27,10 @@ if (isset($save_report_selections) && $save_report_selections > 0 && isset($_POS
        }
 }      
 
-if (isset($_GET['xls']))
+if (isset($_GET['xls']) || isset($_GET['xml']))
 {
        $filename = $_GET['filename'];
-       $unique_name = preg_replace('/[^0-9a-z.]/i', '', $_GET['unique']);
+       $unique_name = preg_replace('/[^0-9_a-z.\-]/i', '', $_GET['unique']);
        $path =  company_path(). '/pdf_files/';
        header("Content-type: application/vnd.ms-excel");
        header("Content-Disposition: attachment; filename=$filename" );
@@ -40,20 +40,7 @@ if (isset($_GET['xls']))
        echo file_get_contents($path.$unique_name);
        exit();
 }
-elseif (isset($_GET['xml']))
-{
-       $filename = $_GET['filename'];
-       $unique_name = preg_replace('/[^0-9a-z.]/i', '', $_GET['unique']);
-       $path =  company_path(). '/pdf_files/';
-       header("content-type: text/xml");
-       header("Content-Disposition: attachment; filename=$filename");
-       header("Expires: 0");
-       header("Cache-Control: must-revalidate, post-check=0,pre-check=0");
-       header("Pragma: public");
-       echo file_get_contents($path.$unique_name);
-       exit();
-}
-       
+
 if (!isset($_POST['REP_ID'])) {        // print link clicked
        $def_pars = array(0, 0, '', '', 0, '', '', 0); //default values
        $rep = $_POST['REP_ID'] = $_GET['REP_ID'];