• Модуль: 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;
}