• Модуль: webdav
  • Путь к файлу: ~/bitrix/modules/webdav/lib/invitedispatcher.php
  • Класс: BitrixWebdavInviteDispatcher
  • Вызов: InviteDispatcher::processActionConnect
public function processActionConnect(array $params)
{
	$this->params = $params;
	$attachSectionData = $this->getSectionDataByAttachObject($params['attachObject']);

	$targetSectionData = $this->getSectionDataByUserId($params['attachToUserId']);
	$targetSectionData['IBLOCK_SECTION_ID'] = $targetSectionData['SECTION_ID'];

	$linkData = array(
		'ID' => $attachSectionData['SECTION_ID'],
		'IBLOCK_ID' => $attachSectionData['IBLOCK_ID'],
		'NAME' => $this->generateNameForSymLinkSection($targetSectionData, $params['attachObject']),
		'CREATED_BY' => $params['inviteFromUserId'],
		'INVITE_USER_ID' => $params['attachToUserId'],
		'CAN_EDIT' => $params['canEdit'],
		'CAN_FORWARD' => 0,
	);

	$symlinkSectionId = CWebDavSymlinkHelper::createSymLinkSection($targetSectionData, $linkData, $params['attachObject']['type']);
	if($symlinkSectionId)
	{
		$symlinkSection = CIBlockSection::getList(array(), array('ID' => $symlinkSectionId), false, array('NAME'))->fetch();
		return $this->sendJsonResponse(array(
			'status' => self::STATUS_SUCCESS,
			'sectionId' => $symlinkSectionId,
			'sectionName' => $symlinkSection['NAME'],
			'statusDisk' => $this->getDesktopDiskStatus(),
		));
	}

	return $this->sendJsonResponse(array(
		'status' => self::STATUS_ERROR,
	));
}