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

CDatabase::GetDBNodeConnection: метод Битрикс

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

//    CDatabase::GetDBNodeConnection()
//    /bitrix/modules/main/classes/general/database.php:74

    function GetDBNodeConnection($node_id, $bIgnoreErrors = false, $bCheckStatus = true)
    {
        global $DB;

        if(!array_key_exists($node_id, self::$arNodes))
        {
            if(CModule::IncludeModule('cluster'))
                self::$arNodes[$node_id] = CClusterDBNode::GetByID($node_id);
            else
                self::$arNodes[$node_id] = false;
        }
        $node = &self::$arNodes[$node_id];

        if(
            is_array($node)
            && (
                !$bCheckStatus
                || (
                    $node["ACTIVE"] == "Y"
                    && ($node["STATUS"] == "ONLINE" || $node["STATUS"] == "READY")
                )
            )
            && !isset($node["ONHIT_ERROR"])
        )
        {
            if(!array_key_exists("DB", $node))
            {
                $node_DB = new CDatabase;
                $node_DB->type = $DB->type;
                $node_DB->debug = $DB->debug;
                $node_DB->DebugToFile = $DB->DebugToFile;
                $node_DB->bNodeConnection = true;
                $node_DB->node_id = $node_id;

                if($node_DB->Connect($node["DB_HOST"], $node["DB_NAME"], $node["DB_LOGIN"], $node["DB_PASSWORD"], "node".$node_id))
                {
                    if(defined("DELAY_DB_CONNECT") && DELAY_DB_CONNECT===true)
                    {
                        if($node_DB->DoConnect("node".$node_id))
                            $node["DB"] = $node_DB;
                    }
                    else
                    {
                        $node["DB"] = $node_DB;
                    }
                }
            }

            if(array_key_exists("DB", $node))
                return $node["DB"];
        }

        if($bIgnoreErrors)
        {
            return false;
        }
        else
        {
            if(file_exists($_SERVER["DOCUMENT_ROOT"].BX_PERSONAL_ROOT."/php_interface/dbconn_error.php"))
                include($_SERVER["DOCUMENT_ROOT"].BX_PERSONAL_ROOT."/php_interface/dbconn_error.php");
            else
                include($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/include/dbconn_error.php");
            die();
        }
    }
';

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

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

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

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

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

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

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

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