File: prn_redirect.php

package info (click to toggle)
frontaccounting 2.2.10-3.1
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 6,252 kB
  • sloc: php: 64,938; sql: 3,014; sh: 390; makefile: 38
file content (94 lines) | stat: -rw-r--r-- 3,111 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
<?php
/**********************************************************************
    Copyright (C) FrontAccounting, LLC.
	Released under the terms of the GNU General Public License, GPL, 
	as published by the Free Software Foundation, either version 3 
	of the License, or (at your option) any later version.
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
    See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
***********************************************************************/
/*
	Print request redirector. This file is fired via print link or 
	print button in reporting module. 
*/
$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'];
	$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'];
	for($i=0; $i<8; $i++) {
		$_POST['PARAM_'.$i] = isset($_GET['PARAM_'.$i]) 
			? $_GET['PARAM_'.$i] : $def_pars[$i];
	}
}
$rep = $_POST['REP_ID'];

$rep_file = find_report_file($rep);
require($rep_file);
exit();

?>