G
G
GFITS2014-06-08 16:55:07
DLE
GFITS, 2014-06-08 16:55:07

How to embed a script in a page

There is a hack:

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 Вашего шаблона.

How to make the download be on the page along with a timer and all sorts of goodies, and not in the window?
I don't know JS very well ;)

Answer the question

In order to leave comments, you need to log in

1 answer(s)
G
GFITS, 2014-06-08
@GFITS

Here is the hack
cms-file.ru/all_for_dle/hack_for_dle/376-hak-skach...

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question