public static function OnSocNetUserToGroupUpdate($ID, $arFields) { if (intval($ID) <= 0) { return false; } if (!CModule::IncludeModule('socialnetwork')) { return false; } if (!CModule::IncludeModule('webdav')) { return false; } if (isset($arFields['ROLE']) && ($arFields['ROLE'] == SONET_ROLES_USER || $arFields['ROLE'] == SONET_ROLES_MODERATOR || $arFields['ROLE'] == SONET_ROLES_OWNER)) { if (!isset($arFields['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')) { $dispatcher = new \Bitrix\Webdav\InviteDispatcher(); $attachObjectType = CWebDavSymlinkHelper::ENTITY_TYPE_GROUP; $attachObjectId = (int) $groupId; $inviteComponentParams = array('attachObject' => array('id' => $attachObjectId, 'type' => $attachObjectType), 'attachToUserId' => $userId, 'inviteFromUserId' => $userId, 'canEdit' => true); $response = CWebDavTools::allowAutoconnectShareGroupFolder() ? $dispatcher->processActionConnect($inviteComponentParams) : $dispatcher->processActionInvite($inviteComponentParams); if ($response['status'] == $dispatcher::STATUS_SUCCESS) { } } } CIBlockWebdavSocnet::ClearTagCache('wd_socnet'); }