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