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