Файл: modules/diary/inc/download.php
Строк: 50
<?php
/* Мод "Блоги"
* Версия v0.0.2
* Дата последнего редактирования 22.04.2015
* Двиг DCMS Special
* Модифицировал densnet
* Автор неизвестно
* Файл download.php
* Описание: скачивание файла
*/
$gfile = text::esc(stripcslashes(htmlspecialchars($_GET['name'])));
$gfile = preg_replace('(#|?)', NULL, $gfile);
$ras = strtolower(preg_replace('#^.*.#', NULL, $gfile));
$name = preg_replace('#.[^.]*$#', NULL, $gfile); // имя файла без расширения
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `diary_files` WHERE `id` = '" . intval($_GET['file']) . "' AND " . ($ras == 'jad' ? '(' : null) . "`ras` = '$ras'" . ($ras == 'jad' ? " OR `ras` = 'jar')" : null) . " AND `name` = '$name'"), 0) == 0) {
echo "Файл не найден";
exit;
}
$file_id = mysql_fetch_array(mysql_query("SELECT * FROM `diary_files` WHERE `id` = '" . intval($_GET['file']) . "'"));
$ras = strtolower($file_id['ras']);
$file = H . "modules/diary/files/$file_id[id].dat";
$size = filesize(H . "modules/diary/files/$file_id[id].dat");
if ($ras == 'jar' && strtolower(preg_replace('#^.*.#', NULL, $gfile)) == 'jad') {
require_once H . "sys/classes/pclzip.class.php";
$zip = new PclZip(H . 'modules/diary/files/' . $file_id['id'] . '.dat');
$content = $zip->extract(PCLZIP_OPT_BY_NAME, "META-INF/MANIFEST.MF", PCLZIP_OPT_EXTRACT_AS_STRING);
if (@$content[0]['content'] == NULL) {
$content = $zip->extract(PCLZIP_OPT_BY_NAME, "META-INF/manifest.mf", PCLZIP_OPT_EXTRACT_AS_STRING);
}
$jad = preg_replace("#(MIDlet-Jar-URL:( )*[^(n|r)]*)#i", NULL, $content[0]['content']);
$jad = preg_replace("#(MIDlet-Jar-Size:( )*[^(n|r)]*)(n|r)#i", NULL, $jad);
$jad = trim($jad);
$jad.="rnMIDlet-Jar-Size: " . filesize(H . 'modules/diary/files/' . $file_id['id'] . '.dat') . "";
$jad.="rnMIDlet-Jar-URL: /modules/diary/download/$file_id[id]/$file_id[name].$file_id[ras]";
$jad = text::br($jad, "rn");
header('Content-Type: text/vnd.sun.j2me.app-descriptor');
header('Content-Disposition: attachment; filename="' . $file_id['name'] . '.jad";');
echo $jad;
exit;
}
require_once H . "sys/inc/downloadfile.php";
DownloadFile(H . 'modules/diary/files/' . $file_id['id'] . '.dat', $name . '.' . $ras, ras_to_mime($ras));
exit;