Хак вывод модального окна с таймером и рекламой

Рубрика: Хаки для DLE » Хак DLE 11.2, 11.1, 11.0, 10.6, 10.5, 10.4, 10.3, 10.2, 10.1, 10.0, 9.8, 9.7, 9.6, 9.5, 9.4, 9.3, 9.2, 9.0
Хак вывод модального окна с таймером и рекламой
Представляем Хак для dle вывод модального окна с таймером и рекламой при клике на attachment для незарегистрированных пользователей, который работает на версии DLE 10.2, тем самым вы можете зарабатывать на своей целевой аудитории и способствовать обязательной регистрации. Вывод модального окна с таймером и рекламой для неавторизованных пользователей, требует подождать 30 секунд или нажать на одну ссылку из рекламы. www.dle9.com

Основное достоинство хака состоит в том, что он не меняет вывод стандартного attachment, а модальное окно выводит только для гостей сайта DataLife Engine.

Работа хака Dle 10.2 по пунктам:
1) Неавторизованный пользователь клацает по ссылке;
2) Открывается модальное окно с просьбой подождать 30 сек. или нажать на одну из ссылок;
3) Гость ждет или нажимает на рекламу и Вы получаете свои копеечки;
4) В конце появляется ссылка на скачивание файла.

Установка:
Открываем файл engine/modules/functions.php,

Ищем:

function show_attach($story, $id, $static = false) {
    global $db, $config, $lang, $user_group, $member_id;

    $find_1 = array();
    $find_2 = array();
    $replace_1 = array();
    $replace_2 = array();
    
    if( $static ) {
        
        if( is_array( $id ) and count( $id ) ) $where = "static_id IN (" . implode( ",", $id ) . ")";
        else $where = "static_id = '".intval($id)."'";
        
        $db->query( "SELECT id, name, onserver, dcount FROM " . PREFIX . "_static_files WHERE $where" );
        
        $area = "&area=static";
    
    } else {
        
        if( is_array( $id ) and count( $id ) ) $where = "news_id IN (" . implode( ",", $id ) . ")";
        else $where = "news_id = '".intval($id)."'";
        
        $db->query( "SELECT id, name, onserver, dcount FROM " . PREFIX . "_files WHERE $where" );
        
        $area = "";
    
    }
    
    while ( $row = $db->get_row() ) {
        
        $size = formatsize( @filesize( ROOT_DIR . '/uploads/files/' . $row['onserver'] ) );
        $row['name'] = explode( "/", $row['name'] );
        $row['name'] = end( $row['name'] );

        $find_1[] = '[attachment=' . $row['id'] . ']';
        $find_2[] = "#[attachment={$row['id']}:(.+?)]#i";

        if ( ! $user_group[$member_id['user_group']]['allow_files'] ) {

            $replace_1[] = "<span class="attachment">{$lang['att_denied']}</span>";
            $replace_2[] = "<span class="attachment">{$lang['att_denied']}</span>";

        } elseif( $config['files_count'] ) {

            $replace_1[] = "<span class="attachment"><a href="{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}" >{$row['name']}</a> [{$size}] ({$lang['att_dcount']} {$row['dcount']})</span>";
            $replace_2[] = "<span class="attachment"><a href="{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}" >\1</a> [{$size}] ({$lang['att_dcount']} {$row['dcount']})</span>";

        } else {

            $replace_1[] = "<span class="attachment"><a href="{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}" >{$row['name']}</a> [{$size}]</span>";
            $replace_2[] = "<span class="attachment"><a href="{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}" >\1</a> [{$size}]</span>";

        }

    }

    $db->free();

    $story = str_replace ( $find_1, $replace_1, $story );
    $story = preg_replace( $find_2, $replace_2, $story );
    
    return $story;

}


Заменяем на:

