- Модуль: dav
- Путь к файлу: ~/bitrix/modules/dav/classes/general/groupdavclientcalendar.php
- Класс: CDavGroupdavClientCalendar
- Вызов: CDavGroupdavClientCalendar::PutCalendarItem
public function PutCalendarItem($path = '/', $siteId = null, $arData = [])
{
if (!array_key_exists("DAV_XML_ID", $arData))
{
$arData["DAV_XML_ID"] = self::GenerateNewCalendarItemName();
}
if (mb_substr($path, -mb_strlen("/".$arData["DAV_XML_ID"].".ics")) != "/".$arData["DAV_XML_ID"].".ics")
{
$path = rtrim($path, "/");
$path .= "/".$arData["DAV_XML_ID"].".ics";
}
$data = $this->GetICalContent($arData, $siteId);
$result = $this->Put($path, $this->Decode($data));
if ($result)
{
$result = $result->GetStatus();
if ($result == 201 || $result == 204)
{
$result = $this->GetCalendarItemsList($path);
if (is_array($result) && count($result) > 0)
{
return [
"XML_ID" => self::getBasenameWithoutExtension($result[0]["href"]),
"MODIFICATION_LABEL" => $result[0]["getetag"],
];
}
}
}
return null;
}