- Модуль: calendar
- Путь к файлу: ~/bitrix/modules/calendar/lib/userfield/resourcebooking.php
- Класс: BitrixCalendarUserFieldResourceBooking
- Вызов: ResourceBooking::getPublicEdit
static function getPublicEdit($userField, $additionalParams = [])
{
BitrixMainUIExtension::load(['uf', 'calendar.resourcebookinguserfield', 'calendar_planner', 'socnetlogdest']);
$fieldName = static::getFieldName($userField, $additionalParams);
$userField['VALUE'] = static::getFieldValue($userField, $additionalParams);
$value = static::fetchFieldValue($userField["VALUE"]);
if (
$userField['SETTINGS']['USE_RESOURCES'] === 'Y'
&& (!is_array($userField['SETTINGS']['SELECTED_RESOURCES']) || empty($userField['SETTINGS']['SELECTED_RESOURCES']))
)
{
$userField['SETTINGS']['USE_RESOURCES'] = 'N';
}
$controlId = $userField['FIELD_NAME'].'_'.rand();
$params = [
'controlId' => $controlId,
'inputName' => $fieldName,
'value' => $value,
'plannerId' => $controlId.'_planner',
'userSelectorId' => 'resource_booking_user_selector',
'useUsers' => $userField['SETTINGS']['USE_USERS'] === 'Y',
'useResources' => $userField['SETTINGS']['USE_RESOURCES'] === 'Y',
'fullDay' => $userField['SETTINGS']['FULL_DAY'] === 'Y',
'allowOverbooking' => $userField['SETTINGS']['ALLOW_OVERBOOKING'] !== 'N',
'useServices' => $userField['SETTINGS']['USE_SERVICES'] === 'Y',
'serviceList' => $userField['SETTINGS']['SERVICE_LIST'],
'resourceList' => $userField['SETTINGS']['SELECTED_RESOURCES'],
'userList' => $userField['SETTINGS']['SELECTED_USERS'],
'userfieldId' => $userField['ID'],
'resourceLimit' => self::getBitrx24Limitation(),
'workTime' => [COption::getOptionString('calendar', 'work_time_start', 9), COption::getOptionString('calendar', 'work_time_end', 19)]
];
if ($params['useUsers'])
{
$params['socnetDestination'] = CCalendar::getSocNetDestination(false, [], $userField['SETTINGS']['SELECTED_USERS']);
}
ob_start();
?>
$html = ob_get_clean();
return static::getHelper()->wrapDisplayResult($html);
}