- Модуль: disk
- Путь к файлу: ~/bitrix/modules/disk/lib/socialnetworkhandlers.php
- Класс: BitrixDiskSocialnetworkHandlers
- Вызов: SocialnetworkHandlers::onSocNetUserToGroupAdd
static function onSocNetUserToGroupAdd($id, $fields)
{
if(
isset($fields['ROLE']) && isset($fields['USER_ID']) &&
(
$fields['ROLE'] == SONET_ROLES_USER ||
$fields['ROLE'] == SONET_ROLES_MODERATOR ||
$fields['ROLE'] == SONET_ROLES_OWNER
)
)
{
if(!(isset($fields['GROUP_ID'])))
{
$query = CSocNetUserToGroup::getList(array(), array('ID' => $id), false, false, array('GROUP_ID', 'INITIATED_BY_USER_ID'));
if($query)
{
$row = $query->fetch();
if($row)
{
$groupId = $row['GROUP_ID'];
}
}
}
else
{
$groupId = $fields['GROUP_ID'];
}
if(!empty($groupId) && CSocNetFeatures::isActiveFeature(SONET_ENTITY_GROUP, $groupId, 'files'))
{
$storage = Driver::getInstance()->getStorageByGroupId($groupId);
if(!$storage)
{
return;
}
$rootObject = $storage->getRootObject();
if(!$rootObject->canRead($storage->getSecurityContext($fields['USER_ID'])))
{
return;
}
$errorCollection = new ErrorCollection();
$createdBy = empty($fields['INITIATED_BY_USER_ID']) ?
$fields['USER_ID'] : $fields['INITIATED_BY_USER_ID'];
Sharing::connectStorageToUserStorage($createdBy, $fields['USER_ID'], $storage, $errorCollection);
}
}
}