|
Последние новости 23.08.10 : phpBB 4 на Symfony 2 21.08.10 : Типографика в phpBB 30.07.10 : Капчи в phpBB3 15.07.10 : Как убрать параметр f из ссылок на темы, инструкция 02.07.10 : Вложения только для определённых групп |
Последние файлы 16.05.10 : Перевод мода ModernDignity Flash Animated Cumulus Tag Cloud 16.05.10 : Перевод мода mChat 11.05.10 : Перевод мода th23 Autolinks 03.05.10 : Перевод мода SimpleMath Captcha Plugin 03.05.10 : Перевод мода Static Pages |
Последние статьи 17.08.10 : BB-коды в phpBB3 09.09.09 : robots.txt для phpBB3 Olympus 03.08.09 : Установка кода sape на phpBB 3 09.05.09 : Обновление форума phpBB 3.0.x Olympus. 27.12.08 : Установка форума phpBB 3.0.x Olympus. Пошаговое руководство с скриншотами. |
|
|
|
|
|
Актуальные версии
RSS / РСС
|
Вложения только для определённых группНа одном форуме возникла проблема с копирайтами файлов. Загруженные файлы (аттачи) могли скачать некоторые нехорошие люди и использовать их потом, выдавая за свои. В связи с этим возникла потребность в следующем функционале - вложения могут загружать все зарегистрированные пользователи, однако скачивать их могут только участники определённых групп, а также сами авторы вложений. Стандартными средствами phpBB такого не сделать, поэтому я опишу свою реализацию этого функционала. Первым делом, нам надо получить список групп, в которых состоит пользователь, а также проверить, есть ли среди них группы из белого списка. Если хотя бы одна такая группа найдена, то пользователь получает возможность скачивать вложения. Это реализует следующий фрагмент кода: Здесь переменная $attach_view_permission является индикатором возможности скачивания вложений. Изначально мы задаём ей значение 0, а потом меняем на 1 если хотя бы одно из условий будет выполнено. В условии мы проверяем совпадение групп пользователя и групп из белого списка. В данном примере в белом списке только две группы, их id 15674 и 15675 соответственно, однако вы можно добавить, по сути, любое количество групп. Теперь нужно проверить, является ли пользователь тем самым юзером, который и загрузил данное вложение (а значит, является автором сообщения). Эту проверку реализует следующий код: Теперь нужно передать переменную-индикатор в шаблон. Это делается одной строчкой: Также нужно изменить шаблон форума, добавив туда новые условные конструкции. Используя полученный ранее индикатор, можно записать такое условие: Окончательная инструкцияПосле того, как весь код разобран, я приведу окончательную инструкцию. Первым делом открываем файл viewtopic.php. Находим там строки: Добавляем перед этими строками следующий код: Далее находим строку: После неё добавим такую строчку: Теперь нужно отредактировать шаблоны. Для примера рассмотрим стиль subsilver2. В файле styles/subsilver2/template/viewtopic_body.html находим строки: Весь этот участок кода надо заменить на такой: Не забудьте проделать это для всех ваших шаблонов. После редактирования шаблонов нужно в админке их все обновить (Администраторский раздел - Стили - Шаблоны - ваш стиль [ обновить ] ).
Рекомендуем
23.08.10 phpBB 4 на Symfony 2
21.08.10 Типографика в phpBB
30.07.10 Капчи в phpBB3
22.06.10 База модов для phpBB
Добавить комментарий
|