• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

Помощь Скачивания на отдельной странице

valera22

Местный житель
Регистрация
22 Сен 2013
Сообщения
206
Реакции
21
В чем может быть проблема?, установил правильно, но при нажатии на ссылку "скачать" перекидывает на главную страницу.
Вот хак

Код:
Установка для DLE 12.0 и Выше

Открыть файл 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();
//////////////////////////////////////////////////////////////////////////

Создать файл downpage.tpl в папке с шаблоном с содержимым:
Код
<!DOCTYPE html>
<html lang="ru-RU">
<head>
<meta http-equiv="Content-Type" content="text/html; charset={charset}">
<title>{title} &raquo; Скачивание файла</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta name="robots" content="noindex, nofollow">
<style type="text/css">
*,*:after,*:before{
    margin:0;
    padding:0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
body{
    background: #78a6d8 url(/templates/Color/images/down_bg.jpg) no-repeat 50% 50%;
    background-attachment: fixed;
    font: normal 13px/21px Verdana;
    color: #444;
}
.wrapper{
    width: 100%;
    max-width: 560px;
    margin: 40px auto 20px;
    box-shadow: 0 2px 5px rgba(0,0,0,.1);
}
.header{
    padding: 0 20px;
    line-height: 45px;
    background: rgba(0,0,0,.5);
    color: #eee;
    border-radius: 3px 3px 0 0;
    display: none;
}
.main{
    border-radius: 3px 3px 0 0;
    background: #f8f8f8;
}

h1{
    font-size: 21px;
    font-weight: normal;
    padding: 30px;
    color: #243133;
    text-align: center;
}
h1 a{
    text-decoration: none;
}
a{
    color: #f57c00;
}
a:hover{
    color: #111;
}
ul{
    max-width: 66%;
    margin: 0 auto;
    padding: 0;
    border-top: 1px solid #eee;
    list-style: none;
}
ul li{
    border-bottom: 1px solid #eee;
    padding: 3px 25px;
    font-size: 12px;
    color: #777
}
ul li b{
    color: #333;
}

.download{
    padding: 30px;
    text-align: center;
}
.timer b{
    padding-right: 24px;
    background: url(/portfolio/adaptations/data:image/gif;base64,R0lGODlhFAAUAJEDAMzMzLOzs39/f////yH/C05FVFNDQVBFMi4wAwEAAAAh+QQFCgADACwAAAAAFAAUAAACPJyPqcuNItyCUJoQBo0ANIxpXOctYHaQpYkiHfM2cUrCNT0nqr4uudsz/IC5na/2Mh4Hu+HR6YBaplRDAQAh+QQFCgADACwEAAIADAAGAAACFpwdcYupC8BwSogR46xWZHl0l8ZYQwEAIfkEBQoAAwAsCAACAAoACgAAAhccMKl2uHxGCCvO+eTNmishcCCYjWEZFgAh+QQFCgADACwMAAQABgAMAAACFxwweaebhl4K4VE6r61DiOd5SfiN5VAAACH5BAUKAAMALAgACAAKAAoAAAIYnD8AeKqcHIwwhGntEWLkO3CcB4biNEIFACH5BAUKAAMALAQADAAMAAYAAAIWnDSpAHa4GHgohCHbGdbipnBdSHphAQAh+QQFCgADACwCAAgACgAKAAACF5w0qXa4fF6KUoVQ75UaA7Bs3yeNYAkWACH5BAUKAAMALAIABAAGAAwAAAIXnCU2iMfaRghqTmMp1moAoHyfIYIkWAAAOw==) no-repeat 100% 50%;
}
.download img{
    vertical-align: middle;
}
.downlink{
    display: none;
}
.downlink a{
    display: block;
    width: 300px;
    line-height: 18px;
    padding: 9px;
    margin: 0 auto;
    text-align: center;
    background: #388E3C url(/portfolio/adaptations/data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAoCAIAAACw1AcgAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAIUlEQVQImWNwXuDOxMDAwPT//38UmuE/A3l8BiqZA+EDADU7KVH6TsQQAAAAAElFTkSuQmCC) repeat-x 0 0;
    color: #fff;
    text-decoration: none;
    border-radius: 2px;
    border: 1px solid #2E7D32;
}
.downlink a:hover{
    background-image: url(/portfolio/adaptations/data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAoCAIAAACw1AcgAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAHklEQVQImWOw6LNhYmBggGNGRkYIm5EyPiMDVcwBAMLuAXZsjCntAAAAAElFTkSuQmCC);
    background-position: 0 100%;
}

.footer{
    text-align: center;
    padding: 15px;
    color: #ccc;
    font-size: 12px;
    background: #24292A;
    border-radius: 0 0 3px 3px;
}
.footer a:hover{
    color: #fff;
}
</style>
</head>
<body>

<div class="wrapper">
    <div class="header">Скачать файл</div>

    <div class="main">
        <h1><a href="{full_link}">{title}</a></h1>
        <ul>
            <li>Добавлено: <b>{date}</b></li>
            <li>Категория: <a href="{category-link}">{category}</a></li>
            <li>Загрузил на сайт: {author}</li>
            <li>Размер файла: <b>{size}</b></li>
            <li>Количество загрузок: <b>{count}</b></li>
        </ul>
       
        <div class="download">
            <div class="timer">Подготовка... Ссылка будет доступна через <b>{timer}</b></div>
            <div class="downlink"><a href="{downlink}">Скачать: <b>{filename}</b></a></div>
        </div>
    </div>
   
    <div class="footer">
        2017 &copy; <a href="//sx2.name/" target="_blank">WWW.SX2.NAME</a>
    </div>
</div>

<script>
var timeout = {timer};
var timer = setInterval(function(){
    timeout--;
    document.querySelector('.timer b').innerHTML = timeout;
    if( timeout == 0 ){
        clearInterval(timer);
        document.querySelector('.timer').style.display = 'none';
        document.querySelector('.downlink').style.display = 'block';
    }
},1000);
</script>
</body>
</html>

Настроить под себя:
$timer = 10; //обратный отсчет, секунды
$offline_time = 1; //Сколько минут ссылка будет рабочей
 
могу предложить мой способ настройки страницы загрузки
скачиваете Для просмотра ссылки Войди или Зарегистрируйся
в /engine/ переименовываете download.php в file.php
в /engine/ загружаете файл download.php
в загруженном download.php нужно сверстать страницу загрузки
профит
 
Назад
Сверху