» » » Этот файл скачали [DLE 9.x - 10.x]

Этот файл скачали [DLE 9.x - 10.x]

Автор: RooTM
Версия DLE: 9.х - 10.0
Доработка: Qnut

Описание:
Данный модуль для позволяет вывести информацию в модальном окне о том, кто скачал файл.

Достоинства:
* Нет запросов к БД.
* Подсветка ников.
* Загружается информация с помощю AJAX и jQuery UI Dialog.
* Все файлы в одной папке.
* Красивый эффект открытия (bounce) и закрытия (explode).
[+] Добавлен вывод даты скачки материала в окне (при наведении на ник) - 19.07.2013

Установка:
1.Для начала скопируйте все файлы из папки upload в данном архиве на ваш сервер.

2.Откройте файл engine/download.php и найдите:
if (! $row)
die ( "Access denied" );

ниже добавьте:
@include ENGINE_DIR . '/modules/WhoDownloadThisFile/add.php';


3.Откройте файл engine/modules/functions.php и найдите:
   if ( ! $user_group[$member_id['user_group']]['allow_files'] ) {

Выше добавьте:
    $WhoDownloadThisFile_button = '<br /> - <a href="#" onclick="WhoDownloadThisFile('.$row['id'].'); return false;"><i>Кто скачал этот файл?</i></a> &copy; <a href="http://weboss.net/" target="_blank" style="text-decoration: none; font-size: 9px;">WEBoss.Net</a>';


Далее ищем:
$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[] = "<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>".$WhoDownloadThisFile_button;
                $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>".$WhoDownloadThisFile_button;


Тут же ищем:
$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>";


Заменяем на:
$replace_1[] = "<span class="attachment"><a href="{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}" >{$row['name']}</a> [{$size}]</span>".$WhoDownloadThisFile_button;
                $replace_2[] = "<span class="attachment"><a href="{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}" >1</a> [{$size}]</span>".$WhoDownloadThisFile_button;


И на последок ищем:
return $story;

И заменяем на:
return '<script type="text/javascript" src="/engine/modules/WhoDownloadThisFile/show.js"></script>'.$story;


Всё, установка окончена!

А теперь немного "магии" =)

Много кто не мог поставить данный модуль рядом с шифрованными аттачами, дак вот, мы раскроем вам эту завесу. Если у вас стоит хак шифровки аттачей, то в 3 пункте выполните следующее:


Когда откроете файл engine/modules/functions.php, то ищите там приблизительно такое:
$row['id'] = urlencode(base64_encode($row['id'])

(это вместо "if ( ! $user_group[$member_id['user_group']]['allow_files'] ) {")
Выше добавьте:
    $WhoDownloadThisFile_button = '<br /> - <a href="#" onclick="WhoDownloadThisFile('.$row['id'].'); return false;"><i>Кто скачал этот файл?</i></a> &copy; <a href="http://weboss.net/" target="_blank" style="text-decoration: none; font-size: 9px;">WEBoss.Net</a>';

И всё, дальше все как и прежде!

  • Имя файла: whodownloadthisfile.rar
  • Размер: 3,55 Kb
  • cкачиваний: 55
  • Md5: cad30ac8c9f5bab7144941efa55f6546
  • Sha1: c49efdd4c64512300bdb7262a8c1c6f8742d152b
  • Скачать

Новость отредактировал: Qnut

Причина: Добавлен вывод даты скачивания файла


Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии

4

LadyX

Посетители 19 июля 2013 20:11
В этом прекрасном модуле необходимо было сделать дату и время скачивания. У меня на сайте, например, бывают случаи когда кто-то ворует курсовик (у меня сайт рефератов), и выкладывает у себя на сайте. С помощью этого модуля я могу узнать, кто скачал и во сколько, и тем самым выловить хулигана. А когда отображается только список через запятую, то это уже большая проблема, особенно если кол-во скачиваний заходит за сотни. Было бы замечательно добавить дату и время скачивания. winked
4

Daivz

Посетители 19 июля 2013 20:17
Можна поставить модль userlog еще проще будет)
4

LadyX

