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

CLearnGraphNode::GetByID: метод Битрикс

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

//    CLearnGraphNode::GetByID()
//    /bitrix/modules/learning/classes/general/ilearngraphnode.php:138

    public static function GetByID($id)
    {
        global $DB;

        static $cacheFieldsToSelect = null;

        if ( ! (is_numeric ($id) && is_int ($id + 0)) )
            throw new LearnException ('EA_PARAMS', LearnException::EXC_ERR_GN_GETBYID);

        // Prepare list of DB fields to be selected
        if ($cacheFieldsToSelect === null)
        {
            $arReversedFieldsMap = self::_GetReversedFieldsMap();

            $arFieldsToSelect = array();
            foreach ($arReversedFieldsMap as $fieldNameInDB => $value)
            {
                if ($value['access'] & self::SQL_SELECT)
                {
                    if ( ($fieldNameInDB === 'TIMESTAMP_X') || ($fieldNameInDB === 'DATE_CREATE') )
                        $arFieldsToSelect[] = $DB->DateToCharFunction($fieldNameInDB) . ' AS ' . $fieldNameInDB;
                    else
                        $arFieldsToSelect[] = $fieldNameInDB;
                }
            }

            $cacheFieldsToSelect = implode (',', $arFieldsToSelect);

            if ( ! (strlen($cacheFieldsToSelect) > 0) )
                $cacheFieldsToSelect = false;
        }

        if ($cacheFieldsToSelect === false)
            throw new LearnException ('EA_ACCESS_DENIED', LearnException::EXC_ERR_GN_GETBYID);

        // Get graph node data
        $rc = $DB->Query (
            "SELECT " . $cacheFieldsToSelect . "
            FROM b_learn_lesson
            WHERE ID='" . (int) ($id + 0) . "'",
            true    // ignore errors
            );

        if ($rc === false)
            throw new LearnException ('EA_SQLERROR', LearnException::EXC_ERR_GN_GETBYID);

        if ( ! (($arData = $rc->Fetch()) && is_array($arData)) )
            throw new LearnException ('EA_NOT_EXISTS', LearnException::EXC_ERR_GN_GETBYID);

        return ($arData);
    }

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

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

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

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

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

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

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

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