• Модуль: 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();
	?>

	
wrapDisplayResult($html); }