Посетители 19 июля 2013 20:19
Userlog у меня стоит. Но удобнее же сразу посмотреть кто скачал, а не открывать сотни аккаунтов, чтобы посмотреть кто и восколько скачал.
4

Daivz

Посетители 19 июля 2013 20:21
http://www.rips.su/modules/430-kto-skachal-fayl-v-modalnom-okne.html вот с даттой
4

LadyX

Посетители 19 июля 2013 20:27
Да я давно его знаю. Там хайд стоит и версия движка 9.8. А пора бы сделать на 10. А уж коли сделали еще такой же модуль, то допилив дату и время было бы вообще счастье!
4

Daivz

Посетители 19 июля 2013 20:34
Только что проверил модуль работает на 10.0 версии dle
4

LadyX

Посетители 19 июля 2013 20:47
Понятно. Я только предложила улучшить вариант на данном сайте. Спасибо за внимание. smile
4

Qnut

Местные 19 июля 2013 21:27
Цитата: LadyX
Понятно. Я только предложила улучшить вариант на данном сайте. Спасибо за внимание. smile

Ваше предложение выполнено, просто перезалейте файл add.php
4

LadyX

Посетители 20 июля 2013 14:42
Благодарю! Ваш сайт - это что-то!!! love
4
как можно скрыть ссылку Кто скачал этот файл? от пользователей?
4
Цитата: Min-Z-Drav
как можно скрыть ссылку Кто скачал этот файл? от пользователей?

в functions.php вместо
$WhoDownloadThisFile_button = '<br /> - <a href="#" onclick="WhoDownloadThisFile('.$row['id'].'); return false;"><i>Кто скачал этот файл?</i></a> &copy; <a href="http://weboss.net/" target="_blank" style="text-decoration: none; font-size: 9px;">WEBoss.Net</a>';

вставляешь
if($member_id['user_group'] === '1') {
			 $WhoDownloadThisFile_button = '<br /> - <a href="#" onclick="WhoDownloadThisFile('.$row['id'].'); return false;"><i>Кто скачал этот файл?</i></a> &copy; <a href="http://weboss.net/" target="_blank" style="text-decoration: none; font-size: 9px;">WEBoss.Net</a>';
		}

Далее ищешь:
return $story;

Заменяешь на:
return $member_id['user_group'] != '1' ? $story : $script_who_download . $story;
4

Rave

Посетители 17 сентября 2013 16:18
Цитата: Min-Z-Drav
как можно скрыть ссылку Кто скачал этот файл? от пользователей?

когда в functions.php будешь вставлять

$WhoDownloadThisFile_button = '<br /> - <a href="#" onclick="WhoDownloadThisFile('.$row['id'].'); return false;"><i>Кто скачал этот файл?</i></a> © <a href="http://weboss.net/" target="_blank" style="text-decoration: none; font-size: 9px;">WEBoss.Net</a>';


вместо этого, вставь так


if(in_array($member_id['user_group'],array(1,2))){
$WhoDownloadThisFile_button = '<br /> - <a href="#" onclick="WhoDownloadThisFile('.$row['id'].'); return false;"><i>Кто скачал этот файл?</i></a> © <a href="http://weboss.net/" target="_blank" style="text-decoration: none; font-size: 9px;">WEBoss.Net</a>';
}

дальше, это
return '<script type="text/javascript" src="/engine/modules/WhoDownloadThisFile/show.js"></script>'
;.$story;

замени на это

return in_array($member_id['user_group'],array(1,2)) ? '<script type="text/javascript" src="/engine/modules/WhoDownloadThisFile/show.js"></script>'
;.$script_who_download . $story : '<script type="text/javascript" src="/engine/modules/WhoDownloadThisFile/show.js"></script>'
;. $story;


вот тут (в обеих заменах)
array(1,2)

через запятую указывай группы, которым будет видна ссылка.

UPD: Рома опередил)

4
Qnut, но мы же изменили:
return $story;

заменили на
return '<script type="text/javascript" src="/engine/modules/WhoDownloadThisFile/show.js"></script>&#
039;.$story;
4

Rave

Посетители 17 сентября 2013 16:36
Цитата: Min-Z-Drav
Qnut, но мы же изменили:
return $story;

