DownPage - скачивание файлов на отдельной странице
Представляем вам такой хак DownPage скачивание файлов на отдельной странице для DLE 12.x - 14.x после установке которого, вы сможете организовать на своем сайте скачивание файлов на отдельной странице и с таймером. При нажатии на скачать какой либо файл откроется другая страница, где уже будет прямая ссылка на сам файл, на странице которой можно разместить рекламу или что то другое то что вам нужно, также смотрите у нас и другие хаки для dle.
Установка:
1. Открыть engine/download.php и найти:
$row = $db->super_query ( "SELECT news_id, name, onserver FROM " . PREFIX . "_files WHERE id ='{$id}'" );
Заменить на:
$row = $db->super_query ( "SELECT news_id, name, onserver, author, date, dcount FROM " . PREFIX . "_files WHERE id ='{$id}'" )
Найти:
$row_news = $db->super_query ( "SELECT id, autor, date, category, alt_name, approve, access FROM " . PREFIX . "_post LEFT JOIN " . PREFIX . "_post_extras ON (" . PREFIX . "_post.id=" . PREFIX . "_post_extras.news_id) WHERE id ='{$row['news_id']}'" );
Заменить на:
$row_news = $db->super_query ( "SELECT id, autor, date, title, category, alt_name, approve, access FROM " . PREFIX . "_post LEFT JOIN " . PREFIX . "_post_extras ON (" . PREFIX . "_post.id=" . PREFIX . "_post_extras.news_id) WHERE id ='{$row['news_id']}'" );
Найти:
$url = @parse_url ( $row['onserver'] );
Добавить ниже:
$timer = 10; //обратный отсчет, секунды
$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" );
$tpl = str_ireplace( "{category}", $cat_info[$row_news['category']]['name'], $tpl );
$tpl = str_ireplace( "{category-link}", $config['http_home_url'] . get_url( intval($row_news['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_news['title'] ), $tpl );
$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();
И настроить под себя:
$timer = 10; //обратный отсчет, секунды
$offline_time = 1; //Сколько минут ссылка будет рабочей
2. В папке с шаблоном создать downpage.tpl и добавить в него следующий код:
Все!
- Версия DLE: 12.x - 14.x
- Кодировка: utf-8, win-1251
- Категория: Хаки
- Автор: Sander
- Автор модификации: SX2
- Комплектация: модуль, инструкция
- Источник:
собрано 3050.00 рублей
Поддержать автора
Войдите на сайт
Все собранные средства будут переданы автору этой статьи - DEN
Сумма перевода от 10.00 рублей
предыдущая: Уведомление о новом пользователе на E-mail
следующая: Дополнительные поля по средством вкладок
Похожие хаки
Минимальная длина комментария - 10 знаков, комментарии могут модерироваться!