aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/rrd.php
blob: e068c5d3f8505e9161b83877098ae665eac5ed21 (plain)
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
<?php

require_once 'conf/common.inc.php';
require_once 'inc/functions.inc.php';
require_once 'inc/html.inc.php';

$path = filter_input(INPUT_GET, 'path');
if (!$path) {
	// legacy option: rrd.php?some.host/load/load.rrd
	$path = urldecode(filter_input(INPUT_SERVER, 'QUERY_STRING'));
}

if ( $file = validateRRDPath($CONFIG['datadir'], $path) ) {
	header('Content-Type: application/octet-stream');
	header('Content-Disposition: attachment; filename='.basename($file));
	header("Expires: " .date(DATE_RFC822,strtotime($CONFIG['cache']." seconds")));
	if(ob_get_length()) ob_clean();
	flush();
	readfile($file);
} else {
	header('HTTP/1.0 403 Forbidden');

	html_start();
	$html_weburl = htmlentities($CONFIG['staticurl']);
	echo <<<EOT
<fieldset id="forbidden">
<legend>forbidden</legend>
<p><a href="{$html_weburl}">Return home...</a></p>
</fieldset>

EOT;
	html_end();
}