- Модуль: 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;
}