• Модуль: sender
  • Путь к файлу: ~/bitrix/modules/sender/lib/preset/mailblock.php
  • Класс: BitrixSenderPresetMailBlock
  • Вызов: MailBlock::getBlockForVisualEditor
static function getBlockForVisualEditor()
{
	$arResult = array(
		'items' => array(),
		'groups' => array(),
		'rootDefaultFilename' => ''
	);

	$arGroupExists = array();
	$arBlocksByType = static::getListByType();
	foreach($arBlocksByType as $type => $arBlockList)
	{
		foreach($arBlockList as $blockNum => $arBlock)
		{
			$name = 'mailblock'.str_pad($blockNum+1, 4, '0', STR_PAD_LEFT);
			$key = $arBlock['TYPE'].'/'.$name;
			$arResult['items'][$key] = array(
				'name' => $name,
				'path' => $arBlock['TYPE'],
				'title' => $arBlock['NAME'],
				'thumb' => '',
				'code' => $arBlock['HTML'],
				'description' => empty($arBlock['DESC']) ? '' : $arBlock['DESC'],
				'template' => '',
				'level' => '',
				'parent' => $arBlock['TYPE'],
			);

			if(!in_array($arBlock['TYPE'], $arGroupExists))
			{
				$arResult['groups'][] = array(
					'path' => '',
					'name' => $arBlock['TYPE'],
					'level' => '0',
					'default_name' => 'mailblockgroup' . (count($arGroupExists) + 1)
				);
				$arGroupExists[] = $arBlock['TYPE'];
			}

		} // foreach $arBlockList

	} // foreach $arBlocksByType

	if(isset($arResult['groups'][0]))
		$arResult['rootDefaultFilename'] = $arResult['groups'][0]['default_name'];

	return $arResult;
}