Форум → Форум → Раздельный доступ к категории

Ссылка
sergey (sergio) , 24 января
Здравствуйте. Подскажите, как лучше реализовать закрытость категории форума от незарегистрированных пользователей? Чтобы при создании категории была галочка как по аналогии со страницами - "Доступ только для зарегистрированных" - и только зарегистрированные бы смогли видеть и писать в нее.
Пытался сделать следующее: в modules/forum/admin/forum.admin.categoty.php в конструкторе класса добавил еще одно поле
Код
'reg'=>'checkbox'

в БД, в таблице forum_category добавил поле reg - enum('0', '1')
далее, правильно ли я рассуждаю? Нужно написать функцию, которая бы в ответ на чекбокс меняла значение поля reg на "1", и при выводе категорий поставить условие наподобие этого
Код

if ( пользователь авторизован) && (чекбокс категории "N" reg=1)
{
вывод темы "N"
}

Может есть более простое решение? Думал над другими вариантами, попробовал сделать полный дубликат модуля форум и прикрепить его к другой странице, доступ к которой ограничил. Почти получилось, но все же не хотелось бы так нагромождать)
Виталий (<u>diafan.CMS</u>)
Ссылка
Виталий (diafan.CMS) МодераторМодераторМодераторМодераторМодератор, 30 января
А у Вас одна-две категории, которые надо закрыть? Или Вы хотите ставить галку напротив категорий в админке каждый раз?
Если первый вариант, то это просто: в условии тогда
if ( пользователь авторизован) && (cat_id=14)
прямо в скрипте и все.
Если чекбокс, в категории, то рассуждаете правильно.
1. в БД поле
2. в админке в конструктор добавляем поле для управления этой галкой
3. на сайте в model где идет отбор категорий из таблицы отбор этого поля
4. на сайте в view условие "если зареганный и есть галка"
Ссылка
sergey (sergio) , 01 февраля
спасибо за ответ, решил сделать первый вариант.
В файле forum.view.php в функции first_page, где выводятся категории тем первого уровня, перед выводом поставил условие if ( $this->diafan->_user->id) {вывод}
- для незарегистрированных ничего не выводится, как и должно быть. Вопрос такой - не могу понять какая переменная отвечает за id категории форума, чтобы поставить дополнительное условие (как у Вы написали: && (cat_id=14) )? на cat_id ругается)
Виталий (<u>diafan.CMS</u>)
Ссылка
Виталий (diafan.CMS) МодераторМодераторМодераторМодераторМодератор, 01 февраля
Если в функции list_category, то там переменная $row["id"]
cat_id это я так привел, условную переменную, конечно


Форум → Форум → Раздельный доступ к категории