X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=reporting%2Fprn_redirect.php;h=d5fe9cf6f9467881da80053f42b20ebe41028599;hb=e81a3f7e51220709850ed76fcc7124fd0815f32d;hp=9018e0fd424be98585075561fb44a8f02b3d4fea;hpb=ebc600101ceab69c06eac4b1bd4d1782af45de05;p=fa-stable.git diff --git a/reporting/prn_redirect.php b/reporting/prn_redirect.php index 9018e0fd..d5fe9cf6 100644 --- a/reporting/prn_redirect.php +++ b/reporting/prn_redirect.php @@ -14,46 +14,25 @@ print button in reporting module. */ $path_to_root = ".."; +global $page_security; $page_security = 'SA_OPEN'; // this level is later overriden in rep file include_once($path_to_root . "/includes/session.inc"); -/* - Find report definition file. - Standard reports can be superseded by report with the same id - included in active extension, or company customized report. -*/ -function find_report_file($rep) { - global $installed_extensions, $comp_path, $path_to_root; - - // customized per company versions - $rep_file = $comp_path.'/'.user_company()."/reporting/rep$rep.php"; - if (file_exists($rep_file)) - return $rep_file; - // reports added by active extension modules - if (count($installed_extensions) > 0) - { - $extensions = $installed_extensions; - foreach ($extensions as $ext) - if (($ext['active'] && $ext['type'] == 'module')) { - $rep_file = $path_to_root.'/'.$ext['path']."/reporting/rep$rep.php"; - if (file_exists($rep_file)) - return $rep_file; - } +if (user_save_report_selections() > 0 && isset($_POST['REP_ID'])) { // save parameters from Report Center + for($i=0; $i<12; $i++) { // 2013-01-16 Joe Hunt + if (isset($_POST['PARAM_'.$i]) && !is_array($_POST['PARAM_'.$i])) { + $rep = $_POST['REP_ID']; + setcookie("select[$rep][$i]", $_POST['PARAM_'.$i], time()+60*60*24*user_save_report_selections()); // days from user_save_report_selections() + } } - // standard reports - $rep_file = $path_to_root ."/reporting/rep$rep.php"; - if (file_exists($rep_file)) - return $rep_file; - - return null; -} +} -if (isset($_GET['xls'])) +if (isset($_GET['xls']) || isset($_GET['xml'])) { $filename = $_GET['filename']; - $unique_name = $_GET['unique']; - $path = $comp_path.'/'.user_company(). '/pdf_files/'; - header("Content-type: application/vnd.ms-excel"); + $unique_name = preg_replace('/[^0-9_a-z.\-]/i', '', $_GET['unique']); + $path = company_path(). '/pdf_files/'; + header("Content-type: ". (isset($_GET['xls']) ? "application/vnd.ms-excel" : "text/xml")); header("Content-Disposition: attachment; filename=$filename" ); header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0,pre-check=0"); @@ -61,20 +40,7 @@ if (isset($_GET['xls'])) echo file_get_contents($path.$unique_name); exit(); } -elseif (isset($_GET['xml'])) -{ - $filename = $_GET['filename']; - $unique_name = $_GET['unique']; - $path = $comp_path.'/'.user_company(). '/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']; @@ -83,10 +49,14 @@ if (!isset($_POST['REP_ID'])) { // print link clicked ? $_GET['PARAM_'.$i] : $def_pars[$i]; } } -$rep = $_POST['REP_ID']; -$rep_file = find_report_file($rep); -require($rep_file); +$rep = preg_replace('/[^a-z_0-9]/i', '', $_POST['REP_ID']); + +$rep_file = find_custom_file("/reporting/rep$rep.php"); + +if ($rep_file) { + require($rep_file); +} else + display_error("Cannot find report file '$rep'"); exit(); -?> \ No newline at end of file