• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/lib/userfield/resourcebooking.php
  • Класс: BitrixCalendarUserFieldResourceBooking
  • Вызов: ResourceBooking::prepareFormDateValues
static function prepareFormDateValues($dateFrom = null, $fieldName = '', $options = [])
{
	$result = [];
	if (!isset($dateFrom) || !($dateFrom instanceof DateTime))
	{
		throw new BitrixMainSystemException('Wrong dateFrom value type. DateTime expected');
	}
	if (empty($fieldName))
	{
		throw new BitrixMainSystemException('Wrong fieldName given');
	}

	$duration = 60;
	if (!empty($options['settingsData']['duration']['value']))
	{
		$duration = $options['settingsData']['duration']['value'];
	}
	else if (!empty($options['settingsData']['duration']['defaultValue']))
	{
		$duration = $options['settingsData']['duration']['defaultValue'];
	}

	$r = CUserTypeEntity::getList(["ID" => "ASC"], ["FIELD_NAME" => $fieldName]);
	if ($r)
	{
		$fieldProperties = $r->fetch();
		$fieldSettings = $fieldProperties['SETTINGS'];

		if ($fieldSettings['USE_USERS'] === 'Y'
			&& isset($options['settingsData']['users']['value']))
		{
			$result[] = self::prepareValue('user', $options['settingsData']['users']['value'], $dateFrom->toString(), $duration);
		}

		if ($fieldSettings['USE_RESOURCES'] === 'Y'
			&& isset($options['settingsData']['resources']['value']))
		{
			$result[] = self::prepareValue('resource', $options['settingsData']['resources']['value'], $dateFrom->toString(), $duration);
		}
	}

	return $result;
}