• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/checklist.php
  • Класс: CAutoCheck
  • Вызов: CAutoCheck::CheckSecurity
static function CheckSecurity($arParams)
{
	global $DB;
	$err = 0;
	$arResult['STATUS'] = false;
	$arMessage = '';
	switch ($arParams["ACTION"])
	{
		case "SECURITY_LEVEL":
			if (CModule::IncludeModule("security"))
			{
					if ($arMask = CSecurityFilterMask::GetList()->Fetch())
						$arMessage .= (++$err).". ".GetMessage("CL_FILTER_EXEPTION_FOUND")."n";
					if(!CSecurityFilter::IsActive())
						$arMessage .= (++$err).". ".GetMessage("CL_FILTER_NON_ACTIVE")."n";
					if(COption::GetOptionString("main", "captcha_registration", "N") == "N")
						$arMessage .= (++$err).". ".GetMessage("CL_CAPTCHA_NOT_USE")."n";

				if (CCheckListTools::AdminPolicyLevel() != "high")
					$arMessage .= (++$err).". ".GetMessage("CL_ADMIN_SECURITY_LEVEL")."n";
				if (COption::GetOptionInt("main", "error_reporting", E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR|E_PARSE) != (E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR|E_PARSE) && COption::GetOptionString("main","error_reporting","") != 0)
					$arMessage .= (++$err).". ".GetMessage("CL_ERROR_REPORTING_LEVEL")."n";
				if($DB->debug)
					$arMessage .= (++$err).". ".GetMessage("CL_DBDEBUG_TURN_ON")."n";
				if ($arMessage)
				{
					$arResult["STATUS"] = false;
					$arResult["MESSAGE"]=array(
							"PREVIEW" => GetMessage("CL_MIN_LEVEL_SECURITY"),
							"DETAIL" => GetMessage("CL_ERROR_FOUND")."n".$arMessage
					);
				}
				else
				{
					$arResult["STATUS"] = true;
					$arResult["MESSAGE"]=array(
							"PREVIEW" => GetMessage("CL_LEVEL_SECURITY")."n"
					);
				}
			}
			else
				$arResult = array(
					"STATUS" => false,
					"MESSAGE" => array(
						"PREVIEW" => GetMessage("CL_SECURITY_MODULE_NOT_INSTALLED")."n"
					)
				);
		break;
		case "ADMIN_POLICY":
			if (CCheckListTools::AdminPolicyLevel() != "high")
				$arResult["MESSAGE"]["PREVIEW"] = GetMessage("CL_ADMIN_SECURITY_LEVEL")."n";
			else
				$arResult = array(
					"STATUS" => true,
					"MESSAGE" => array(
						"PREVIEW" => GetMessage("CL_ADMIN_SECURITY_LEVEL_IS_HIGH")."n"
					)
				);
		break;
	}

	return $arResult;
}