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