Your IP : 3.22.249.232


Current Path : /var/www/www-root/data/www/monolith-realty.ru/bitrix/components/bitrix/catalog.main/
Upload File :
Current File : /var/www/www-root/data/www/monolith-realty.ru/bitrix/components/bitrix/catalog.main/component.php

<?php

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 */


/*************************************************************************
	Processing of received parameters
*************************************************************************/
if(!isset($arParams["CACHE_TIME"]))
	$arParams["CACHE_TIME"] = 36000000;

$arParams["IBLOCK_TYPE"]=trim($arParams["IBLOCK_TYPE"]);
$arParams["IBLOCK_URL"]=trim($arParams["IBLOCK_URL"]);

/*************************************************************************
			Work with cache
*************************************************************************/
$arResult["ITEMS"] = [];

if($this->StartResultCache(false, ($arParams["CACHE_GROUPS"]==="N"? false: $USER->GetGroups())))
{
	if(!CModule::IncludeModule("iblock"))
	{
		$this->AbortResultCache();
		ShowError(GetMessage("IBLOCK_MODULE_NOT_INSTALLED"));
		return;
	}
	//WHERE
	$arFilter = [
		"TYPE" => $arParams["IBLOCK_TYPE"],
		"SITE_ID" => SITE_ID,
		"ACTIVE" => "Y",
	];
	//ORDER BY
	$arSort = [
		"SORT" => "ASC",
		"NAME" => "ASC",
	];

	$rsIBlocks = CIBlock::GetList($arSort, $arFilter);

	while($arIBlock = $rsIBlocks->GetNext())
	{
		$arIBlock["PICTURE"] = CFile::GetFileArray($arIBlock["PICTURE"]);

		$arIBlock["~LIST_PAGE_URL"] = str_replace(
			array("#SERVER_NAME#", "#SITE_DIR#", "#IBLOCK_TYPE_ID#", "#IBLOCK_ID#", "#IBLOCK_CODE#", "#IBLOCK_EXTERNAL_ID#", "#CODE#"),
			array(SITE_SERVER_NAME, SITE_DIR, $arIBlock["IBLOCK_TYPE_ID"], $arIBlock["ID"], $arIBlock["CODE"], $arIBlock["EXTERNAL_ID"], $arIBlock["CODE"]),
			$arParams["IBLOCK_URL"] <> ''? trim($arParams["~IBLOCK_URL"]) : $arIBlock["~LIST_PAGE_URL"]
		);
		$arIBlock["~LIST_PAGE_URL"] = preg_replace("'/+'s", "/", $arIBlock["~LIST_PAGE_URL"]);
		$arIBlock["LIST_PAGE_URL"] = htmlspecialcharsbx($arIBlock["~LIST_PAGE_URL"]);

		$arResult["ITEMS"][]=$arIBlock;
	}
	$this->IncludeComponentTemplate();
}

if (!empty($arResult["ITEMS"]) && $USER->IsAuthorized())
{
	if($APPLICATION->GetShowIncludeAreas() && CModule::IncludeModule("iblock"))
		$this->AddIncludeAreaIcons(CIBlock::ShowPanel(0, 0, 0, $arParams["IBLOCK_TYPE"], true));
}