function show_attach($story, $id, $static = false) {
    global $db, $config, $lang, $user_group, $member_id;

    $find_1 = array();
    $find_2 = array();
    $replace_1 = array();
    $replace_2 = array();
    
    if( $static ) {
        
        if( is_array( $id ) and count( $id ) ) $where = "static_id IN (" . implode( ",", $id ) . ")";
        else $where = "static_id = '".intval($id)."'";
        
        $db->query( "SELECT id, name, onserver, dcount FROM " . PREFIX . "_static_files WHERE $where" );
        
        $area = "&amp;area=static";
    
    } else {
        
        if( is_array( $id ) and count( $id ) ) $where = "news_id IN (" . implode( ",", $id ) . ")";
        else $where = "news_id = '".intval($id)."'";
        
        $db->query( "SELECT id, name, onserver, dcount FROM " . PREFIX . "_files WHERE $where" );
        
        $area = "";
    
    }
    
    while ( $row = $db->get_row() ) {
        
        $size = formatsize( @filesize( ROOT_DIR . '/uploads/files/' . $row['onserver'] ) );
        $row['name'] = explode( "/", $row['name'] );
        $row['name'] = end( $row['name'] );

        $find_1[] = '[attachment=' . $row['id'] . ']';
        $find_2[] = "#[attachment={$row['id']}:(.+?)]#i";

        global $is_logged;

        if(!$is_logged)
        {
            $attachment_guest = "
            <div id="comrules" style="display:none" title="Скачивание файла">
            Уважаемый Пользователь!<br>
            Для того что бы скачать с нашего сервера файл Вам надо быть <a href="/index.php?do=register">зарегистрированным</a> на сайте или подождать <span id="rktimer-sec">30</span> сек.!<br><br>
                Чтобы ускорить процесс нажмите на одну из ниже представленных ссылок:<br>
                <script charset="UTF-8" src="http://z1320.takru.com/in.php?id=1320954"></script>
                <br><br>Скачать: <span id="linkHidden"></span><br>
            </div>

            <script>
            var rkcls = '.takru'; // Для wmlink: '.wmlinkru, .wmlinkrul', для Tak.ru: '.takru'
            var rkink = $('.attachment').html();
            $('.attachment a').attr('href', 'javascript://');

            $(rkcls).attr('target', '_blank');
            $('.attachment').click(function () {
                $('#comrules').dialog({
                    autoOpen: true,
                    width: 500,
                    buttons: {
                        'Закрыть' : function() {
                            $(this).dialog('close');
                        }
                    }
                });
                setTimeout(rktimer,1000);
            });

            $(rkcls).click(function () {
              $('#linkHidden').append(rkink);
            });

            function rktimer() {
                var obj = document.getElementById('rktimer-sec');
                obj.innerHTML--;
                if(obj.innerHTML==0) {
                    $('#linkHidden').html(rkink);
                }
                else
                    setTimeout(rktimer,1000);
            }
            </script>
            ";
        }

        if ( ! $user_group[$member_id['user_group']]['allow_files'] ) {

            $replace_1[] = "<span class="attachment">{$lang['att_denied']}</span>" . $attachment_guest;
            $replace_2[] = "<span class="attachment">{$lang['att_denied']}</span>" . $attachment_guest;

        } elseif( $config['files_count']) {
                $replace_1[] = "<span class="attachment"><a href="{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}" >{$row['name']}</a> [{$size}] ({$lang['att_dcount']} {$row['dcount']})</span>" . $attachment_guest;
                $replace_2[] = "<span class="attachment"><a href="{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}" >\1</a> [{$size}] ({$lang['att_dcount']} {$row['dcount']})</span>" . $attachment_guest;
        } else {

            $replace_1[] = "<span class="attachment"><a href="{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}" >{$row['name']}</a> [{$size}]</span>" . $attachment_guest;
            $replace_2[] = "<span class="attachment"><a href="{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}" >\1</a> [{$size}]</span>" . $attachment_guest;
        }

    }

    $db->free();

    $story = str_replace ( $find_1, $replace_1, $story );
    $story = preg_replace( $find_2, $replace_2, $story );
    
    return $story;
}


Где:


заменяем на свой код от Tak_ru или другой системы.
Скачать хаки для dle, как Хак вывод модального окна с таймером и рекламой
P.S. Некорректно работает для двух и более attachment на странице скачать
  • 60
Рубрика: DLE хаки » Хак для DLE
Ранее » Загрузка файлов в папку шаблона из админки v. 1.1« Далее Уведомление о новом комментарии в новости v.2 для DLE
Добавление комментарияОставить комментарий
  • № :14
  • 31 марта 2015 19:05
Цитата: Mantrik
теперь появилось такое:
Parse error: syntax error, unexpected '<' in /var/www/user2460816/data/www/мой сайт/engine/modules/functions.php on line 1135

походу весь код нужно перелапачивать попробуйте этот http://www.dle9.com/moduli/besplatnye-moduli/3613-skachivanie-iz-modalnogo-okna-
po-istechenii-vremeni-hak.html
  • № :13
  • 31 марта 2015 17:49
теперь появилось такое:
Parse error: syntax error, unexpected '<' in /var/www/user2460816/data/www/мой сайт/engine/modules/functions.php on line 1135
  • № :12
  • 31 марта 2015 15:09
Цитата: Mantrik
дле 10.4
сайт не грузится. ошибка:
Parse error: syntax error, unexpected T_STRING in /var/www/user2460825/data/www/мой сайт/engine/modules/functions.php on line 1125
в этом месте запись:
<div id="comrules" style="display:none" title="Скачивание файла">
можно что то сделать?

