• Модуль: landing
  • Путь к файлу: ~/bitrix/modules/landing/lib/publicaction/form.php
  • Класс: BitrixLandingPublicActionForm
  • Вызов: Form::getCrmCategories
static function getCrmCategories()
{
	$categories = [];

	if (
		Loader::includeModule('crm')
		&& static::checkFormPermission()
	)
	{
		$userPermissions = CCrmPerms::GetCurrentUserPermissions();
		$map = array_fill_keys(CCrmDeal::GetPermittedToReadCategoryIDs($userPermissions), true);
		$allCategories = DealCategory::getAll(true);

		foreach ($allCategories as $key => $category)
		{
			$ID = (int)$category['ID'];
			if(!isset($map[$ID]))
			{
				continue;
			}

			$stages = CCrmViewHelper::getDealStageInfos($category['ID']);
			CCrmViewHelper::prepareDealStageExtraParams($stages, $category['ID']);

			$category['STAGES'] = array_values($stages);
			$categories[] = $category;
		}
	}

	$publicActionResult = new PublicActionResult();
	$publicActionResult->setResult($categories);

	return $publicActionResult;
}