<?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);
}