- Модуль: socialnetwork
- Путь к файлу: ~/bitrix/modules/socialnetwork/lib/helper/forum/componenthelper.php
- Класс: BitrixSocialnetworkHelperForumComponentHelper
- Вызов: ComponentHelper::getForumPermission
static function getForumPermission(array $params = []): ?string
{
global $USER;
$currentUserId = $USER->getId();
$isCurrentUserAdmin = CSocNetUser::isCurrentUserModuleAdmin();
$entityType = ($params['ENTITY_TYPE'] ?? SONET_ENTITY_USER);
$entityId = (int)($params['ENTITY_ID'] ?? 0);
$result = null;
if (
!Loader::includeModule('forum')
|| !in_array($entityType, [ SONET_ENTITY_GROUP, SONET_ENTITY_USER ], true)
)
{
return $result;
}
$result = Permission::ACCESS_DENIED;
if (CSocNetFeaturesPerms::canPerformOperation($currentUserId, $entityType, $entityId, 'forum', 'full', $isCurrentUserAdmin))
{
$result = Permission::FULL_ACCESS;
}
elseif (CSocNetFeaturesPerms::CanPerformOperation($currentUserId, $entityType, $entityId, 'forum', 'newtopic', $isCurrentUserAdmin))
{
$result = Permission::CAN_ADD_TOPIC;
}
elseif (CSocNetFeaturesPerms::CanPerformOperation($currentUserId, $entityType, $entityId, 'forum', 'answer', $isCurrentUserAdmin))
{
$result = Permission::CAN_ADD_MESSAGE;
}
elseif (CSocNetFeaturesPerms::CanPerformOperation($currentUserId, $entityType, $entityId, 'forum', 'view', $isCurrentUserAdmin))
{
$result = Permission::CAN_READ;
}
return $result;
}