X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=reporting%2Fprn_redirect.php;h=9018e0fd424be98585075561fb44a8f02b3d4fea;hb=398ad92b6dcb1e6c04dd6011906ff73e9fe17e13;hp=347e9ed706c1f6a127483dbb05dc99e1e686489a;hpb=cf67cec296e611c30be010686a5ea96d730418b0;p=fa-stable.git diff --git a/reporting/prn_redirect.php b/reporting/prn_redirect.php index 347e9ed7..9018e0fd 100644 --- a/reporting/prn_redirect.php +++ b/reporting/prn_redirect.php @@ -14,9 +14,40 @@ 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"); +/* + 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; + } + } + // 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']; @@ -53,10 +84,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();