1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
BaseUserProvider.php
См. документацию.
1<?php
2
4
8
10{
16 public function getByUserIds(array $ids): UserDtoByIdMap
17 {
18 $result = UserTable::query()
19 ->whereIn('ID', array_values($ids))
20 ->setSelect([
21 'ID',
22 'NAME',
23 'LAST_NAME',
24 'SECOND_NAME',
25 'LOGIN',
26 'PERSONAL_PHOTO',
27 'WORK_POSITION',
28 ])
29 ->exec();
30
31
32 $byIdMap = new UserDtoByIdMap();
33 while($row = $result->fetch())
34 {
35 $userId = (int)$row['ID'];
36 $byIdMap->add($userId, $this->formatUserData($row));
37 }
38
39 return $byIdMap;
40 }
41
55 private function formatUserData(array $dbUserFields): BaseUserDto
56 {
57 return new BaseUserDto(
58 id: (int)$dbUserFields['ID'],
59 name: $this->formatUserName($dbUserFields),
60 image: $this->getUserPhotoUrl($dbUserFields['PERSONAL_PHOTO']),
61 workPosition: $dbUserFields['WORK_POSITION'],
62 );
63 }
64
65 private function formatUserName(array $userFields): string
66 {
67 return \CUser::FormatName(
68 \CSite::GetNameFormat(false),
69 $userFields,
70 true, false
71 );
72 }
73
74 private function getUserPhotoUrl(?string $value): ?string
75 {
76 if (empty($value))
77 {
78 return null;
79 }
80
81 $fileTmp = \CFile::resizeImageGet(
82 $value,
83 ['width' => 64, 'height' => 64],
85 false
86 );
87 if ($fileTmp !== null && isset($fileTmp['src']))
88 {
89 return $fileTmp['src'];
90 }
91
92 return null;
93 }
94}
if(!is_object($USER)||! $USER->IsAuthorized()) $userId
Определения check_mail.php:18
Определения user.php:48
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
$result
Определения get_property_values.php:14
const BX_RESIZE_IMAGE_EXACT
Определения constants.php:12