- Модуль: security
- Путь к файлу: ~/bitrix/modules/security/classes/general/tests/base_test.php
- Класс: CSecurityBaseTest
- Вызов: CSecurityBaseTest::check
public function check(array $params = array())
{
$this->initializeParams($params);
$neededTests = self::getParam("needed_tests", null);
if(is_string($neededTests) && $neededTests)
{
$neededTests = array($neededTests);
}
foreach($this->tests as $name => $test)
{
if($neededTests && !empty($neededTests) && !in_array($name, $neededTests, true))
continue;
if(isset($test["params"]) && is_array($test["params"]))
{
$testParams = $test["params"];
}
else
{
$testParams = array();
}
$result = call_user_func_array(array($this, $test["method"]), $testParams);
if($result === self::STATUS_FAILED || $result === false)
{
if(isset($test["base_message_key"]) && $test["base_message_key"])
{
if(isset($test["critical"]) && $test["critical"])
{
$critical = $test["critical"];
}
else
{
$critical = CSecurityCriticalLevel::LOW;
}
$this->addUnformattedDetailError($test["base_message_key"], $critical);
}
}
}
$result = array(
'name' => $this->getName(),
'problem_count' => count($this->getDetailErrors()),
'errors' => $this->getDetailErrors(),
'status' => !count($this->getDetailErrors())
);
return $result;
}