<?
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
/** @var CBitrixComponent $this */
/** @var array $arParams */
/** @var array $arResult */
/** @var string $componentPath */
/** @var string $componentName */
/** @var string $componentTemplate */
/** @global CDatabase $DB */
/** @global CUser $USER */
/** @global CMain $APPLICATION */

use Bitrix\Main\Context,
	Bitrix\Main\Type\DateTime,
	Bitrix\Main\Loader,
	Bitrix\Iblock;

if($this->StartResultCache(60*60*24, md5(var_export($_POST, true))))
{
	if(CModule::IncludeModule('iblock'))
	{
		$arResult = [];
		$sort = Array("PROPERTY_YEAR" => "DESC", "SORT" => "DESC",);
		$filter = Array("ACTIVE" => "Y", "IBLOCK_ID" => IBLOCK_ID_ABOUTCOMPANY_ROADMAP);
		$options = Array("nPageSize" => 1000);

		$res = CIBlockElement::GetList($sort, $filter, false, $options);
		$arResult = ['YEARS' => []];

		while ($obElement = $res->GetNextElement())
		{
			$ar_res = $obElement->GetFields();
			$ar_res['PROPERTIES'] = $obElement->GetProperties();

			if(!isset($arResult['YEARS'][$ar_res['PROPERTY_YEAR_VALUE']]))
			{
				$arResult['YEARS'][$ar_res['PROPERTY_YEAR_VALUE']] = [];
			}

			array_push($arResult['YEARS'][$ar_res['PROPERTY_YEAR_VALUE']], $ar_res);
		}

		$this->IncludeComponentTemplate();
	}
}