X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=reporting%2Fprn_redirect.php;h=3f38f70889b36319a98925fd7acdb193c485322a;hb=3a722558dc5a513ee403628604a6f44e8bd44e7a;hp=2a2b7609a7de815eaf78c88fd9464fba5adea9bd;hpb=a5242af68e65661edb7175412444dce536a7f311;p=fa-stable.git diff --git a/reporting/prn_redirect.php b/reporting/prn_redirect.php index 2a2b7609..3f38f708 100644 --- a/reporting/prn_redirect.php +++ b/reporting/prn_redirect.php @@ -14,9 +14,69 @@ print button in reporting module. */ $path_to_root = ".."; -$page_security = 2; // this level is later overriden in rep file +$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']; @@ -26,10 +86,8 @@ if (!isset($_POST['REP_ID'])) { // print link clicked } } $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"; -} + +$rep_file = find_report_file($rep); require($rep_file); exit();