• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/driver.php
  • Класс: BitrixDiskDriver
  • Вызов: Driver::addGroupStorage
public function addGroupStorage($groupId)
{
	if(!Loader::includeModule('socialnetwork'))
	{
		throw new SystemException('Could not create group storage without module "socialnetwork"');
	}

	$groupId = (int)$groupId;
	$data = array(
		'NAME' => "group {$groupId}",
	);
	$group = CSocNetGroup::getList(array(), array('ID' => $groupId), false, false, array('NAME'));
	if($group)
	{
		$group = $group->fetch();
		$data['NAME'] = mb_substr(Emoji::decode($group['NAME']), 0, 100);
	}

	$data['USE_INTERNAL_RIGHTS'] = 1;
	$data['MODULE_ID'] = self::INTERNAL_MODULE_ID;
	$data['ENTITY_TYPE'] = ProxyTypeGroup::className();
	$data['ENTITY_ID'] = $groupId;

	$rightsManager = $this->getRightsManager();
	$fullAccessTaskId = $rightsManager->getTaskIdByName($rightsManager::TASK_FULL);
	$editAccessTaskId = $rightsManager->getTaskIdByName($rightsManager::TASK_EDIT);

	return self::addStorageIfNotExist($data, array(
		array(
			'ACCESS_CODE' => 'SG' . $groupId . '_A',
			'TASK_ID' => $fullAccessTaskId,
		),
		array(
			'ACCESS_CODE' => 'SG' . $groupId . '_E',
			'TASK_ID' => $editAccessTaskId,
		),
		array(
			'ACCESS_CODE' => 'SG' . $groupId . '_K',
			'TASK_ID' => $editAccessTaskId,
		),
	));
}