X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=reporting%2Fprn_redirect.php;h=3f38f70889b36319a98925fd7acdb193c485322a;hb=3a722558dc5a513ee403628604a6f44e8bd44e7a;hp=3d985ec87ec44a59d9db45587e56f440d386f788;hpb=902f1015d874c33bd7946b17de2ad80b4f2144b6;p=fa-stable.git diff --git a/reporting/prn_redirect.php b/reporting/prn_redirect.php index 3d985ec8..3f38f708 100644 --- a/reporting/prn_redirect.php +++ b/reporting/prn_redirect.php @@ -17,6 +17,39 @@ $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']; @@ -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();