• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/classes/general/search.php
  • Класс: CSocNetSearch
  • Вызов: CSocNetSearch::GetSearchGroups
static function GetSearchGroups($entity_type, $entity_id, $feature, $operation)
{
	$arResult = array();

	if($entity_type === "G")
	{
		$prefix = "SG".$entity_id."_";
		$letter = CSocNetFeaturesPerms::GetOperationPerm(SONET_ENTITY_GROUP, $entity_id, $feature, $operation);
		switch($letter)
		{
			case "N"://All
				$arResult[] = 'G2';
				break;
			case "L"://Authorized
				$arResult[] = 'AU';
				break;
			case "K"://Group members includes moderators and admins
				$arResult[] = $prefix.'K';
				$arResult[] = $prefix.'E';
				$arResult[] = $prefix.'A';
				break;
			case "E"://Moderators includes admins
				$arResult[] = $prefix.'E';
				$arResult[] = $prefix.'A';
				break;
			case "A"://Admins
				$arResult[] = $prefix.'A';
				break;
		}
	}
	else
	{
		$prefix = "SU".$entity_id."_";
		$letter = CSocNetFeaturesPerms::GetOperationPerm(SONET_ENTITY_USER, $entity_id, $feature, $operation);
		switch($letter)
		{
			case "A"://All
				$arResult[] = 'G2';
				break;
			case "C"://Authorized
				$arResult[] = 'AU';
				break;
			case "E"://Friends of friends (has no rights yet) so it counts as
			case "M"://Friends
				$arResult[] = $prefix.'M';
			$arResult[] = $prefix.'Z';
				break;
			case "Z"://Personal
				$arResult[] = $prefix.'Z';
				break;
		}
	}

	return $arResult;
}