- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/site_checker.php
- Класс: CSiteCheckerTest
- Вызов: CSiteCheckerTest::CommonTest
static function CommonTest()
{
if (
defined('BX_CRONTAB')
|| (defined('CHK_EVENT') && CHK_EVENT === true)
|| (!isset($_SERVER['HTTP_HOST']) || !$_SERVER['HTTP_HOST'])
) // can't get real HTTP server vars from cron
{
return "CSiteCheckerTest::CommonTest();";
}
if (
($ntlm_varname = COption::GetOptionString('ldap', 'ntlm_varname', 'REMOTE_USER'))
&& ($user = trim($_SERVER[$ntlm_varname] ?? ''))
)
{
return "CSiteCheckerTest::CommonTest();";
} // Server NTLM is enabled, no way to connect through a socket
IncludeModuleLangFile($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/admin/site_checker.php');
$step = 0;
$ar = null;
while(true)
{
$oTest = new CSiteCheckerTest($step, $fast = 1);
if ($ar !== null)
{
$oTest->arTestVars = $ar;
}
$oTest->ssl =
(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on')
|| (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
|| (isset($_SERVER["SERVER_PORT"]) && $_SERVER["SERVER_PORT"] == 443)
;
if (preg_match('#^(.+):([0-9]+)$#', $_SERVER['HTTP_HOST'], $regs))
{
$oTest->host = $regs[1];
$oTest->port = $regs[2];
if ($oTest->port == 443)
$oTest->ssl = true;
}
else
{
$oTest->host = $_SERVER['HTTP_HOST'];
$oTest->port = isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] ? $_SERVER['SERVER_PORT'] : ($oTest->ssl ? 443 : 80);
}
$oTest->Start();
if ($oTest->result === false)
{
$error = Array(
"MESSAGE" =>
(
IsModuleInstalled('intranet') ?
GetMessage("MAIN_SC_GOT_ERRORS", array('#LINK#' => "/bitrix/admin/site_checker.php?lang=".LANGUAGE_ID."&express_test=Y")) :
GetMessage("MAIN_SC_SITE_GOT_ERRORS", array('#LINK#' => "/bitrix/admin/site_checker.php?lang=".LANGUAGE_ID."&start_test=Y"))
),
"TAG" => "SITE_CHECKER",
"MODULE_ID" => "MAIN",
'NOTIFY_TYPE' => CAdminNotify::TYPE_NORMAL
);
CAdminNotify::Add($error);
break;
}
if ($oTest->percent >= 100)
{
break;
}
$step++;
$ar = $oTest->arTestVars;
}
$REMOTE_ADDR = $_SERVER['REMOTE_ADDR'];
$HTTP_USER_AGENT= $_SERVER['HTTP_USER_AGENT'];
$_SERVER['REMOTE_ADDR'] = '-';
$_SERVER['HTTP_USER_AGENT'] = '-';
CEventLog::Add(array(
"SEVERITY" => "WARNING",
"AUDIT_TYPE_ID" => isset($oTest->arTestVars['site_checker_success']) && $oTest->arTestVars['site_checker_success'] == 'Y' ? 'SITE_CHECKER_SUCCESS' : 'SITE_CHECKER_ERROR',
"MODULE_ID" => "main",
"ITEM_ID" => 'CSiteCheckerTest::CommonTest();',
"URL" => '-',
"DESCRIPTION" => '',
));
$_SERVER['REMOTE_ADDR'] = $REMOTE_ADDR;
$_SERVER['HTTP_USER_AGENT'] = $HTTP_USER_AGENT;
return "CSiteCheckerTest::CommonTest();";
}