• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/classes/general/im_message_param.php
  • Класс: CIMMessageParamAttach
  • Вызов: CIMMessageParamAttach::AddGrid
public function AddGrid($params)
{
	$add = Array();

	foreach ($params as $grid)
	{
		$result = Array();

		if ($grid['DISPLAY'] != 'LINE')
		{
			if (
				!isset($grid['NAME']) && !isset($grid['VALUE'])
				|| trim($grid['NAME']) == '' && trim($grid['VALUE']) == ''
			)
			{
				continue;
			}
		}

		if (isset($grid['DISPLAY']) && in_array($grid['DISPLAY'], Array('BLOCK', 'LINE', 'CARD', 'ROW', 'COLUMN', 'TABLE')))
		{
			if ($grid['DISPLAY'] == 'COLUMN')
			{
				$grid['DISPLAY'] = 'ROW';
			}
			if ($grid['DISPLAY'] == 'CARD')
			{
				$grid['DISPLAY'] = 'LINE';
			}
			$result['DISPLAY'] = $grid['DISPLAY'];
		}
		else
		{
			$result['DISPLAY'] = 'BLOCK';
		}

		$result['NAME'] = self::removeNewLine(trim($grid['NAME']));

		$result['VALUE'] = str_replace(['#BR#'], '[BR]', trim($grid['VALUE']));

		if (isset($grid['COLOR']) && preg_match('/^#([a-fA-F0-9]){3}(([a-fA-F0-9]){3})?b$/D', $grid['COLOR']))
		{
			$result['COLOR'] = $grid['COLOR'];
		}
		if (isset($grid['WIDTH']) && intval($grid['WIDTH']) > 0)
		{
			$result['WIDTH'] = intval($grid['WIDTH']);
		}
		if (isset($grid['HEIGHT']) && intval($grid['HEIGHT']) > 0)
		{
			$result['HEIGHT'] = intval($grid['HEIGHT']);
		}
		if (isset($grid['USER_ID']) && intval($grid['USER_ID']) > 0)
		{
			$result['USER_ID'] = intval($grid['USER_ID']);
		}
		if (isset($grid['CHAT_ID']) && intval($grid['CHAT_ID']) > 0)
		{
			$result['CHAT_ID'] = intval($grid['CHAT_ID']);
		}
		if (isset($grid['LINK']) && preg_match('#^(?:/|https?://)#', $grid['LINK']))
		{
			$result['LINK'] = $grid['LINK'];
		}

		$add[] = $result;
	}
	if (empty($add))
		return false;

	$this->result['BLOCKS'][]['GRID'] = $add;

	return true;
}