Поддержка серверов

CIMMessageParamAttach::AddGrid: метод Битрикс

Постоянная ссылка: http://bxapi.ru/src/?id=360654

//    CIMMessageParamAttach::AddGrid()
//    /bitrix/modules/im/classes/general/im_message_param.php:940

    public function AddGrid($params)
    {
        $add = Array();

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

            if ($grid['DISPLAY'] != 'LINE')
            {
                if (
                    !isset($grid['NAME']) && !isset($grid['VALUE'])
                    || strlen(trim($grid['NAME'])) <= 0 && strlen(trim($grid['VALUE'])) <= 0
                )
                {
                    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'] = htmlspecialcharsbx(trim($grid['NAME']));

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

            if (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'] = htmlspecialcharsbx($grid['LINK']);
            }

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

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

        return true;
    }

Блог разработчика

9 августа 2016 ResizeImageGet и простой водяной знак налету

Сегодня поговорим о том как проще всего воткнуть водяной знак на картинки в Битрикс. Например, на все изображения каталога.

21 июля 2016 Добавление вкладки в CRM коробки Битрикс24

В этом посте я покажу, как легко и просто добавить вкладку в сущность CRM. И не просто добавить, а вывести там свой контент.

21 июля 2016 Как просто обращаться из коробки Битрикс24 на сайт на базе Битрикс

К примеру вам хочется внутренним скриптом дернуть с сайта-магазина информацию, которая там, в свою очередь, закрыта некоторыми правами. Например, админскими. Можно конечно мутить свой REST, или иной формат общения, но проще всего воспользоваться штатным инструментом:

Текст сообщения*
Загрузить изображение