- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/lib/grid/task/row/content/username.php
- Класс: BitrixTasksGridTaskRowContentUserName
- Вызов: UserName::prepareUserName
protected function prepareUserName(): string
{
$row = $this->getRowData();
$parameters = $this->getParameters();
static $cache = [];
$userId = (int)$row[static::USER_ROLE];
if (isset($row['MEMBERS'][static::USER_ROLE]))
{
$user = $row['MEMBERS'][static::USER_ROLE];
}
elseif (isset($cache[$userId]))
{
$user = $cache[$userId];
}
else
{
$select = [
'ID',
'PERSONAL_PHOTO',
'LOGIN',
'NAME',
'LAST_NAME',
'SECOND_NAME',
'TITLE',
];
$users = User::getData([$userId], $select);
$user = $users[$userId];
$cache[$userId] = $user;
}
$user['AVATAR'] = UI::getAvatar($user['PERSONAL_PHOTO'], 100, 100);
$user['IS_EXTERNAL'] = $user['IS_EXTRANET_USER'];
$user['IS_CRM'] = $user['IS_CRM_EMAIL_USER'];
$userIcon = '';
if ($user['IS_EXTRANET_USER'])
{
$userIcon = ' tasks-grid-avatar-extranet';
}
if ($user["IS_EMAIL_USER"])
{
$userIcon = ' tasks-grid-avatar-mail';
}
if ($user["IS_CRM_EMAIL_USER"])
{
$userIcon = ' tasks-grid-avatar-crm';
}
$userAvatar = '';
$userEmptyAvatar = ' tasks-grid-avatar-empty';
if ($avatar = $user['AVATAR'])
{
$userAvatar = ' style="background-image: url('' . Uri::urnEncode($avatar) . '')"';
$userEmptyAvatar = '';
}
$userName = htmlspecialcharsbx(User::formatName($user));
$userNameElement = ""
."{$userName}"
."";
$encodedData = Json::encode([
static::USER_ROLE => [$user['ID']],
static::USER_ROLE.'_label' => [$userName],
]);
$selected = 0;
$selector = 'tasks-grid-username';
if (
isset($parameters['FILTER_FIELDS'][static::USER_ROLE])
&& is_array($parameters['FILTER_FIELDS'][static::USER_ROLE])
&& count($parameters['FILTER_FIELDS'][static::USER_ROLE]) === 1
&& (int)$parameters['FILTER_FIELDS'][static::USER_ROLE][0] === $userId
)
{
$selected = 1;
$selector .= ' tasks-grid-filter-active';
}
return "";
}