• Модуль: dav
  • Путь к файлу: ~/bitrix/modules/dav/classes/general/icalendar.php
  • Класс: CDavICalendarComponent
  • Вызов: CDavICalendarComponent::InitializeFromArray
public function InitializeFromArray($arContent)
{
	$this->SetType(isset($arContent["TYPE"]) ? $arContent["TYPE"] : "VEVENT");
	unset($arContent["TYPE"]);

	$arProperties = array();
	$arComponents = array();
	foreach ($arContent as $key => $val)
	{
		if (
			is_array($val)
			&& $key === '@VALARM'
			&& !array_key_exists('TYPE', $val)
			&& !array_key_exists('TRIGGER', $val)
		)
		{
			foreach ($val as $val1)
			{
				$arComponents[] = new CDavICalendarComponent($val1);
			}
		}
		elseif (is_array($val) && mb_substr($key, 0, 1) == "@")
		{
			$arComponents[] = new CDavICalendarComponent($val);
		}
		elseif (is_array($val) && !array_key_exists("PARAMETERS", $val) && !array_key_exists("VALUE", $val))
		{
			foreach ($val as $val1)
			{
				$arProperties[] = new CDavICalendarProperty($key, $val1);
			}
		}
		else
		{
			$arProperties[] = new CDavICalendarProperty($key, $val);
		}
	}

	$this->SetProperties($arProperties);
	$this->SetComponents($arComponents);
}