Последние новости

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. Пошаговое руководство с скриншотами.

Читать все новости

Смотреть все файлы

Читать все статьи

Актуальные версии

Русифицированные версии phpBB 3.0.7:

phpBB 3.0.7 русская версия
Сборка phpBB 3.0.7
 
RSS / РСС


RSS - международный формат, специально созданный для трансляции данных с одного сайта на другой.
Google SiteMap
Хороший способ приобрести шкаф телекоммуникационный очень дешево.


Форум про форумы. Создание, раскрутка и монетизация форумов.

Бесплатный онлайн-генератор sitemap для форумов

Вложения только для определённых групп

На одном форуме возникла проблема с копирайтами файлов. Загруженные файлы (аттачи) могли скачать некоторые нехорошие люди и использовать их потом, выдавая за свои. В связи с этим возникла потребность в следующем функционале - вложения могут загружать все зарегистрированные пользователи, однако скачивать их могут только участники определённых групп, а также сами авторы вложений. Стандартными средствами phpBB такого не сделать, поэтому я опишу свою реализацию этого функционала.

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

Здесь переменная $attach_view_permission является индикатором возможности скачивания вложений. Изначально мы задаём ей значение 0, а потом меняем на 1 если хотя бы одно из условий будет выполнено. В условии мы проверяем совпадение групп пользователя и групп из белого списка. В данном примере в белом списке только две группы, их id 15674 и 15675 соответственно, однако вы можно добавить, по сути, любое количество групп.

Теперь нужно проверить, является ли пользователь тем самым юзером, который и загрузил данное вложение (а значит, является автором сообщения). Эту проверку реализует следующий код:

Теперь нужно передать переменную-индикатор в шаблон. Это делается одной строчкой:

Также нужно изменить шаблон форума, добавив туда новые условные конструкции. Используя полученный ранее индикатор, можно записать такое условие:

Окончательная инструкция

После того, как весь код разобран, я приведу окончательную инструкцию. Первым делом открываем файл viewtopic.php. Находим там строки:

Добавляем перед этими строками следующий код:

Далее находим строку:

После неё добавим такую строчку:

Теперь нужно отредактировать шаблоны. Для примера рассмотрим стиль subsilver2. В файле styles/subsilver2/template/viewtopic_body.html находим строки:

Весь этот участок кода надо заменить на такой:

Не забудьте проделать это для всех ваших шаблонов. После редактирования шаблонов нужно в админке их все обновить (Администраторский раздел - Стили - Шаблоны - ваш стиль [ обновить ] ).

Опубликовано: 02.07.10 22:11 | Просмотров: 961 | [ + ]   [ - ]   | Печать
Рекомендуем
Добавить комментарий

* Ваше имя:

* Заголовок:

* Сообщение:

*



Проверочное слово: phpBB

Проверочное слово: 

 
Пункты помеченные * обязательны для заполнения!
Рейтинг@Mail.ru
Rambler's Top100
Главная Новости Файлы Статьи Ссылки Контакты Услуги