Provider::fillAvatars

  1. Bitrix24 API (v. 23.675.0)
  2. tasks
  3. Provider
  4. fillAvatars
  • Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/internals/project/provider.php
  • Класс: BitrixTasksInternalsProjectProvider
  • Вызов: Provider::fillAvatars
public function fillAvatars(array $projects): array
{
	foreach (array_keys($projects) as $id)
	{
		$projects[$id]['IMAGE'] = '';
	}

	$imageIds = array_filter(
		array_column($projects, 'IMAGE_ID', 'ID'),
		static function ($id) {
			return (int)$id > 0;
		}
	);

	$avatars = UI::getAvatars($imageIds);
	$imageIds = array_flip($imageIds);

	foreach ($imageIds as $imageId => $projectId)
	{
		$projects[$projectId]['IMAGE'] = $avatars[$imageId];
	}

	$avatarTypes = Workgroup::getAvatarTypes();
	foreach ($projects as $id => $project)
	{
		if (
			$project['IMAGE_ID'] === null
			&& array_key_exists($project['AVATAR_TYPE'], $avatarTypes)
		)
		{
			$projects[$id]['IMAGE'] = $avatarTypes[$project['AVATAR_TYPE']]['mobileUrl'];
		}
	}

	return $projects;
}

Добавить комментарий