<?php
/**
* mavatars for Cotonti CMF
*
* @version 1.00
* @author esclkm
* @copyright (c) 2013 esclkm
*/
defined('COT_CODE') or die('Wrong URL');
$ext = cot_import('ext', 'G', 'TXT');
$cat = cot_import('cat', 'G', 'TXT');
$code = cot_import('code', 'G', 'TXT');
$id = cot_import('id', 'G', 'INT');
$mavatar = new mavatar($ext, $cat, $code, '', $id);
$mavatars_tags = $mavatar->tags();
$file = array('FILE' => '');
if(count($mavatars_tags) > 0) {
$file = $mavatars_tags[0];
if(!is_array($file)) {
$file = $mavatars_tags[1];
}
}
if (!empty($file['FILE']) && file_exists($file['FILE'])) {
// сбрасываем буфер вывода PHP, чтобы избежать переполнения памяти выделенной под скрипт
// если этого не сделать файл будет читаться в память полностью!
if (ob_get_level()) {
ob_end_clean();
}
// заставляем браузер показать окно сохранения файла
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . $file['FILEORIGNAME'].'.'.$file['FILEEXT']);
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file['FILE']));
// читаем файл и отправляем его пользователю
if ($fd = fopen($file['FILE'], 'rb')) {
while (!feof($fd)) {
print fread($fd, 1024);
}
fclose($fd);
}
exit;
} else {
cot_die_message(404);
}