Exemple #1
0
             $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) {