заменили на
return '<script type="text/javascript" src="/engine/modules/WhoDownloadThisFile/show.js"></script>&#

039;.$story;

залил на пасту, а то тут парсер жрет код
http://pastebin.com/fGUUMnC3
4

Starcom

Посетители 4 марта 2015 17:29
Как сделать, что бы гостей записывало?
4

gromrom

Посетители 16 марта 2015 01:15
ребята, а если с внешних ссылок например ссылка на файлообменник, покажет этот мод кто нажимал на ссылку?
4
Цитата: gromrom
ребята, а если с внешних ссылок например ссылка на файлообменник, покажет этот мод кто нажимал на ссылку?

нет конечно
4

Starcom

Посетители 8 мая 2015 14:51
А теперь немного "магии" =)

Много кто не мог поставить данный модуль рядом с шифрованными аттачами, дак вот, мы раскроем вам эту завесу. Если у вас стоит хак шифровки аттачей, то в 3 пункте выполните следующее:
Если это применять, тогда теряет весь смысл модуля HIDE, так как ID можно увидеть через исходный код! Если только для админов сделать, тогда норм, а так глупо делать! Лучше написали бы как при обращении к базе (кто скал) в самом модуле ID раскодировался тогда это было бы не плохо!
4

Qnut

Местные 8 мая 2015 15:45
Цитата: Starcom
А теперь немного "магии" =)

Много кто не мог поставить данный модуль рядом с шифрованными аттачами, дак вот, мы раскроем вам эту завесу. Если у вас стоит хак шифровки аттачей, то в 3 пункте выполните следующее:
Если это применять, тогда теряет весь смысл модуля HIDE, так как ID можно увидеть через исходный код! Если только для админов сделать, тогда норм, а так глупо делать! Лучше написали бы как при обращении к базе (кто скал) в самом модуле ID раскодировался тогда это было бы не плохо!

Эм... Ну увидели вы ID и что дальше? вы вкурсе что ссылка на скачивание формируется не только из ID...
4

Starcom

Посетители 9 мая 2015 15:33
Qnut, Так, а в чем тогда смысл шифровки аттач?
4

Qnut

Местные 10 мая 2015 14:20
Цитата: Starcom
Qnut, Так, а в чем тогда смысл шифровки аттач?

А вы попробуйте скачать, даже зная ID файла и поймете...
4

Starcom

Посетители 10 мая 2015 14:57
Цитата: Qnut
Цитата: Starcom
Qnut, Так, а в чем тогда смысл шифровки аттач?

А вы попробуйте скачать, даже зная ID файла и поймете...

Ну это я уже понял что не реально! Теперь вопрос стоит в другом! Зачем шифровать, если и так не возможно скачать? Для каких целей это нужно?
4

Qnut

Местные 10 мая 2015 16:58
Цитата: Starcom
Цитата: Qnut
Цитата: Starcom
Qnut, Так, а в чем тогда смысл шифровки аттач?

А вы попробуйте скачать, даже зная ID файла и поймете...

Ну это я уже понял что не реально! Теперь вопрос стоит в другом! Зачем шифровать, если и так не возможно скачать? Для каких целей это нужно?

Дествительно, давайте ка покажем реальную ссылку на скачивание чтобы смогли потом ее подобрать... Логика
4

Starcom

Посетители 10 мая 2015 17:49
Я что то уже запутался! Вы говорите зная даже ID не возможно скачать! Так , а как же подобрать ссылку? Если шифровка аттач шифрует только ID ???
Изначально ссылка такая
http://site.ru/engine/download.php?id1

после шифровки типа так
http://site.ru/engine/download.php?9ht99urh

По запросу
http://site.ru/engine/download.php?id1

скачивание не произойдет! Как же ее подберут?
4

Qnut

Местные 10 мая 2015 19:12
после шифровки чтобы скачать материал не достаточно знать ID, при создании ссылки уже появляется ряд других условий, которые в нее входят, и эти условия шифруются, так как если они будут публичными то можно будет подобрать потом ссылку на скачивание, а так, увы, уникальный код, который создается весьма сложно как то предугадать.

Информация

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