$arAtt["CORRECT_COUNT"] = CTestResult::GetCorrectCount($arAtt["ID"]); $sessAttempt = $arAtt; } $sessAttemptID = null; $sessAttemptFinished = true; LocalRedirect($arResult["REDIRECT_PAGE"]); } } //Get questions $rsTestResult = CTestResult::GetList(array("ID" => "ASC"), array("ATTEMPT_ID" => $sessAttemptID, 'CHECK_PERMISSIONS' => 'N')); $rsTestResult->NavStart(10000); $arResult["NAV"]["PAGE_COUNT"] = $rsTestResult->SelectedRowsCount(); //If no questions if ($arResult["NAV"]["PAGE_COUNT"] <= 0) { $rsTestAttempt = new CTestAttempt(); $rsTestAttempt->AttemptFinished($sessAttemptID); $sessAttemptID = null; $sessAttemptFinished = true; LocalRedirect($arResult["REDIRECT_PAGE"]); } if ($arResult["NAV"]["PAGE_NUMBER"] > $arResult["NAV"]["PAGE_COUNT"]) { $arResult["NAV"]["PAGE_NUMBER"] = 1; $arResult["REDIRECT_PAGE"] = str_replace("#PAGE_ID#", $arResult["NAV"]["PAGE_NUMBER"] + 1, $arResult["PAGE_TEMPLATE"]); } $questionPageIndex = 1; while ($arAttemptQuestion = $rsTestResult->GetNext()) { if (!$arResult["NAV"]["FIRST_NOANSWER"] && $arAttemptQuestion["ANSWERED"] == "N") { $arResult["NAV"]["FIRST_NOANSWER"] = $questionPageIndex; } $inaccessible = $arTest["PASSAGE_TYPE"] < 2 && $arAttemptQuestion["ANSWERED"] == "Y" || $arTest["PASSAGE_TYPE"] == 0 && $arAttemptQuestion["ANSWERED"] == "N"; if ($arResult["NAV"]["FIRST_NOANSWER"] == $questionPageIndex) {