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

index bd2463f0cc549e0cbf24e4dd9941cb89c9a312d8..7b37055abc60e317c9f64a413eed964d34607ec9 100644 (file)
@@ -439,7 +439,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 b6f1959f1ae279b57eed269e0d27f4e521461e55..f7a922b93de8ec7b7c3009d8995ffa2c56966c51 100644 (file)
@@ -27,10 +27,10 @@ if (user_save_report_selections() > 0 && isset($_POST['REP_ID'])) { // save para
        }
 }      
 
-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'];