• Модуль: crmmobile
  • Путь к файлу: ~/bitrix/modules/crmmobile/lib/Controller/Category.php
  • Класс: BitrixCrmMobileControllerCategory
  • Вызов: Category::getStagesBySemantics
private function getStagesBySemantics(
	EO_Status_Collection $stageObjects,
	array $filteredTunnelsByCategory = [],
	array $stageColors = []
): array
{
	$stagesBySemantics = [];

	foreach ($stageObjects as $stage)
	{
		$statusId = $stage->getStatusId();
		$semanticId = ($stage->getSemantics() ?? PhaseSemantics::PROCESS);
		$semanticId = $semanticId ?: PhaseSemantics::PROCESS;
		$color = $stageColors[$statusId]['COLOR'] ?? $stage->getColor();

		$stagesBySemantics[$semanticId][] = [
			'id' => $stage->getId(),
			'name' => $stage->getName(),
			'sort' => $stage->getSort(),
			'statusId' => $statusId,
			'semantics' => $semanticId,
			'color' => $color,
			'tunnels' => ($filteredTunnelsByCategory[$statusId] ?? []),
		];
	}

	return $stagesBySemantics;
}