• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/lib/sync/managers/datasyncmanager.php
  • Класс: BitrixCalendarSyncManagersDataSyncManager
  • Вызов: DataSyncManager::parseInvitedAttendees
private function parseInvitedAttendees(array $event, array &$data): void
{
	if (!empty($event['ATTENDEE']))
	{
		/** @var CDavICalendarProperty $attendee */
		foreach ($event['ATTENDEE'] as $attendee)
		{
			$attendeeData = [];

			if ($attendee->Parameter('CN'))
			{
				$attendeeData['CN'] = $attendee->Parameter('CN');
			}
			if ($attendee->Parameter('CUTYPE'))
			{
				$attendeeData['CUTYPE'] = $attendee->Parameter('CUTYPE');
			}
			if ($attendee->Parameter('PARTSTAT'))
			{
				$attendeeData['PARTSTAT'] = $attendee->Parameter('PARTSTAT');
			}
			if ($attendee->Parameter('ROLE'))
			{
				$attendeeData['ROLE'] = $attendee->Parameter('ROLE');
			}
			if ($attendee->Parameter('EMAIL'))
			{
				$attendeeData['EMAIL'] = $attendee->Parameter('EMAIL');
			}
			if ($attendee->Parameter('SCHEDULE-STATUS'))
			{
				$attendeeData['SCHEDULE-STATUS'] = $attendee->Parameter('SCHEDULE-STATUS');
			}
			if ($attendee->Value())
			{
				$attendeeData['VALUE'] = $attendee->Value();
			}

			$data['ATTENDEE'][] = $attendeeData;
		}
	}
	/** @var CDavICalendarProperty $organizer */
	if ($organizer = $event['ORGANIZER_ENTITY'][0])
	{
		if ($organizer->Parameter('EMAIL'))
		{
			$data['ORGANIZER']['EMAIL'] = $organizer->Parameter('EMAIL');
		}
		if ($organizer->Parameter('CN'))
		{
			$data['ORGANIZER']['CN'] = $organizer->Parameter('CN');
		}
		if ($organizer->Value())
		{
			$data['ORGANIZER']['VALUE'] = $organizer->Value();
		}
	}
}