- Модуль: 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,
),
));
}