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

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

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

<?php 
//    /bitrix/modules/main/classes/general/site_checker.phpCSiteCheckerTest::check_localredirect()
//    1784:

    
function check_localredirect()
    {
        
$strSERVER '';
        foreach(array(
'SERVER_PORT''HTTPS''FCGI_ROLE''HTTP_HOST''SERVER_PROTOCOL') as $var)
            
$strSERVER .= '&'.$var.'='.urlencode($_SERVER[$var]);

        if (!
$this->arTestVars['last_value'])
        {
            
$strRequest "GET "."/bitrix/admin/site_checker.php?test_type=redirect_test&unique_id=".checker_get_unique_id().$strSERVER." HTTP/1.1\r\n";
            
$strRequest.= "Host: ".$this->host."\r\n";
            
$strRequest.= "\r\n";

            if (!
$res $this->ConnectToHost())
                return 
false;

            
$strRes GetHttpResponse($res$strRequest$strHeaders);

            if (
preg_match('#Location: (.+)#'$strHeaders$regs))
            {
                
$url trim($regs[1]);
                if (!
$url)
                {
                    
PrintHTTP($strRequest$strHeaders$strRes);
                    return 
false;
                }

                
$this->arTestVars['last_value'] = $url;
                
$this->test_percent 50;

                return 
true;
            }

            
PrintHTTP($strRequest$strHeaders$strRes);
            return 
false;
        }
        else
        {
            
$url $this->arTestVars['last_value'];
            if (!
$url)
                return 
false;

            
$ar parse_url($url);

            
$host $ar['host'];
            
$ssl $ar['scheme'] == 'https' 'ssl://' '';
            
$port intval($ar['port']) ? intval($ar['port']) : ($ssl 443 80);

            
$strRequest "GET "."/bitrix/admin/site_checker.php?test_type=redirect_test&unique_id=".checker_get_unique_id().$strSERVER."&done=Y HTTP/1.1\r\n";
            
$strRequest.= "Host: ".$host."\r\n";
            
$strRequest.= "\r\n";

            if (
$res $this->ConnectToHost($host$port$ssl))
                return 
IsHttpResponseSuccess($res$strRequest);
            return 
false;
        }
    }

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

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

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

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

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

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

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

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