- Модуль: imopenlines
- Путь к файлу: ~/bitrix/modules/imopenlines/lib/queuemanager.php
- Класс: BitrixImOpenLinesQueueManager
- Вызов: QueueManager::getDataUpdateUser
static function getDataUpdateUser($userId, $currentUser, $usersFields, $numUser, $departmentId = 0): array
{
$result = [];
$dataUpdate = [
'SORT' => $numUser,
'USER_ID' => $userId,
'DEPARTMENT_ID' => $departmentId
];
if($usersFields !== false)
{
if (!empty($usersFields[$userId]['USER_NAME']))
{
$dataUpdate['USER_NAME'] = $usersFields[$userId]['USER_NAME'];
}
else
{
$dataUpdate['USER_NAME'] = null;
}
if (!empty($usersFields[$userId]['USER_WORK_POSITION']))
{
$dataUpdate['USER_WORK_POSITION'] = $usersFields[$userId]['USER_WORK_POSITION'];
}
else
{
$dataUpdate['USER_WORK_POSITION'] = null;
}
if (!empty($usersFields[$userId]['USER_AVATAR']))
{
$dataUpdate['USER_AVATAR'] = $usersFields[$userId]['USER_AVATAR'];
}
else
{
$dataUpdate['USER_AVATAR'] = null;
}
if (!empty($usersFields[$userId]['USER_AVATAR_ID']))
{
$dataUpdate['USER_AVATAR_ID'] = $usersFields[$userId]['USER_AVATAR_ID'];
}
else
{
$dataUpdate['USER_AVATAR_ID'] = 0;
}
if(
!empty($currentUser['USER_AVATAR_ID']) &&
(
empty($dataUpdate['USER_AVATAR_ID']) ||
$dataUpdate['USER_AVATAR_ID'] != $currentUser['USER_AVATAR_ID']
)
)
{
CFile::Delete($currentUser['USER_AVATAR_ID']);
}
}
if($usersFields === false)
{
$currentUser = [
'SORT' => $currentUser['SORT'],
'USER_ID' => $currentUser['USER_ID'],
'DEPARTMENT_ID' => $currentUser['DEPARTMENT_ID'],
];
}
else
{
$currentUser = [
'SORT' => $currentUser['SORT'],
'USER_ID' => $currentUser['USER_ID'],
'DEPARTMENT_ID' => $currentUser['DEPARTMENT_ID'],
'USER_NAME' => $currentUser['USER_NAME'],
'USER_WORK_POSITION' => $currentUser['USER_WORK_POSITION'],
'USER_AVATAR' => $currentUser['USER_AVATAR'],
'USER_AVATAR_ID' => $currentUser['USER_AVATAR_ID'],
];
}
if(!empty(array_diff_assoc($dataUpdate, $currentUser)))
{
$result = $dataUpdate;
}
return $result;
}