Мод заглушки для скачивания файлов

Аватара пользователя
Aber
Благодарил (а): 14 раз
Поблагодарили: 10 раз
Сообщения: 105
Зарегистрирован: 23 окт 2010, 22:10
Сообщение

Мод заглушки для скачивания файлов

02 окт 2014, 02:26

Добрый день

У меня на трекере пользователи любят загружать файлы pdf в сообщения. Эти файлы доступны для скачивания как для зарегистрированных так и для гостей.
Если пользователь скопирует ссылку на такой файл на другом ресурсе или перейдет с поиска, то при переходе на такую ссылку, пользователь сразу скачает файл, минуя сам сайт.
Т.е теряется лишний полезный трафик на сайт, особенно если на сайте установлена реклама.

Задача: сделать промежуточную страницу при скачивания файлов для неавторизированных пользователей.
Например с таким текстом: Вы скачиваете {FILE_NAME}, для скачивания, нажмите по ссылке.

Имеются ли готовые похожие модули?
Кто может такое реализовать?
Аватара пользователя
PPK
Администратор
Благодарил (а): 74 раза
Поблагодарили: 1478 раз
Сообщения: 9482
Зарегистрирован: 21 мар 2009, 17:13
Сообщение

Re: Мод заглушки для скачивания файлов

02 окт 2014, 11:31

/language/ru/common.php перед добавить

Код: Выделить всё

	'REFERER_DOWNLOAD' => 'Вы скачиваете <em>%s</em>, для скачивания, нажмите по <a href="%s"><strong>ссылке</strong></a>.',
download/file.php заменить

Код: Выделить всё

function download_allowed()
{
	global $config, $user, $db;
на

Код: Выделить всё

function download_allowed()
{
	global $config, $user, $db, $phpbb_root_path, $phpEx, $download_id, $attachment;

	if($attachment['extension']=='pdf')
	{
		$url = (!empty($_SERVER['HTTP_REFERER'])) ? trim($_SERVER['HTTP_REFERER']) : trim(getenv('HTTP_REFERER'));
		if(!$url || strpos($url, generate_board_url(true))===false)
		{
			trigger_error(sprintf($user->lang['REFERER_DOWNLOAD'], htmlspecialchars($attachment['real_filename']), append_sid("{$phpbb_root_path}download/file.{$phpEx}?id={$download_id}")));
		}
		$url='';
	}
заменить

Код: Выделить всё

$sql = 'SELECT attach_id, in_message, post_msg_id, extension, is_orphan, poster_id, filetime
на

Код: Выделить всё

$sql = 'SELECT attach_id, in_message, post_msg_id, extension, is_orphan, poster_id, filetime, real_filename
Аватара пользователя
Aber
Благодарил (а): 14 раз
Поблагодарили: 10 раз
Сообщения: 105
Зарегистрирован: 23 окт 2010, 22:10
Сообщение

Re: Мод заглушки для скачивания файлов

03 окт 2014, 10:05

Супер! То что нужно. Премного благодарен!

Вернуться в «Запросы модов для трекера»