} $sessAttemptError = null; $sessAttemptFinished = null; $sessAttempt = null; //Title $arParams["SET_TITLE"] = $arParams["SET_TITLE"] == "N" ? "N" : "Y"; if ($arParams["SET_TITLE"] == "Y") { $APPLICATION->SetTitle($arResult["TEST"]["NAME"]); } //Actions $bTestCreate = $_SERVER["REQUEST_METHOD"] == "POST" && !isset($sessAttemptID); $bPostAnswer = $_SERVER["REQUEST_METHOD"] == "POST" && isset($sessAttemptID) && $_POST["ANSWERED"] == "Y"; $arResult["COMPLETE_PERCENT"] = 0; $arResult["CURRENT_MARK"] = ""; if (isset($sessAttemptID) && intval($sessAttemptID) > 0) { $arResult["COMPLETE_PERCENT"] = CTestResult::GetPercent(@$sessAttemptID); if ($arResult["COMPLETE_PERCENT"]) { $arResult["CURRENT_MARK"] = CLTestMark::GetByPercent($arTest["ID"], $arResult["COMPLETE_PERCENT"]); } } if ($bTestCreate) { $sessIncorrectMessage = null; //If old attempt exists? if ($arAttempt = _AttemptExists($arParams["TEST_ID"])) { $sessAttemptID = $arAttempt["ID"]; if ($arAttempt["STATUS"] == "N") { $arFields = array("~DATE_START" => CDatabase::CurrentTimeFunction(), "DATE_END" => false, "STATUS" => "B"); $ta = new CTestAttempt(); $res = $ta->Update($arAttempt["ID"], $arFields); } LocalRedirect($arResult["REDIRECT_PAGE"]);