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