• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/lib/userfield/resourcebooking.php
  • Класс: BitrixCalendarUserFieldResourceBooking
  • Вызов: ResourceBooking::prepareSettings
static function prepareSettings($userField = [])
{
	$userField = [
		'SETTINGS' => [
			'SELECTED_RESOURCES' => $userField['SETTINGS']['SELECTED_RESOURCES'] ?? null,
			'SELECTED_USERS' => $userField['SETTINGS']['SELECTED_USERS'] ?? null,
			'USE_USERS' => $userField['SETTINGS']['USE_USERS'] ?? null,
			'USE_RESOURCES' => $userField['SETTINGS']['USE_RESOURCES'] ?? null,
			'FULL_DAY' => $userField['SETTINGS']['FULL_DAY'] ?? null,
			'ALLOW_OVERBOOKING' => $userField['SETTINGS']['ALLOW_OVERBOOKING'] ?? null,
			'USE_SERVICES' => $userField['SETTINGS']['USE_SERVICES'] ?? null,
			'SERVICE_LIST' => $userField['SETTINGS']['SERVICE_LIST'] ?? null,
			'TIMEZONE' => $userField['SETTINGS']['TIMEZONE'] ?? null,
			'USE_USER_TIMEZONE' => $userField['SETTINGS']['USE_USER_TIMEZONE'] ?? null,
		],
	];

	$selectedResources = [];

	if (is_array($userField["SETTINGS"]["SELECTED_RESOURCES"]))
	{
		$selectedResources = self::handleResourceList($userField["SETTINGS"]["SELECTED_RESOURCES"]);
	}
	$selectedUsers = [];
	if (is_array($userField["SETTINGS"]["SELECTED_USERS"]))
	{
		foreach($userField["SETTINGS"]["SELECTED_USERS"] as $user)
		{
			if (intval($user) > 0)
			{
				$selectedUsers[] = intval($user);
			}
		}
	}

	return array(
		"USE_USERS" => $userField["SETTINGS"]["USE_USERS"] === 'N' ? 'N' : 'Y',
		"USE_RESOURCES" => $userField["SETTINGS"]["USE_RESOURCES"] === 'N' ? 'N' : 'Y',
		"RESOURCES" => self::getDefaultResourcesList(),
		"SELECTED_RESOURCES" => $selectedResources,
		"SELECTED_USERS" => $selectedUsers,
		"FULL_DAY" => $userField["SETTINGS"]["FULL_DAY"] === 'Y' ? 'Y' : 'N',
		"ALLOW_OVERBOOKING" => $userField["SETTINGS"]["ALLOW_OVERBOOKING"] === 'N' ? 'N' : 'Y',
		"USE_SERVICES" => $userField["SETTINGS"]["USE_SERVICES"] === 'N' ? 'N' : 'Y',
		"SERVICE_LIST" => is_array($userField["SETTINGS"]["SERVICE_LIST"]) ? $userField["SETTINGS"]["SERVICE_LIST"] : self::getDefaultServiceList(),
		"RESOURCE_LIMIT" => self::getBitrx24Limitation(),
		"TIMEZONE" => $userField["SETTINGS"]["TIMEZONE"],
		"USE_USER_TIMEZONE" => $userField["SETTINGS"]["USE_USER_TIMEZONE"] === 'Y' ? 'Y' : 'N'
	);
}