• Модуль: wiki
  • Путь к файлу: ~/bitrix/modules/wiki/classes/general/wiki_utils.php
  • Класс: CWikiUtils
  • Вызов: CWikiUtils::CheckAccess
static function CheckAccess($access = 'view')
{
	global $APPLICATION, $USER, $arParams;

	if ($USER->IsAdmin())
		return true;

	if (CWikiSocnet::IsSocNet())
	{
		$arSonetGroup = CSocNetGroup::GetByID(CWikiSocnet::$iSocNetId);
		if ($arSonetGroup && CSocNetUser::IsCurrentUserModuleAdmin($arSonetGroup['SITE_ID']))
			return true;

		if (!CSocNetFeaturesPerms::CanPerformOperation($USER->GetID(), SONET_ENTITY_GROUP, CWikiSocnet::$iSocNetId, 'wiki', $access))
			return false;

		return true;
	}
	else
	{
		$letter = 'R';
		$letterI = 'R';
		switch ($access)
		{
			case 'write': $letter = 'W'; $letterI = 'W'; break;
			case 'delete': $letter = 'Y'; $letterI = 'W'; break;
			case 'perm': $letter = 'Z'; $letterI = 'X'; break;
		}

		$wikiModulePermission = $APPLICATION->GetGroupRight('wiki');
		$iblockPermission = CIBlock::GetPermission($arParams['IBLOCK_ID']);
		return $wikiModulePermission >= $letter && $iblockPermission >= $letterI;
	}
}