• Модуль: landing
  • Путь к файлу: ~/bitrix/modules/landing/lib/repo.php
  • Класс: BitrixLandingRepo
  • Вызов: Repo::getBlock
static function getBlock($id)
{
	static $manifest = array();

	if (!isset($manifest[$id]))
	{
		$manifest[$id] = array();
		if (($block = self::getById($id)->fetch()))
		{
			$manifestLocal = unserialize($block['MANIFEST'], ['allowed_classes' => false]);
			if (!is_array($manifestLocal))
			{
				$manifestLocal = array();
			}
			if (
				isset($manifestLocal['block']) &&
				is_array($manifestLocal['block'])
			)
			{
				$blockDesc = $manifestLocal['block'];
			}
			$manifestLocal['block'] = array(
				'name' => $block['NAME'],
				'description' => $block['DESCRIPTION'],
				'namespace' => $block['APP_CODE'],
				'section' => explode(',', $block['SECTIONS']),
				'preview' => $block['PREVIEW'],
				'restricted' => true,
				'repo_id' => $block['ID'],
				'xml_id' => $block['XML_ID'],
				'app_code' => $block['APP_CODE']
			);
			if (isset($blockDesc['subtype']))
			{
				$manifestLocal['block']['subtype'] = $blockDesc['subtype'];
			}
			$manifest[$id] = $manifestLocal;
			$manifest[$id]['timestamp'] = $block['DATE_MODIFY']->getTimeStamp();
		}
	}

	return $manifest[$id];
}