|
Познавший АНТИЧАТ
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме: 18127311
Репутация:
1676
|
|
PHP код:
<?php
/*
=====================================================
MOD "Files v.3.1" for DataLife Engine - by Snake
url = http://mynokia.su/
email - igramnet@gmail.com
Форум поддержки модуля http://www.fmlife.net/
=====================================================
DataLife Engine - by SoftNews Media Group
-----------------------------------------------------
http://dle-news.ru/
-----------------------------------------------------
Copyright (c) 2004,2008 SoftNews Media Group
=====================================================
Данный код защищен авторскими правами
=====================================================
Файл: files_showfile.php
-----------------------------------------------------
Назначение: Вывод архива файлов
=====================================================
*/
if (! defined ( 'DATALIFEENGINE' )) {
die ( "Hacking attempt!" );
}
define ( 'FILE_DIR', ROOT_DIR . '/uploads/' . $modul_filesdir . '/' );
require_once ENGINE_DIR . '/classes/download.class.php';
$added_time = time () + ($config ['date_adjust'] * 60);
$thistime = date ( "Y-m-d H:i:s", $added_time );
if ($config ['http_home_url'] == "") {
$config ['http_home_url'] = explode ( "engine/download.php", $_SERVER ['PHP_SELF'] );
$config ['http_home_url'] = reset ( $config ['http_home_url'] );
$config ['http_home_url'] = "http://" . $_SERVER ['HTTP_HOST'] . $config ['http_home_url'];
}
function reset_url($url) {
$value = str_replace ( "http://", "", $url );
$value = str_replace ( "www.", "", $value );
$value = explode ( "/", $value );
$value = reset ( $value );
return $value;
}
if (! $is_logged) {
$member_id ['user_group'] = 5;
}
if ((! $user_group [$member_id ['user_group']] ['allow_files']) or ($user_group [$member_id ['user_group']] ['allow_files'] == 5 and $filesConfig ['down_guest'] == 0)) {
msgbox ( $lang ['all_err_1'], "Запрещено скачивать файлы для незарегистрированных посетителей. <br>Вы вошли на сайт как незарегистрированный пользователь, мы рекомендуем вам зарегистрироваться, либо войти на сайт под своим именем." );
die ( "Access user denied" );
}
if ($config ['files_antileech']) {
$_SERVER ['HTTP_REFERER'] = reset_url ( $_SERVER ['HTTP_REFERER'] );
$_SERVER ['HTTP_HOST'] = reset_url ( $_SERVER ['HTTP_HOST'] );
if ($_SERVER ['HTTP_HOST'] != $_SERVER ['HTTP_REFERER']) {
@header ( 'Location: ' . $config ['http_home_url'] );
die ( "Access denied!!!<br /><br />Please visit <a href=\"{$config['http_home_url']}\">{$config['http_home_url']}</a>" );
}
}
if (empty ( $_GET ['lid'] )) {
$error = "Запрашиваемый файл не найден в архиве. Возможно был изменен его адрес, воспользуйтесь <a href=\"" . $config ['http_home_url'] . "?do=" . $modulname . "\">поиском</a>.<br /><a href=\"javascript:history.go(-1)\">Вернуться назад</a>.";
$tpl->set ( '{error}', "$error" );
$title = "Ошибка";
$tpl->set ( '{title}', "$title" );
$tpl->load_template ( 'info.tpl' );
$tpl->compile ( 'content' );
$tpl->clear ();
} else {
$lid = intval ( $_GET ['lid'] );
$row = $db->super_query ( "SELECT `url`, `filename`, `category`, `to_ftp` FROM `" . PREFIX . "_" . $modul_dbtitle . "` WHERE `id` ='$lid'" );
if (! $row)
die ( "Access denied" );
if (empty ( $row ['url'] ) and empty ( $row ['filename'] )) {
$error = "Запрашиваемый файл не найден в архиве. Возможно был изменен его адрес, воспользуйтесь <a href=\"" . $config ['http_home_url'] . "?do=" . $modulname . "\">поиском</a>.<br /><a href=\"javascript:history.go(-1)\">Вернуться назад</a>.";
$tpl->set ( '{error}', "$error" );
$title = "Ошибка";
$tpl->set ( '{title}', "$title" );
$tpl->load_template ( 'info.tpl' );
$tpl->compile ( 'content' );
$tpl->clear ();
} elseif (! empty ( $row ['filename'] )) {
$to_ftp = $row ['to_ftp'];
$filesdir = $cat_i_down [intval ( $row ['category'] )] ['dir'];
if ($to_ftp == "0") {
$db->query ( "UPDATE `" . PREFIX . "_users` SET `download_count_files` = download_count_files+1, `download_date_files` = '{$added_time}' WHERE `name` ='{$member_id[name]}'" );
$speed = intval ( $user_group [$member_id ['user_group']] ['speed_download_files'] );
$file = new download ( FILE_DIR . $filesdir . '/' . $row ['filename'], $row ['filename'], $config ['files_force'], $speed );
$file->download_file ();
} elseif ($to_ftp == "1") {
$db->query ( "UPDATE `" . PREFIX . "_users` SET `download_count_files` = download_count_files+1, `download_date_files` = '{$added_time}' WHERE `name` ='{$member_id[name]}'" );
header ( 'Cache-Control: no-store, no-cache, max-age=1, s-maxage=1, must-revalidate, post-check=0, pre-check=0' );
header ( 'Content-type: application/octet-stream' );
header ( 'Content-Disposition: attachment; filename=' . $row ['filename'] . '' );
header ( 'Location: ' . $site_ka4 . $filesdir . '/' . $row ['filename'] );
// header('Location: '.$site_poiskovik.'search.php?file='.$row['filename'].'&dr='.$filesdir);
} else
msgbox ( $lang ['all_err_1'], "Ошибка определения местонахождения файла. Пожалуйста, сообщите об этом администратору." );
if ($filesConfig ['fcount'] == 1) {
$db->query ( "UPDATE `" . PREFIX . "_" . $modul_dbtitle . "` SET `news_read` = news_read+1 WHERE `id` ='$lid'" );
}
$db->query ( "INSERT INTO `" . PREFIX . "_" . $modul_dbtitle . "_views` SET `name` = '{$member_id[name]}', `date` = '{$thistime}', `fileid` = '{$lid}'" );
exit ();
} elseif (! empty ( $row ['url'] )) {
header ( 'Cache-Control: no-store, no-cache, max-age=1, s-maxage=1, must-revalidate, post-check=0, pre-check=0' );
header ( 'Content-type: application/octet-stream' );
header ( 'Content-Disposition: attachment; filename=' . $row ['filename'] . '' );
header ( 'Location: ' . $row ['url'] . '' );
if ($filesConfig ['fcount'] == 1) {
$db->query ( "UPDATE `" . PREFIX . "_" . $modul_dbtitle . "` SET `news_read` = news_read+1 WHERE `id` ='$lid'" );
}
$db->query ( "UPDATE `" . PREFIX . "_users` SET `download_count_files` = download_count_files+1, `download_date_files` = '{$added_time}' WHERE `name` ='{$member_id[name]}'" );
$db->query ( "INSERT INTO `" . PREFIX . "_" . $modul_dbtitle . "_views` SET `name` = '{$member_id[name]}', `date` = '{$thistime}', `fileid` = '{$lid}'" );
} else
msgbox ( $lang ['all_err_1'], "Запрещено скачивать файлы для незарегистрированных посетителей. <br>Вы вошли на сайт как незарегистрированный пользователь, мы рекомендуем вам зарегистрироваться, либо войти на сайт под своим именем." );
}
?>
|