• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/grid/scrum/row/content/members.php
  • Класс: Bitrix\Tasks\Grid\Scrum\Row\Content\Members
  • Вызов: Members::prepare
public function prepare(): string
{
	$row = $this->getRowData();
	$visibleMembersCount = 3;

	$headsLayout = '';
	$heads = $this->fillUsersLayout(($row['MEMBERS']['HEADS'] ?? []));
	if (count($heads) > 0)
	{
		$innerLayouts = [];
		foreach ($heads as $head)
		{
			if ($head['IS_OWNER'] === 'Y')
			{
				array_unshift($innerLayouts, $head['LAYOUT']);
				continue;
			}
			$innerLayouts[] = $head['LAYOUT'];
		}
		if (count($innerLayouts) > $visibleMembersCount)
		{
			$innerLayouts = array_slice($innerLayouts, 0, $visibleMembersCount);
		}
		$innerLayouts =	implode("\n", $innerLayouts);

		$headsLayout =
			"
" . "
" . $innerLayouts . $this->makeOtherCounterLayout(((int)$row['NUMBER_OF_MODERATORS'] - $visibleMembersCount)) . "
" . "
" ; } $usersLayout = ''; $users = $this->fillUsersLayout(($row['MEMBERS']['MEMBERS'] ?? [])); $users = array_filter( $users, static function ($user) { return $user['IS_ACCESS_REQUESTING'] !== 'Y'; } ); if (count($users) > 0) { $innerLayouts = []; foreach ($users as $user) { $innerLayouts[] = $user['LAYOUT']; if (count($innerLayouts) >= $visibleMembersCount) { break; } } $innerLayouts = implode("\n", $innerLayouts); $usersLayout = "
" . "
" . $innerLayouts . $this->makeOtherCounterLayout( ((int)$row['NUMBER_OF_MEMBERS'] - (int)$row['NUMBER_OF_MODERATORS'] - $visibleMembersCount) ) . "
" . "
" ; } return "
" . $headsLayout . $usersLayout . "
" ; }