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

CClusterDBNodeCheck::MainNodeForReplication: метод Битрикс

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

<?php 
//    /bitrix/modules/cluster/classes/mysql/dbnode_check.phpCClusterDBNodeCheck::MainNodeForReplication()
//    84:

    
function MainNodeForReplication($arMasterNode)
    {
        if(
$arMasterNode["ID"] == 1)
            global 
$DB;
        else
            
$DB CDatabase::GetDBNodeConnection($arMasterNode["ID"], true);;

        
$result = array();

        
$server_id $this->GetServerVariable($DB"server_id");
        
$is_ok =  $server_id 0;
        
$result["server_id"] = array(
            
"IS_OK" => $is_okCClusterDBNodeCheck::OKCClusterDBNodeCheck::ERROR,
            
"MESSAGE" => GetMessage("CLU_SERVER_ID_MSG", array("#server-id#" => $server_id)),
            
"WIZ_REC" => GetMessage("CLU_SERVER_ID_WIZREC"),
        );

        
$log_bin $this->GetServerVariable($DB"log_bin");
        
$is_ok =  $log_bin === "ON";
        
$result["log_bin"] = array(
            
"IS_OK" => $is_okCClusterDBNodeCheck::OKCClusterDBNodeCheck::ERROR,
            
"MESSAGE" => GetMessage("CLU_LOG_BIN_MSG", array("#log-bin#" => $log_bin)),
            
"WIZ_REC" => GetMessage("CLU_LOG_BIN_WIZREC"),
        );

        
$skip_networking $this->GetServerVariable($DB"skip_networking");
        
$is_ok =  $skip_networking === "OFF";
        
$result["skip_networking"] = array(
            
"IS_OK" => $is_okCClusterDBNodeCheck::OKCClusterDBNodeCheck::ERROR,
            
"MESSAGE" => GetMessage("CLU_SKIP_NETWORKING_MSG", array("#skip-networking#" => $skip_networking)),
            
"WIZ_REC" => GetMessage("CLU_SKIP_NETWORKING_WIZREC"),
        );

        
$innodb_flush_log_at_trx_commit $this->GetServerVariable($DB"innodb_flush_log_at_trx_commit");
        
//if($innodb_flush_log_at_trx_commit !== '1')
        
{
            
$is_ok $innodb_flush_log_at_trx_commit === '1';
            
$result["innodb_flush_log_at_trx_commit"] = array(
                
"IS_OK" => $is_okCClusterDBNodeCheck::OKCClusterDBNodeCheck::WARNING,
                
"MESSAGE" => GetMessage("CLU_FLUSH_ON_COMMIT_MSG", array("#innodb_flush_log_at_trx_commit#" => $innodb_flush_log_at_trx_commit)),
                
"WIZ_REC" => "",
            );
        }

        
$sync_binlog $this->GetServerVariable($DB"sync_binlog");
        
$is_ok $sync_binlog === '1';
        
$result["sync_binlog"] = array(
            
"IS_OK" => $is_okCClusterDBNodeCheck::OKCClusterDBNodeCheck::WARNING,
            
"MESSAGE" => GetMessage("CLU_SYNC_BINLOG_MSG", array("#sync_binlog#" => $sync_binlog)),
            
"WIZ_REC" => "",
        );

        
$DatabaseName $DB->DBName;
        
$is_ok false;
        
$rsBinLogs $DB->Query("show master status"true'', array("fixed_connection"=>true));
        if(!
$rsBinLogs)
        {
            
$result["master_status"] = array(
                
"IS_OK" => CClusterDBNodeCheck::ERROR,
                
"MESSAGE" => GetMessage("CLU_MASTER_STATUS_MSG"),
                
"WIZ_REC" => GetMessage("CLU_MASTER_STATUS_WIZREC", array("#sql#" => "GRANT REPLICATION CLIENT on *.* to '".$DB->DBLogin."'@'%';")),
            );
        }
        else
        {
            if(
$ar $rsBinLogs->Fetch())
            {
                if(
$ar["Binlog_Do_DB"] === $DatabaseName)
                    
$is_ok true;
            }
            while(
$ar $rsBinLogs->Fetch())
                    
$is_ok false;

            
$result["binlog_do_db"] = array(
                
"IS_OK" => $is_okCClusterDBNodeCheck::OKCClusterDBNodeCheck::WARNING,
                
"MESSAGE" => GetMessage("CLU_SYNC_BINLOGDODB_MSG"),
                
"WIZ_REC" => GetMessage("CLU_SYNC_BINLOGDODB_WIZREC", array("#database#" => $DatabaseName)),
            );
        }

        return 
$result;
    }

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

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

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

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

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

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

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

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