CODE:
user::checkForumAccess($forum_id, $access_name, $group_id=-1); // Проверяет доступ к функции отдельного форума, например может ли пользователь создавать темы в определённом форуме
user::checkGroupAccess($access_name, $group_id=-1); // Проверяет общие права доступа, например может ли пользователь отправлять ЛС
user::checkForumAccess($forum_id, $access_name, $group_id=-1); // Проверяет доступ к функции отдельного форума, например может ли пользователь создавать темы в определённом форуме
user::checkGroupAccess($access_name, $group_id=-1); // Проверяет общие права доступа, например может ли пользователь отправлять ЛС
Структура MySQL таблицы с настройками доступа такова:
CODE:
CREATE TABLE IF NOT EXISTS `exbb_access` (
`id` int(255) NOT NULL AUTO_INCREMENT,
`group_id` int(25) NOT NULL,
`forum_id` int(25) NOT NULL,
`access_name` varchar(255) NOT NULL,
`access_value` int(1) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `exbb_access` (
`id` int(255) NOT NULL AUTO_INCREMENT,
`group_id` int(25) NOT NULL,
`forum_id` int(25) NOT NULL,
`access_name` varchar(255) NOT NULL,
`access_value` int(1) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Если у поля forum_id стоит значение 0 - то настройка является общей для группы(например "Может ли пользователь отправлять ЛС"