• Модуль: timeman
  • Путь к файлу: ~/bitrix/modules/timeman/lib/update/timemanversion18user.php
  • Класс: BitrixTimemanUpdateTimemanVersion18User
  • Вызов: TimemanVersion18User::_GetPersonalSettings
protected function _GetPersonalSettings()
{
	global $USER_FIELD_MANAGER;

	$arPersonalSettings = [];

	$dbRes = CUser::GetByID($this->USER_ID);
	if ($arUser = $dbRes->Fetch())
	{
		$arPersonalSettings = [
			'UF_TIMEMAN' => $arUser['UF_TIMEMAN'],
			'UF_TM_MAX_START' => static::MakeShortTS($arUser['UF_TM_MAX_START']),
			'UF_TM_MIN_FINISH' => static::MakeShortTS($arUser['UF_TM_MIN_FINISH']),
			'UF_TM_MIN_DURATION' => static::MakeShortTS($arUser['UF_TM_MIN_DURATION']),
			'UF_TM_REPORT_REQ' => $arUser['UF_TM_REPORT_REQ'],
			'UF_LAST_REPORT_DATE' => $arUser['UF_LAST_REPORT_DATE'],

			'UF_REPORT_PERIOD' => $arUser['UF_REPORT_PERIOD'],
			'UF_TM_REPORT_DATE' => $arUser['UF_TM_REPORT_DATE'],
			'UF_TM_TIME' => $arUser['UF_TM_TIME'],
			'UF_TM_DAY' => $arUser['UF_TM_DAY'],
			'UF_TM_REPORT_TPL' => $arUser['UF_TM_REPORT_TPL'],
			'UF_TM_FREE' => $arUser['UF_TM_FREE'],
			'UF_TM_ALLOWED_DELTA' => $arUser['UF_TM_ALLOWED_DELTA'],
		];

		$this->UF_DEPARTMENT = $arUser['UF_DEPARTMENT'];

		if ($arPersonalSettings['UF_TIMEMAN'] || $arPersonalSettings['UF_TM_REPORT_REQ']
			|| $arPersonalSettings['UF_TM_FREE'] || $arPersonalSettings['UF_REPORT_PERIOD'])
		{
			$arAllFields = $USER_FIELD_MANAGER->GetUserFields('USER');

			if ($arPersonalSettings['UF_TIMEMAN'])
			{
				$dbRes = CUserFieldEnum::GetList([], [
					'USER_FIELD_ID' => $arAllFields['UF_TIMEMAN']['ID'],
					'ID' => $arPersonalSettings['UF_TIMEMAN'],
				]);

				if ($arRes = $dbRes->Fetch())
				{
					$arPersonalSettings['UF_TIMEMAN'] = $arRes['XML_ID'];
				}
			}
			if ($arPersonalSettings['UF_REPORT_PERIOD'])
			{
				$dbRes = CUserFieldEnum::GetList([], [
					'USER_FIELD_ID' => $arAllFields['UF_REPORT_PERIOD']['ID'],
					'ID' => $arPersonalSettings['UF_REPORT_PERIOD'],
				]);

				if ($arRes = $dbRes->Fetch())
				{
					$arPersonalSettings['UF_REPORT_PERIOD'] = $arRes['XML_ID'];
				}

			}
			if ($arPersonalSettings['UF_TM_REPORT_REQ'])
			{
				$dbRes = CUserFieldEnum::GetList([], [
					'USER_FIELD_ID' => $arAllFields['UF_TM_REPORT_REQ']['ID'],
					'ID' => $arPersonalSettings['UF_TM_REPORT_REQ'],
				]);

				if ($arRes = $dbRes->Fetch())
				{
					$arPersonalSettings['UF_TM_REPORT_REQ'] = $arRes['XML_ID'];
				}
			}

			if ($arPersonalSettings['UF_TM_FREE'])
			{
				$dbRes = CUserFieldEnum::GetList([], [
					'USER_FIELD_ID' => $arAllFields['UF_TM_FREE']['ID'],
					'ID' => $arPersonalSettings['UF_TM_FREE'],
				]);

				if ($arRes = $dbRes->Fetch())
				{
					$arPersonalSettings['UF_TM_FREE'] = $arRes['XML_ID'];
				}
			}
		}
	}

	return $arPersonalSettings;
}