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

CSiteCheckerTest::check_mysql_db_charset: метод Битрикс

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

<?php 
//    /bitrix/modules/main/classes/general/site_checker.phpCSiteCheckerTest::check_mysql_db_charset()
//    2083:

    
function check_mysql_db_charset()
    {
        global 
$DB;
        if (
$this->arTestVars['check_mbstring_fail'])
            return 
$this->Result(nullGetMessage('SC_MBSTRING_NA'));
        elseif (
$this->arTestVars['check_table_status_fail'])
            return 
$this->Result(nullGetMessage('SC_TABLES_NEED_REPAIR'));
        elseif (
$this->arTestVars['check_connection_charset_fail'])
            return 
$this->Result(nullGetMessage('SC_CONNECTION_CHARSET_NA'));

        
$strError '';

        
$res $DB->Query('SHOW VARIABLES LIKE "character_set_connection"');
        
$f $res->Fetch();
        
$character_set_connection $f['Value'];

        
$res $DB->Query('SHOW VARIABLES LIKE "collation_connection"');
        
$f $res->Fetch();
        
$collation_connection $f['Value'];

        
$res $DB->Query('SHOW VARIABLES LIKE "character_set_database"');
        
$f $res->Fetch();
        
$character_set_database $f['Value'];

        
$res $DB->Query('SHOW VARIABLES LIKE "collation_database"');
        
$f $res->Fetch();
        
$collation_database $f['Value'];

        if (
$this->fix_mode)
        {
            if (
$DB->Query($sql 'ALTER DATABASE `' $DB->DBName'` DEFAULT CHARACTER SET ' $character_set_connection ' COLLATE ' $collation_connectiontrue))
                
$strError '';
            else
                
$strError .= $sql ' [' $DB->db_Error ']';
        }
        else
        {
            if (
$character_set_connection != $character_set_database)
                
$strError GetMessage('SC_DATABASE_CHARSET_DIFF', array('#VAL0#' => $character_set_connection'#VAL1#' => $character_set_database)).fix_link();
            elseif (
$collation_database != $collation_connection)
                
$strError GetMessage('SC_DATABASE_COLLATION_DIFF', array('#VAL0#' => $collation_connection'#VAL1#' => $collation_database)).fix_link();
        }

        echo 
'CHARSET='.$character_set_database.', COLLATION='.$collation_database;

        if (!
$strError)
            return 
true;

        
$this->arTestVars['db_charset_fail'] = true;
        return 
$this->Result(false$strError);
    }

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

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

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

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

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

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

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

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