Exemple #1
0
     }
 }
 //If it was the last question, finish the attempt
 if ($arTest["PASSAGE_TYPE"] < 2) {
     $arProgress = CTestResult::GetProgress($sessAttemptID);
     if ($arProgress["TODO"] == 0) {
         $rsTestAttempt = new CTestAttempt();
         $rsTestAttempt->AttemptFinished($sessAttemptID);
         $rsAtt = CTestAttempt::GetByID((int) $sessAttemptID);
         if (($arAtt = $rsAtt->GetNext()) && $arTest["APPROVED"] == "Y") {
             $arAtt["CORRECT_COUNT"] = CTestResult::GetCorrectCount($arAtt["ID"]);
             $sessAttempt = $arAtt;
         }
         $sessAttemptID = null;
         $sessAttemptFinished = true;
     } elseif ($arTest["INCORRECT_CONTROL"] == 'Y' && CTestAttempt::IsTestFailed($sessAttemptID, $arTest["COMPLETED_SCORE"])) {
         $rsAttempt = new CTestAttempt();
         $rsAttempt->AttemptFinished($sessAttemptID);
         $rsAtt = CTestAttempt::GetByID((int) $sessAttemptID);
         if (($arAtt = $rsAtt->GetNext()) && $arTest["APPROVED"] == "Y") {
             $arAtt["CORRECT_COUNT"] = CTestResult::GetCorrectCount($arAtt["ID"]);
             $sessAttempt = $arAtt;
         }
         $sessAttemptID = null;
         $sessAttemptFinished = true;
         LocalRedirect($arResult["REDIRECT_PAGE"]);
     }
 }
 //User wants to finish
 if (strlen($_REQUEST["finish"]) > 0 && $sessAttemptID) {
     $rsAttempt = new CTestAttempt();