<?php
/**
* Download Files
*
* Forces the download of file types
*
* @package GetSimple
* @subpackage Download
*/
// Setup inclusions
$load['plugin'] = true;
// Include common.php
include('inc/common.php');
login_cookie_check();
# check if all variables are set
if(isset($_GET['file'])) {
$file = removerelativepath($_GET['file']);
if(!filepath_is_safe($file,GSDATAUPLOADPATH) && !filepath_is_safe($file,GSBACKUPSPATH.DIRECTORY_SEPARATOR.'zip')) die();
$extention = pathinfo($file,PATHINFO_EXTENSION);
header("Content-disposition: attachment; filename=".$file);
# set content headers
if ($extention == 'zip') {
header("Content-type: application/octet-stream");
} elseif ($extention == 'gz') {
header("Content-type: application/x-gzip");
} elseif ($extention == 'mpg') {
header("Content-type: video/mpeg");
} elseif ($extention == 'jpg' || $extention == 'jpeg' ) {
header("Content-type: image/jpeg");
} elseif ($extention == 'txt' || $extention == 'log' ) {
header("Content-type: text/plain");
} elseif ($extention == 'xml' ) {
header("Content-type: text/xml");
} elseif ($extention == 'js' ) {
header("Content-type: text/javascript");
} elseif ($extention == 'pdf' ) {
header("Content-type: text/pdf");
} elseif ($extention == 'css' ) {
header("Content-type: text/css");
}
# plugin hook
exec_action('download-file');
# get file
if (file_exists($file)) {
readfile($file, 'r');
}
exit;
} else {
echo 'No such file found';
die;
}
exit;