• Модуль: webdav
  • Путь к файлу: ~/bitrix/modules/webdav/classes/iblocksocnet.php
  • Класс: CIBlockWebdavSocnet
  • Вызов: CIBlockWebdavSocnet::OnSocNetUserToGroupUpdate
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 BitrixWebdavInviteDispatcher;
			$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');
}