8Dle
Авторизация

Скачка из модального окна (Ajax)

Скачка из модального  окна (Ajax)

Хак простой...Его задача украсть скачку файлов с сайта...
Работает только с аттачами... На днях где-то прочитал...вроде на скриптерсе...Кто-то попросил модуль "Страница Скачивания" сделать в модальном окне...Сама идея мне понравилась,но не полностью...

В хаке я сделал только открытие модального окна в котором собственно и будет сама ссылка на скачивание.
Если группе запрещено скачивать - так и окно автор пряник показано не будет т.к. аттач показан не будет.
Дизайн внутри вы полностью контролируете! Можете сделать там все,что взбредет в голову...Я этого делать не стал т.к. спать хочу и автор пряник незачем мне...

Ах да...Сам аттачмент теперь показывается как цитата...Можете в принципе поменять как вам удобней.

Для начала откроем файл: engine/modules/functions.php
В нем найдем строки:

$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>";


пысы...чуть выше строчки если зашел гость...можно написать типа: вы посланы нах и вам нельзя скачивать
Теперь к делу...Нашли вы эти 2 строчки и заменяем на:

 $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;\" >
<b>После скачивания файла просим оставить свой комментарий и выставить рейтинг.</b><br /><br />
     Название: <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>
<script type=\"text/javascript\">
function showDownLoad() {
$(function(){
    $('#DownLoadWindow').dialog({
        autoOpen: true,
        show: 'slide',
        hide: 'slide',
        width: 520,
        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;\" >
<b>После скачивания файла просим оставить свой комментарий и выставить рейтинг.</b><br /><br />
     Название: <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>
<script type=\"text/javascript\">
function showDownLoad() {
$(function(){
    $('#DownLoadWindow').dialog({
        autoOpen: true,
        show: 'slide',
        hide: 'slide',
        width: 520,
        buttons: {
            \"Закрыть окно\" : function() {
                $(this).dialog(\"close\");
            },
        }

    });
});
}
</script>";


На этом все. Хак предназначен для тех у кого ЧПУ включено! У кого нет - пишем в аську и я доделаю...естественно бесплатно.

Проверялся на: v9.0

На демке не очень красиво т.к. фантазия с внутренним оформлением хромает очень сильно.

{$row['name']} - название файла
{$size} - размер в киллометрах  
{$row['dcount']} - количество скачиваний
{$config['http_home_url']}engine/download.php?id={$row['id']}{$area} - линк на файл и применяется в таком виде:
<a href=\"{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}\" >Скачать</a>


На этом не все...Для совсем нубаков...
style=\"display:none;\"
тут можно фон прицепить ... Например так:
style=\"display:none;background:#ff0000;\"

Жмите на Кнопу ниже, или подписывайтесь!


Читайте также
  1. StyLLeR
    14 января 2011 18:34
    Народ не ставьте эту хрень, если на странице несколько атачментов то он их местами путает! я только что заметил эту фишку! допустим название одно а на самом деле файл вообще другой!!!
    Плохой....! Хороший...! Главное, у кого ружьё!
  2. Stelsi
    23 января 2011 07:32

    Цитата: StyLLeR
    Народ не ставьте эту хрень, если на странице несколько атачментов то он их местами путает!


    Согласен.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.


Dle это движок который изначально проектировался для создания новостных сайтов, но по мере своего развития движка значительно расширил свою функциональность и стал универсальным средством разработки и сопровождения сайтов и блогов различной направленности и тематики. По сравнению с другими бесплатными (и некоторыми платными) CMS системами движок dle обладает довольно обширными возможности.

Авторизация