Хак на 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), хак задержка при скачивании файла - модальное окно с таймером
Комментарии 11