- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/site_checker.php
- Класс: CSiteCheckerTest
- Вызов: CSiteCheckerTest::check_push_bitrix
function check_push_bitrix()
{
if (!CModule::IncludeModule('pull'))
return $this->Result(null, GetMessage("MAIN_NO_PULL_MODULE"));
if (!CPullOptions::GetPushStatus())
return $this->Result(null, GetMessage("MAIN_NO_OPTION_PULL"));
if ($this->arTestVars['check_access_fail'])
return $this->Result(false, GetMessage("MAIN_SC_NO_EXTERNAL_ACCESS_MOB"));
$host = 'cloud-messaging.bitrix24.com';
$POST = 'Action=SendMessage&MessageBody=batch';
$strRequest = "";
$strRequest .= "POST /send/?key=".md5('key')." HTTP/1.1rn";
$strRequest .= "User-Agent: BitrixCloud SiteCheckerrn";
$strRequest .= "Host: ".$host."rn";
$strRequest .= "Content-type: application/x-www-form-urlencodedrn";
$strRequest .= "Content-length: ".strlen($POST)."rn";
$strRequest .= "rn".$POST."rn";
if (!$res = $this->ConnectToHost('ssl://'.$host, 443))
return false;
$strRes = mb_strtolower(GetHttpResponse($res, $strRequest, $strHeaders));
if (strpos($strRes, 'xml version=') !== false)
return true;
PrintHTTP($strRequest, $strHeaders, $strRes);
return $this->Result(false, GetMessage("MAIN_WRONG_ANSWER_PULL"));
}