- Модуль: dav
- Путь к файлу: ~/bitrix/modules/dav/classes/general/groupdavclientcalendar.php
- Класс: CDavGroupdavClientCalendar
- Вызов: CDavGroupdavClientCalendar::DoUpdateItem
static function DoUpdateItem($connectionId, $calendarXmlId, $itemXmlId, $itemModificationLabel, $arFields)
{
if (DAV_CALDAV_DEBUG)
{
CDav::WriteToLog("CalDAV DoUpdateItem called for connection ".$connectionId, "MDFC");
}
$connectionId = (int)$connectionId;
if ($connectionId <= 0)
{
return null;
}
$arConnection = CDavConnection::GetById($connectionId);
if (!is_array($arConnection))
{
return null;
}
$client = new CDavGroupdavClientCalendar($arConnection["SERVER_SCHEME"], $arConnection["SERVER_HOST"], $arConnection["SERVER_PORT"], $arConnection["SERVER_USERNAME"], $arConnection["SERVER_PASSWORD"]);
if (CDav::UseProxy())
{
$arProxy = CDav::GetProxySettings();
$client->SetProxy($arProxy["PROXY_SCHEME"], $arProxy["PROXY_HOST"], $arProxy["PROXY_PORT"], $arProxy["PROXY_USERNAME"], $arProxy["PROXY_PASSWORD"]);
}
if ($arConnection['ACCOUNT_TYPE'] === BitrixCalendarSyncGoogleHelper::GOOGLE_ACCOUNT_TYPE_CALDAV)
{
$client->setGoogleCalendarOAuth($arConnection['ENTITY_ID']);
}
//$client->Debug();
self::InitUserEntity();
$arFields["XML_ID"] = $itemXmlId;
$result = $client->PutCalendarItem($client->GetRequestEventPath($calendarXmlId, $itemXmlId), SITE_ID, $arFields);
if (!is_null($result))
{
return $result;
}
return $client->GetErrors();
}