Здравствуйте. попробуйте так это

= "
            <div id="comrules" style="display:none" title="Скачивание файла">
            Уважаемый Пользователь!<br>
            Для того что бы скачать с нашего сервера файл Вам надо быть <a href="/index.php?do=register">зарегистрированным</a> на сайте или подождать <span id="rktimer-sec">30</span> сек.!<br><br>
                Чтобы ускорить процесс нажмите на одну из ниже представленных ссылок:<br>
                <script charset="UTF-8" src="http://z1320.takru.com/in.php?id=1320954"></script>
                <br><br>Скачать: <span id="linkHidden"></span><br>
            </div>


заменить на это

 = <<<HTML

<div id="comrules" style="display:none" title="Скачивание файла">
            Уважаемый Пользователь!<br>
            Для того что бы скачать с нашего сервера файл Вам надо быть <a href="/index.php?do=register">зарегистрированным</a> на сайте или подождать <span id="rktimer-sec">30</span> сек.!<br><br>
                Чтобы ускорить процесс нажмите на одну из ниже представленных ссылок:<br>
                <script charset="UTF-8" src="http://z1320.takru.com/in.php?id=1320954"></script>
                <br><br>Скачать: <span id="linkHidden"></span><br>
            </div>
HTML;
  • № :11
  • 31 марта 2015 14:29
дле 10.4
сайт не грузится. ошибка:
Parse error: syntax error, unexpected T_STRING in /var/www/user2460825/data/www/мой сайт/engine/modules/functions.php on line 1125
в этом месте запись:
<div id="comrules" style="display:none" title="Скачивание файла">
можно что то сделать?
  • № :10
  • 31 марта 2015 14:00
здравствуйте. на дле 10,4 работает?
  • № :9
  • 28 ноября 2014 07:22
Цитата: Heavy4
тоесть и для гостей и для пользователей

можно сделать в строчках кода
if(!$is_logged)


добавить группу через запятую, делал как-то для modules/commetns.php, там есть похожие строчки их нужно правильно скопировать в это место, смотреть код движка и искать нужно
if ( ! $user_group[

попробуйте спросить здесь, помогут быстрее
Внимание! У вас нет прав для просмотра скрытого текста.
  • № :8
  • 27 ноября 2014 19:56
тоесть и для гостей и для пользователей
  • № :7
  • 27 ноября 2014 19:51
а как сделать что бы выводилось модальное окно с таймером для всех юзеров, кроме гостей?
  • № :6
  • 27 ноября 2014 19:49
Цитата: Heavy4
как сделать что бы для всех пользователей (гостей, польхователей и тд) выводилось модальное окно с таймером (без реклмы)???

убрать эту строчку из кода engine/modules/functions.php,
[hide] <script charset="UTF-8" src="http://z1320.takru.com/in.php?id=1320954"></script>[/hid
e]
  • № :5
  • 27 ноября 2014 19:33
как сделать что бы для всех пользователей (гостей, польхователей и тд) выводилось модальное окно с таймером (без реклмы)???
  • № :4
  • 27 сентября 2014 15:29
Цитата: myzikant_d
Цитата: dle9
Цитата: myzikant_d
Добрый день! А как его адаптировать под DLE 9.4 ???

Добрый день! В блоке похожих постах есть такой же хак для вашей версии.
Но если нужен именно этот, то нужно взять две версии движка дле и сравнивать заменяемый код

Та да, нужен именно этот! Все те уже перепробовал, не то...

взять две версии движка дле 10.2 и 9.4 и посмотреть какие изменения в коде нужно внести чтобы работал хак, если посмотри те внимательно на код хак то в нем есть код в нескольких местах, который можно вставить в вашу версию дле движка и он должен заработать.
  • № :3
  • 27 сентября 2014 15:08
Цитата: dle9
Цитата: myzikant_d
Добрый день! А как его адаптировать под DLE 9.4 ???

Добрый день! В блоке похожих постах есть такой же хак для вашей версии.
Но если нужен именно этот, то нужно взять две версии движка дле и сравнивать заменяемый код

Та да, нужен именно этот! Все те уже перепробовал, не то...
  • № :2
  • 27 сентября 2014 15:06
Цитата: myzikant_d
Добрый день! А как его адаптировать под DLE 9.4 ???

Добрый день! В блоке похожих постах есть такой же хак для вашей версии.
Но если нужен именно этот, то нужно взять две версии движка дле и сравнивать заменяемый код
  • № :1
  • 27 сентября 2014 13:18
Добрый день! А как его адаптировать под DLE 9.4 ???