Вход Регистрация
Файл: 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;
Онлайн: 1
Реклама