X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=reporting%2Fprn_redirect.php;h=3f38f70889b36319a98925fd7acdb193c485322a;hb=3a722558dc5a513ee403628604a6f44e8bd44e7a;hp=262f8109207fa0f9b29bf4360da36d5537fc9823;hpb=37da0ea920fdff712ccef4e1324aa822e981c8fc;p=fa-stable.git diff --git a/reporting/prn_redirect.php b/reporting/prn_redirect.php index 262f8109..3f38f708 100644 --- a/reporting/prn_redirect.php +++ b/reporting/prn_redirect.php @@ -1,12 +1,82 @@ . +***********************************************************************/ /* Print request redirector. This file is fired via print link or print button in reporting module. */ -$path_to_root = "../"; -$page_security = 2; // this level is later overriden in rep file -include_once($path_to_root . "includes/session.inc"); +$path_to_root = ".."; +$page_security = 'SA_OPEN'; // this level is later overriden in rep file +include_once($path_to_root . "/includes/session.inc"); +function find_report_file($rep) { + global $installed_extensions, $comp_path, $path_to_root; + + // customized per company versions + $path = $comp_path.'/'.user_company()."/reporting"; + $rep_file = $path."/rep$rep.php"; + if (file_exists($rep_file)) { + // add local include path for custom reports + set_include_path($path.PATH_SEPARATOR.get_include_path()); + 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')) { + $path = $path_to_root.'/'.$ext['path']."/reporting"; + $rep_file = $path."/rep$rep.php"; + if (file_exists($rep_file)) { + set_include_path($path.PATH_SEPARATOR.get_include_path()); + return $rep_file; + } + } + } + // 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'])) +{ + $filename = $_GET['filename']; + $unique_name = $_GET['unique']; + $path = $comp_path.'/'.user_company(). '/pdf_files/'; + header("Content-type: application/vnd.ms-excel"); + 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(); +} +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']; @@ -15,13 +85,10 @@ if (!isset($_POST['REP_ID'])) { // print link clicked ? $_GET['PARAM_'.$i] : $def_pars[$i]; } } - $rep = $_POST['REP_ID']; - $rep_file = $comp_path.'/'.user_company(). - "/reporting/rep$rep.php"; - if (!file_exists($rep_file)) { - $rep_file = $path_to_root ."/reporting/rep$rep.php"; - } - require($rep_file); - exit(); +$rep = $_POST['REP_ID']; + +$rep_file = find_report_file($rep); +require($rep_file); +exit(); ?> \ No newline at end of file