• Модуль: lists
  • Путь к файлу: ~/bitrix/modules/lists/lib/importer.php
  • Класс: BitrixListsImporter
  • Вызов: Importer::createIBlockType
static function createIBlockType()
{
	$iblockType = array(
		'ID' => 'bitrix_processes',
		'SECTIONS' => 'Y',
		'SORT' => 500,
		'LANG' => array(),
	);

	$langList = CLanguage::GetList('lid', 'asc', array("ACTIVE" => "Y"));
	while ($lang = $langList->Fetch())
		$iblockType['LANG'][$lang['LID']]['NAME'] = "Processes";

	$iblockTypeList = CIBlockType::GetList(array(), array('=ID' => $iblockType['ID']));
	$res = $iblockTypeList->fetch();
	if (!$res)
	{
		$iblockTypeObject = new CIBlockType;
		$iblockTypeObject->add($iblockType);

		$con = MainApplication::getConnection();
		$con->queryExecute("
			insert into b_lists_permission (IBLOCK_TYPE_ID, GROUP_ID)
			select 'bitrix_processes', p.GROUP_ID
			from
				b_lists_permission p
				left join b_lists_permission p2 on p2.GROUP_ID = p.GROUP_ID and p2.IBLOCK_TYPE_ID = 'bitrix_processes'
			where
				p.IBLOCK_TYPE_ID = 'lists'
				and p2.IBLOCK_TYPE_ID is null
		");

		global $CACHE_MANAGER;
		$CACHE_MANAGER->Clean("b_lists_permission");
	}

	MainConfigOption::set("lists", "livefeed_iblock_type_id", "bitrix_processes");
}