- Модуль: webdav
- Путь к файлу: ~/bitrix/modules/webdav/classes/iblocksocnet.php
- Класс: CIBlockWebdavSocnet
- Вызов: CIBlockWebdavSocnet::OnSocNetUserToGroupAdd
static function OnSocNetUserToGroupAdd($ID, $arFields)
{
if (intval($ID) <= 0)
{
return false;
}
if (!CModule::IncludeModule('socialnetwork'))
{
return false;
}
if (!CModule::IncludeModule('webdav'))
{
return false;
}
if(
isset($arFields['ROLE']) && isset($arFields['USER_ID']) &&
(
$arFields['ROLE'] == SONET_ROLES_USER ||
$arFields['ROLE'] == SONET_ROLES_MODERATOR ||
$arFields['ROLE'] == SONET_ROLES_OWNER
)
)
{
if(!(isset($arFields['GROUP_ID'])))
{
$query = CSocNetUserToGroup::GetList(array(), array('ID' => $ID), false, false, array('GROUP_ID'));
if($query)
{
$row = $query->fetch();
if($row)
{
$groupId = $row['GROUP_ID'];
}
}
}
else
{
$groupId = $arFields['GROUP_ID'];
}
if(!empty($groupId) && CSocNetFeatures::IsActiveFeature(SONET_ENTITY_GROUP, $groupId, 'files'))
{
$dispatcher = new BitrixWebdavInviteDispatcher;
$attachObjectType = CWebDavSymlinkHelper::ENTITY_TYPE_GROUP;
$attachObjectId = (int)$groupId;
$inviteComponentParams = array(
'attachObject' => array(
'id' => $attachObjectId,
'type' => $attachObjectType,
),
'attachToUserId' => $arFields['USER_ID'],
'inviteFromUserId' => $arFields['USER_ID'],
'canEdit' => true,
);
$response =
CWebDavTools::allowAutoconnectShareGroupFolder()?
$dispatcher->processActionConnect($inviteComponentParams) :
$dispatcher->processActionInvite($inviteComponentParams);
if($response['status'] == $dispatcher::STATUS_SUCCESS)
{
}
}
}
CIBlockWebdavSocnet::ClearTagCache('wd_socnet');
}