- Модуль: disk
- Путь к файлу: ~/bitrix/modules/disk/lib/socialnetworkhandlers.php
- Класс: BitrixDiskSocialnetworkHandlers
- Вызов: SocialnetworkHandlers::onSocNetUserToGroupUpdate
static function onSocNetUserToGroupUpdate($id, $fields, $fieldsOld = [])
{
if (!Loader::includeModule('socialnetwork'))
{
return;
}
$memberRolesList = BitrixSocialnetworkUserToGroupTable::getRolesMember();
if(
isset($fields['ROLE']) &&
in_array($fields['ROLE'], $memberRolesList) &&
(
empty($fieldsOld)
|| !in_array($fieldsOld['ROLE'], $memberRolesList)
)
)
{
if(!(isset($fields['USER_ID'])))
{
$query = CSocNetUserToGroup::getList(array(), array('ID' => $id), false, false, array('USER_ID', 'GROUP_ID'));
if($query)
{
$row = $query->fetch();
if($row)
{
$userId = $row['USER_ID'];
$groupId = $row['GROUP_ID'];
}
}
}
if(!empty($userId) && !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($userId)))
{
return;
}
$errorCollection = new ErrorCollection();
Sharing::connectStorageToUserStorage($userId, $userId, $storage, $errorCollection);
}
}
}