Файл: modules/obmen/index.php
Строк: 199
<?php
/* DCMS Special
* Дата последнего редактирования 11.12.2015
* Модифицировал densnet
*/
foreach (array('start', 'sess', 'settings', 'db_connect', 'ipua', 'fnc', 'obmen', 'user') as $inc) {
require_once "../../sys/inc/{$inc}.php";
}
if (isset($_GET['showinfo']) || !isset($_GET['f']) || isset($_GET['komm'])) {
require_once H . 'sys/inc/compress.php';
}
define('DIR_OBMEN', '/modules/obmen/');
if (isset($_GET['d']) && esc($_GET['d']) != NULL) {
$l = preg_replace("#.{2,}#", NULL, esc(urldecode($_GET['d'])));
$l = preg_replace("#./|/.#", NULL, $l);
$l = preg_replace("#(/){1,}#", "/", $l);
$l = '/' . preg_replace("#(^(/){1,})|((/){1,}$)#", "", $l);
} else {
$l = '/';
}
if ($l == '/') {
$dir_id['upload'] = 0;
$id_dir = 0;
$l = '/';
} elseif (mysql_result(mysql_query("SELECT COUNT(*) FROM `obmennik_dir` WHERE `dir` = '/$l' OR `dir` = '$l/' OR `dir` = '$l' LIMIT 1"), 0) != 0) {
$dir_id = mysql_fetch_assoc(mysql_query("SELECT * FROM `obmennik_dir` WHERE `dir` = '/$l' OR `dir` = '$l/' OR `dir` = '$l' LIMIT 1"));
$id_dir = $dir_id['id'];
} else {
$dir_id['upload'] = 0;
$id_dir = 0;
$l = '/';
}
if (isset($_GET['f'])) {
$f = esc(urldecode($_GET['f']));
$name = preg_replace('#.[^.]*$#', NULL, $f); // имя файла без расширения
$ras = strtolower(preg_replace('#^.*.#', NULL, $f));
$ras = str_replace('jad', 'jar', $ras);
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `obmennik_files` WHERE `id_dir` = '$id_dir' AND `name`='$name' AND `ras` = '$ras' LIMIT 1"), 0) != 0) {
$file_id = mysql_fetch_assoc(mysql_query("SELECT * FROM `obmennik_files` WHERE `id_dir` = '$id_dir' AND `name`='$name' AND `ras` = '$ras' LIMIT 1"));
$ras = $file_id['ras'];
$file = H . "sys/obmen/files/$file_id[id].dat";
$name = $file_id['name'];
$size = $file_id['size'];
define('SCR_WIDTH', IS_WEB ? $set['loads_screen_size_web'] : $set['loads_screen_size_wap']); // максимальная ширина скриншотов
define('LF_FILE', $file_id['name'] . '.' . $file_id['ras']); // название файла на сервере
define('LF_PATH', realpath(H . "sys/obmen/files/$file_id[id].dat")); // полный путь до файла
define('LF_RAS', $ras); // расширение (в нижнем регистре)
define('LF_NAME', $name);
define('LF_ID', $file_id['id']);
if (!isset($_GET['showinfo']) && !isset($_GET['komm']) && is_file(H . 'sys/obmen/files/' . $file_id['id'] . '.dat')) {
if ($ras == 'jar' && strtolower(preg_replace('#^.*.#', NULL, $gfile)) == 'jad') {
$zip = new PclZip(H . 'sys/obmen/files/' . $file_id['id'] . '.dat');
$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 . 'sys/obmen/files/' . $file_id['id'] . '.dat') . "";
$jad.="rnMIDlet-Jar-URL: /modules/obmen$dir_id[dir]$file_id[name].$file_id[ras]";
$jad = br($jad, "rn");
header('Content-Type: text/vnd.sun.j2me.app-descriptor');
header('Content-Disposition: attachment; filename="' . $file_id['name'] . '.jad";');
echo $jad;
exit;
}
@mysql_query("UPDATE `obmennik_files` SET `k_loads` = '" . ($file_id['k_loads'] + 1) . "' WHERE `id` = '$file_id[id]' LIMIT 1");
require_once H . 'sys/inc/downloadfile.php';
DownloadFile(H . 'sys/obmen/files/' . $file_id['id'] . '.dat', $name . '.' . $ras, ras_to_mime($ras));
exit;
} elseif (isset($_GET['komm']) && is_file(H . 'sys/obmen/files/' . $file_id['id'] . '.dat')) {
$set['title'] = 'Обменник - Комментарии - ' . $file_id['name']; // заголовок страницы
$_SESSION['page'] = 1;
require_once H . 'sys/inc/thead.php';
require_once 'inc/komm_act.php'; // действия с комментариями
require_once 'inc/komm.php';
echo "<div class='list-group-item'>";
echo "<a href='/modules/obmen$dir_id[dir]" . urlencode($file_id['name']) . ".$file_id[ras]?showinfo'><i class='fa fa-arrow-left fa-fw'></i> К описанию</a><br />n";
echo "<a href='/modules/obmen$dir_id[dir]'><i class='fa fa-arrow-left fa-fw'></i> В папку</a>";
echo "</div>";
require_once H . 'sys/inc/tfoot.php';
exit;
} else {
$set['title'] = 'Обменник - ' . $file_id['name']; // заголовок страницы
require_once H . 'sys/inc/thead.php';
aut(); // форма авторизации
$ank = get_user($file_id['id_user']);
include 'inc/file_act.php';
err();
echo "<ol class='breadcrumb'>";
echo "<li><a href='/'><i class='fa fa-home fa-fw'></i></a></li>";
echo "<li><a href='" . DIR_OBMEN . "'>Обменник</a></li>";
echo "<li><a href='/modules/obmen$dir_id[dir]'>$dir_id[name]</a></li>";
echo "<li class='active'>$file_id[name]</li>";
echo "</ol>n";
if (is_file("inc/file/$ras.php")) {
include "inc/file/$ras.php";
} else {
require_once 'inc/file.php';
}
if ($file_id['blok'] != NULL) {
echo "<div class='list-group-item'>";
echo "<font color='red'><b> Файл заблокирован </b></font><br />";
if ($file_id['blok'] != NULL) {
echo "<div>" . toOutput($file_id['blok']) . "</div>n";
}
if (access('obmen_file_delete')) {
if ($file_id['blok'] != NULL) {
echo "<br /><a href='?showinfo&act=blokk&ok' class='btn btn-secondary'><span class='fa fa-unlock fa-fw'></span> Разблокировать файл</a><br />n";
} else {
echo "<br /><a href='?showinfo&act=blokk' class='btn btn-secondary'><span class='fa fa-lock fa-fw'></span> Заблокировать файл</a><br />n";
}
}
echo "</div>";
} elseif ($file_id['parol'] != NULL && @$_POST['paroll'] != $file_id['parol'] && !access('obmen_file_delete') && $user['id'] != $file_id['id_user']) {
echo "<div class='list-group-item'>";
echo "<font color='red'><b>Файл защищен паролем </b></font>";
if ($file_id['parol'] != NULL && @$_POST['paroll'] != $file_id['parol'] && !access('obmen_file_delete') && $user['id'] != $file_id['id_user']) {
if (isset($_POST['paroll']) && @$_POST['paroll'] != $file_id['parol']) {
echo "<br /><span class='fa fa-info-circle fa-fw'></span> Пароль не верный";
}
echo "<form method='post' action='?showinfo'>n";
echo "<b>Пароль</b><br />";
echo "<input type='text' class='form-control' name='paroll' value='' maxlength='512' /><br />";
echo "<button name='save' class='btn btn-success'>Войти</button>";
echo "</form>";
}
if (isset($user) && $user['id'] == $file_id['id_user'] || access('obmen_file_delete')) {
echo "<a class='list-group-item' href='?showinfo&act=edit'> Параметры</a> ";
echo "<a class='list-group-item' href='?showinfo&act=delete'> Удалить файл</a><br />";
if ($file_id['parol'] != NULL && $file_id['blok'] == NULL) {
echo "<br /><a class='list-group-item' href='?showinfo&act=parol'> Изменить пароль</a> ";
echo "<a class='list-group-item' href='?showinfo&act=paroll&ok'> Убрать пароль</a><br />n";
} else if ($file_id['blok'] == NULL) {
echo "<br /><a class='list-group-item' href='?showinfo&act=parol'> Поставить пароль</a><br />n";
}
}
echo "</div>";
} else {
//echo "<input type = 'text' value='http://$_SERVER[SERVER_NAME]/obmen$dir_id[dir]" . urlencode($file_id['name']) . ".$file_id[ras]' /><br />n";
echo "<div class='list-group-item'>";
if ($file_id['ras'] == 'jar') {
echo "<a href='/modules/obmen$dir_id[dir]" . urlencode($file_id['name']) . ".jad' class='btn btn-secondary'><span class='fa fa-download fa-fw'></span> Скачать <span class='label label-default'>$file_id[k_loads]</span></a> <a href='/modules/obmen$dir_id[dir]" . urlencode($file_id['name']) . ".$file_id[ras]'>JAR</a> ";
} else {
echo "<a href='/modules/obmen$dir_id[dir]" . urlencode($file_id['name']) . ".$file_id[ras]' class='btn btn-secondary'><span class='fa fa-download fa-fw'></span> Скачать <span class='label label-default'>$file_id[k_loads]</span></a> ";
}
echo "</div>";
include 'inc/file_form.php';
echo "<div class = 'list-group-item'><a href='/modules/obmen$dir_id[dir]'><span class='fa fa-arrow-left fa-fw'></span> В папку</a></div>";
}
require_once H . 'sys/inc/tfoot.php';
}
}
}
require_once 'inc/dir.php';
require_once H . 'sys/inc/tfoot.php';