
Хак на DataLife Engine - который позволит задержать посетителей вот таким способом, при нажатие на ссылку скачивания выйдет модальное окно с таймером. Притом, можно использовать как рекламный блок и задавать любое значение таймера в ручную. Установка задержки при скачивании файла очень простая. Данный хак должен работать на любой девятой версии движка DataLife Engine проверен на 9.5, 9.6, 9.7 дле.
Задержка при скачивании файла - модальное окно с таймером (хак дле)
Устанавливается на 9.6 - 9.7 (может и более ранее версии)
1. Откройте файл engine/modules/functions.php и найдите в нем строки (примерно 648):
$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>";
И замените их на:
$replace_1[] = "<div class="DownLoadWindow"><div class="quote"> <a href="#" onclick="showDownLoad(); return false;">Скачать <b>{$row['name']}</b></a></div></div><div id="DownLoadWindow" title="Скачивание {$row['name']}" style="display:none;" > <table id="timer_1" border="0" cellpadding="2" cellspacing="2"><tbody><tr> <td>Скачивание будет доступно через:</td> <td id="timer_num"></td> <td>сек.</td> </tr></tbody></table> <div style="display:none" id="timer_2"> Название: <b>{$row['name']}.</b><br /><br /> Размер: <b>{$size}.</b> <br /><br /> Скачиваний: <b>{$row['dcount']} раз.</b> <br /><br /> <a href="{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}" >Скачать <b>{$row['name']}</b></a></div></div><script type="text/javascript"> timer_num = 15; // Число задержки в секундах function timer_fc(){ if(timer_num>0){ $('#timer_num').text(timer_num); timer_num--; setTimeout("timer_fc()", 1000) }else{ $('#timer_1').hide(); $('#timer_2').show(); }} timer_fc(); function showDownLoad() {$(function(){ $('#DownLoadWindow').dialog({ width: 420, buttons: { "Закрыть окно" : function() { $(this).dialog("close"); }, } });});}</script>"; $replace_2[] = "<div class="DownLoadWindow"><div class="quote"> <a href="#" onclick="showDownLoad(); return false;">Скачать <b>{$row['name']}</b></a></div></div><div id="DownLoadWindow" title="Скачивание {$row['name']}" style="display:none;" ><table id="timer_1" border="0" cellpadding="2" cellspacing="2"><tbody><tr> <td>Скачивание будет доступно через:</td> <td id="timer_num"></td> <td>сек.</td> </tr></tbody></table> <div style="display:none" id="timer_2"> Название: <b>{$row['name']}.</b><br /><br /> Размер: <b>{$size}.</b> <br /><br /> Скачиваний: <b>{$row['dcount']} раз.</b> <br /><br /> <a href="{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}" >Скачать <b>{$row['name']}</b></a></div></div><script type="text/javascript"> timer_num = 15; // Число задержки в секундах function timer_fc(){ if(timer_num>0){ $('#timer_num').text(timer_num); timer_num--; setTimeout("timer_fc()", 1000) }else{ $('#timer_1').hide(); $('#timer_2').show(); }} timer_fc(); function showDownLoad() {$(function(){ $('#DownLoadWindow').dialog({ width: 420, buttons: { "Закрыть окно" : function() { $(this).dialog("close"); }, } });});}</script>";
Где в строке "timer_num = 15;" укажите свое время задержки
3. В любом файле style.css (если такого нет можно в любой CSS файл) в самом конце файла добавить:
#timer_num {width:70px; height:70px; background: url('../images/timer.gif') no-repeat; text-align:center; font-size:36px; color:#666}
4. Закинуть файл timer.gif в папку images Вашего шаблона.
Хак attchment в модальном окне с задержкой времени
Автор: Trust
Сайт рекомендует (скачать хаки для dle), хак задержка при скачивании файла - модальное окно с таймером