- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/checklist.php
- Класс: CCheckList
- Вызов: CCheckList::AutoCheck
function AutoCheck($arTestID, $arParams = array())
{//execute point autotest
$arParams["TEST_ID"] = $arTestID;
$arPoints = $this->GetPoints();
$arPoint = $arPoints[$arTestID];
$result = false;
if (!$arPoint || $arPoint["AUTO"] !="Y")
return false;
if (isset($arPoints[$arTestID]["PARAMS"]) && is_array($arPoints[$arTestID]["PARAMS"]))
$arParams = array_merge($arParams, $arPoints[$arTestID]["PARAMS"]);
$arClass = $arPoint["CLASS_NAME"];
$arMethod = $arPoint["METHOD_NAME"];
if (!empty($arPoint["FILE_PATH"]) && file_exists($_SERVER["DOCUMENT_ROOT"].$arPoint["FILE_PATH"]))
include($_SERVER["DOCUMENT_ROOT"].$arPoint["FILE_PATH"]);
if(is_callable(array($arClass, $arMethod)))
$result = call_user_func_array(array($arClass, $arMethod), array($arParams));
$arResult = array();
if ($result && is_array($result))
{
if (array_key_exists("STATUS", $result))
{
$arFields["STATUS"] = "F";
if ($result['STATUS'] == "true")
$arFields["STATUS"] = "A";
$arFields["COMMENTS"] = $arPoint["STATE"]["COMMENTS"] ?? [];
$arFields["COMMENTS"]["SYSTEM"] = array();
if (isset($result["MESSAGE"]["PREVIEW"]))
$arFields["COMMENTS"]["SYSTEM"]["PREVIEW"]= $result["MESSAGE"]["PREVIEW"];
if (isset($result["MESSAGE"]["DETAIL"]))
$arFields["COMMENTS"]["SYSTEM"]["DETAIL"]= $result["MESSAGE"]["DETAIL"];
if ($this->PointUpdate($arTestID, $arFields))
if ($this->Save())
{
$arResult = array(
"STATUS" => $arFields["STATUS"],
"COMMENTS_COUNT" => count($arFields["COMMENTS"] ?? []),
"ERROR" => $result["ERROR"] ?? null,
"SYSTEM_MESSAGE" => $arFields["COMMENTS"]["SYSTEM"] ?? '',
);
}
}
elseif($result["IN_PROGRESS"] == "Y")
{
$arResult= array(
"IN_PROGRESS" => "Y",
"PERCENT" => $result["PERCENT"]
);
}
}
else
$arResult = array("STATUS" => "W");
return $arResult;
}