X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=reporting%2Fprn_redirect.php;h=3f38f70889b36319a98925fd7acdb193c485322a;hb=163193c6f26af6c3985c65e311155f0186a0ec2d;hp=347e9ed706c1f6a127483dbb05dc99e1e686489a;hpb=cf67cec296e611c30be010686a5ea96d730418b0;p=fa-stable.git diff --git a/reporting/prn_redirect.php b/reporting/prn_redirect.php index 347e9ed7..3f38f708 100644 --- a/reporting/prn_redirect.php +++ b/reporting/prn_redirect.php @@ -14,9 +14,42 @@ 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']; @@ -53,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();