• Модуль: 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');
}