Скачать Downpage - скачивание на отдельной странице DLE 11.x - 12.x
Downpage - модуль для аттачментов на DLE с таймером что бы сделать отдельную страницу для скачивания. Т.е при нажатие на ссылку файла, открывается другая страница, где уже есть прямая ссылка на файл на которой можно разместить рекламу или другое.
Залить файл downpage.tpl в папку с шаблоном.
Открыть файл engine/download.php
Найти строку:
После нее вставить:
Найти строку:
Заменить на:
Открыть файл engine/download.php
Найти строку:
$url = @parse_url ( $row['onserver'] );
После нее вставить:
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
$timer = 5; //обратный отсчет, секунды
$offline_time = 1; //Сколько минут ссылка будет рабочей
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if( !$_GET['hash'] OR !$_SESSION['download_timer'] OR $_GET['hash'] != md5( $id . $row['onserver'] . $_SESSION['download_timer'] ) OR $_SESSION['download_timer'] > time() OR $_SESSION['download_timer'] + $offline_time*60 < time() )
{
$_SESSION['download_timer'] = time() + $timer;
$cat_info = get_vars( "category" );
if( ! is_array( $cat_info ) ) {
$cat_info = array ();
$db->query( "SELECT * FROM " . PREFIX . "_category ORDER BY posi ASC" );
while ( $row = $db->get_row() ) $cat_info[$row['id']] = array_map("stripslashes",$row);
set_vars( "category", $cat_info );
$db->free();
}
$tpl = file_get_contents( ROOT_DIR . "/templates/{$config['skin']}/downpage.tpl" );
$row['category'] = intval( $row['category'] );
$tpl = str_ireplace( "{category}", $cat_info[$row['category']]['name'], $tpl );
$tpl = str_ireplace( "{category-link}", $config['http_home_url'] . get_url( $row['category'] ) . "/", $tpl );
$tpl = str_ireplace( "{author}", "<a href=\"" . $config['http_home_url'] . "user/" . urlencode( $row['author'] ) . "/" . "\">" . $row['author'] . "</a>", $tpl );
$tpl = str_ireplace( "{title}", stripslashes( $row['title'] ), $tpl );
if( $row['category'] and $config['seo_type'] == 2 ) $full_link = $config['http_home_url'] . get_url( $row['category'] ) . "/" . $row['news_id'] . "-" . $row['alt_name'] . ".html";
else $full_link = $config['http_home_url'] . $row['news_id'] . "-" . $row['alt_name'] . ".html";
$tpl = str_ireplace( "{full_link}", $full_link, $tpl );
$tpl = str_ireplace( "{filename}", stripslashes( $row['name'] ), $tpl );
$tpl = str_ireplace( "{size}", formatsize( @filesize( ROOT_DIR . '/uploads/files/' . $row['onserver'] ) ), $tpl );
$tpl = str_ireplace( "{date}", date( "d.m.Y, H:i", $row['date'] ), $tpl );
$tpl = str_ireplace( "{count}", $row['dcount'], $tpl );
$tpl = str_ireplace( "{timer}", $timer, $tpl );
$tpl = str_ireplace( "{downlink}", "/engine/download.php?id=$id&hash=" . md5( $id . $row['onserver'] . $_SESSION['download_timer'] ), $tpl );
$tpl = str_ireplace( "{charset}", $config['charset'], $tpl );
$tpl = str_ireplace( "{THEME}", $config['http_home_url'] . 'templates/' . $config['skin'], $tpl );
echo $tpl;
die();
}else $_SESSION['download_timer'] = time();
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Найти строку:
$row = $db->super_query ( "SELECT name, onserver FROM " . PREFIX . "_files WHERE id ='{$id}'" );
Заменить на:
$row = $db->super_query ( "SELECT f.*, p.title, p.category, p.alt_name FROM " . PREFIX . "_files f LEFT JOIN ".PREFIX."_post p ON p.id=f.news_id WHERE f.id = $id" );
Исходный код: Sander
Автор адаптации: Не известно
Кодировка: win-1251, utf-8
downpage.zip
[4.68 Kb] (cкачиваний: 567)