Cleanup: removed all closing tags in php files.
[fa-stable.git] / reporting / prn_redirect.php
index 9018e0fd424be98585075561fb44a8f02b3d4fea..b6f1959f1ae279b57eed269e0d27f4e521461e55 100644 (file)
        print button in reporting module. 
 */
 $path_to_root = "..";
+global $page_security;
 $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;
-                       }
+if (user_save_report_selections() > 0 && isset($_POST['REP_ID'])) {    // save parameters from Report Center
+       for($i=0; $i<12; $i++) { // 2013-01-16 Joe Hunt
+               if (isset($_POST['PARAM_'.$i]) && !is_array($_POST['PARAM_'.$i])) {
+                       $rep = $_POST['REP_ID'];
+                       setcookie("select[$rep][$i]", $_POST['PARAM_'.$i], time()+60*60*24*user_save_report_selections()); // days from user_save_report_selections()
+               }       
        }
-       // 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/';
+       $unique_name = preg_replace('/[^0-9a-z.]/i', '', $_GET['unique']);
+       $path =  company_path(). '/pdf_files/';
        header("Content-type: application/vnd.ms-excel");
        header("Content-Disposition: attachment; filename=$filename" );
        header("Expires: 0");
@@ -64,8 +43,8 @@ if (isset($_GET['xls']))
 elseif (isset($_GET['xml']))
 {
        $filename = $_GET['filename'];
-       $unique_name = $_GET['unique'];
-       $path =  $comp_path.'/'.user_company(). '/pdf_files/';
+       $unique_name = preg_replace('/[^0-9a-z.]/i', '', $_GET['unique']);
+       $path =  company_path(). '/pdf_files/';
        header("content-type: text/xml");
        header("Content-Disposition: attachment; filename=$filename");
        header("Expires: 0");
@@ -83,10 +62,14 @@ if (!isset($_POST['REP_ID'])) {     // print link clicked
                        ? $_GET['PARAM_'.$i] : $def_pars[$i];
        }
 }
-$rep = $_POST['REP_ID'];
 
-$rep_file = find_report_file($rep);
-require($rep_file);
+$rep = preg_replace('/[^a-z_0-9]/i', '', $_POST['REP_ID']);
+
+$rep_file = find_custom_file("/reporting/rep$rep.php");
+
+if ($rep_file) {
+       require($rep_file);
+} else
+       display_error("Cannot find report file '$rep'");
 exit();
 
-?>
\ No newline at end of file