4 require_once
'Modules/Test/classes/class.ilTestPlayerAbstractGUI.php';
53 $ilTabs->clearTargets();
55 $this->ctrl->saveParameter($this,
"sequence");
56 $this->ctrl->saveParameter($this,
"active_id");
60 require_once
'Modules/Test/classes/class.ilObjTestDynamicQuestionSetConfig.php';
62 $this->dynamicQuestionSetConfig->loadFromDb();
72 $this->testSequence = $testSequenceFactory->getSequenceByTestSession($this->testSession);
73 $this->testSequence->loadFromDb();
75 if( $this->
object->isInstantFeedbackAnswerFixationEnabled() )
77 $this->testSequence->setPreventCheckedQuestionsFromComingUpEnabled(
true);
80 include_once
'Services/jQuery/classes/class.iljQueryUtil.php';
82 include_once
"./Services/YUI/classes/class.ilYuiUtil.php";
84 if( $this->
object->getKioskMode() )
86 include_once
'Services/UIComponent/Overlay/classes/class.ilOverlayGUI.php';
92 $cmd = $this->ctrl->getCmd();
93 $nextClass = $this->ctrl->getNextClass($this);
97 case 'ilassquestionpagegui':
99 $questionId = $this->testSession->getCurrentQuestionId();
101 require_once
"./Modules/TestQuestionPool/classes/class.ilAssQuestionPageGUI.php";
103 $ret = $this->ctrl->forwardCommand($page_gui);
106 case 'ilassquestionhintrequestgui':
108 $this->ctrl->saveParameter($this,
'pmode');
110 $questionGUI = $this->
object->createQuestionGUI(
111 "", $this->testSession->getCurrentQuestionId()
114 require_once
'Modules/TestQuestionPool/classes/class.ilAssQuestionHintTracking.php';
116 $questionGUI->object->getId(), $this->testSession->getActiveId(), $this->testSession->getPass()
119 require_once
'Modules/TestQuestionPool/classes/class.ilAssQuestionHintRequestGUI.php';
127 $this->ctrl->forwardCommand($gui);
131 case 'ildynamicquestionsetstatistictablegui':
137 case 'iltestpasswordprotectiongui':
138 require_once
'Modules/Test/classes/class.ilTestPasswordProtectionGUI.php';
140 $ret = $this->ctrl->forwardCommand($gui);
158 return $this->testSession->getCurrentQuestionId();
166 if ($this->
object->checkMaximumAllowedUsers() == FALSE)
173 if( $this->dynamicQuestionSetConfig->isAnyQuestionFilterEnabled() )
183 $this->testSession->setCurrentQuestionId(null);
185 $this->testSession->saveToDb();
187 $this->ctrl->setParameter($this,
'active_id', $this->testSession->getActiveId());
189 assQuestion::_updateTestPassResults($this->testSession->getActiveId(), $this->testSession->getPass(),
false, null, $this->
object->id);
191 $_SESSION[
'active_time_id'] = $this->
object->startWorkingTime(
192 $this->testSession->getActiveId(), $this->testSession->getPass()
195 $this->ctrl->saveParameter($this,
'tst_javascript');
197 if( $this->dynamicQuestionSetConfig->isAnyQuestionFilterEnabled() )
209 $this->testSequence->loadQuestions(
210 $this->dynamicQuestionSetConfig, $this->testSession->getQuestionSetFilterSelection()
213 $this->testSequence->cleanupQuestions($this->testSession);
215 $this->testSequence->saveToDb();
217 require_once
'Services/UIComponent/Toolbar/classes/class.ilToolbarGUI.php';
220 require_once
'Services/UIComponent/Button/classes/class.ilLinkButton.php';
224 $button->setPrimary(
true);
225 $toolbarGUI->addButtonInstance($button);
227 if( $this->
object->getShowCancel() )
230 $button->setUrl($this->ctrl->getLinkTarget(
233 $button->setCaption(
'cancel_test');
234 $toolbarGUI->addButtonInstance($button);
237 if( $this->
object->isPassDeletionAllowed() )
239 require_once
'Modules/Test/classes/confirmations/class.ilTestPassDeletionConfirmationGUI.php';
241 $toolbarGUI->addButton(
242 $this->lng->txt(
'tst_dyn_test_pass_deletion_button'),
248 $this->testSequence->getFilteredQuestionsData(), $this->testSequence->getTrackedQuestionList()
249 )); #
vd($filteredData);
251 $filteredTableGUI->setData($filteredData);
254 $this->testSequence->getCompleteQuestionsData(), $this->testSequence->getTrackedQuestionList()
255 )); #
vd($completeData);
257 $completeTableGUI->setData($completeData);
259 $content = $this->ctrl->getHTML($toolbarGUI);
260 $content .= $this->ctrl->getHTML($filteredTableGUI);
261 $content .= $this->ctrl->getHTML($completeTableGUI);
263 $this->tpl->setVariable(
'TABLE_LIST_OF_QUESTIONS', $content);
265 if( $this->
object->getEnableProcessingTime() )
274 $tableGUI->writeFilterToSession();
276 $taxFilterSelection =
array();
279 foreach( $tableGUI->getFilterItems() as $item )
281 if( strpos($item->getPostVar(),
'tax_') !==
false )
283 $taxId = substr( $item->getPostVar(), strlen(
'tax_') );
284 $taxFilterSelection[$taxId] = $item->getValue();
286 elseif( $item->getPostVar() ==
'question_answer_status' )
288 $answerStatusFilterSelection = $item->getValue();
292 $this->testSession->getQuestionSetFilterSelection()->setTaxonomySelection($taxFilterSelection);
293 $this->testSession->getQuestionSetFilterSelection()->setAnswerStatusSelection($answerStatusFilterSelection);
294 $this->testSession->saveToDb();
296 $this->testSequence->resetTrackedQuestionList();
297 $this->testSequence->saveToDb();
306 $tableGUI->resetFilter();
308 $this->testSession->getQuestionSetFilterSelection()->setTaxonomySelection(
array() );
309 $this->testSession->getQuestionSetFilterSelection()->setAnswerStatusSelection( null );
310 $this->testSession->saveToDb();
312 $this->testSequence->resetTrackedQuestionList();
313 $this->testSequence->saveToDb();
332 $this->testSession->getActiveId(), $this->testSession->getCurrentQuestionId(), $this->testSession->getPass()
335 if( !$isWorkedThrough )
337 $this->testSequence->setQuestionPostponed($this->testSession->getCurrentQuestionId());
338 $this->testSequence->saveToDb();
349 $this->
object->setQuestionSetSolved(1, $this->testSession->getCurrentQuestionId(), $ilUser->getId());
357 $this->
object->setQuestionSetSolved(0, $this->testSession->getCurrentQuestionId(), $ilUser->getId());
370 if( $this->
object->isForceInstantFeedbackEnabled() )
377 $questionId = $this->testSession->getCurrentQuestionId();
380 $this->testSession->getActiveId(), $this->testSession->getPass()
385 $this->ctrl->setParameter($this,
'pmode',
'');
397 $questionId = $this->testSession->getCurrentQuestionId();
400 $this->testSession->getActiveId(), $this->testSession->getPass()
405 if( $this->
object->isForceInstantFeedbackEnabled() )
407 $this->ctrl->setParameter($this,
'instresp', 1);
409 $this->testSequence->unsetQuestionPostponed($questionId);
410 $this->testSequence->setQuestionChecked($questionId);
411 $this->testSequence->saveToDb();
419 $this->ctrl->setParameter($this,
'pmode',
'');
443 $this->ctrl->saveParameter($this,
'sequence');
451 $questionId = $this->testSession->getCurrentQuestionId();
455 $currentQuestionOBJ->resetUsersAnswer(
456 $this->testSession->getActiveId(), $this->testSession->getPass()
476 if( $this->testSession->getQuestionSetFilterSelection()->isAnswerStatusSelectionWrongAnswered() )
478 $this->testSequence->loadQuestions(
479 $this->dynamicQuestionSetConfig, $this->testSession->getQuestionSetFilterSelection()
482 if( $this->testSequence->hasFilteredQuestionListCheckedQuestions() )
495 $this->testSequence->loadQuestions(
496 $this->dynamicQuestionSetConfig, $this->testSession->getQuestionSetFilterSelection()
499 $this->testSequence->cleanupQuestions($this->testSession);
507 if( $this->testSequence->getQuestionSet()->getSelectionQuestionList()->isInList($this->
getQuestionIdParameter()) )
516 if( !$this->testSession->getCurrentQuestionId() )
518 $upComingQuestionId = $this->testSequence->getUpcomingQuestionId();
520 $this->testSession->setCurrentQuestionId($upComingQuestionId);
530 $navigationToolbarGUI->setQuestionSelectionButtonEnabled(
true);
532 if( $this->testSession->getCurrentQuestionId() )
535 $this->testSequence->setCurrentQuestionId($this->testSession->getCurrentQuestionId());
537 $questionGui->setQuestionCount(
538 $this->testSequence->getLastPositionIndex()
540 $questionGui->setSequenceNumber(
541 $this->testSequence->getCurrentPositionIndex($this->testSession->getCurrentQuestionId())
547 $this->testSession->getCurrentQuestionId(), $this->testSession->getCurrentQuestionId()
552 $this->testSession->getActiveId(), $this->testSession->getCurrentQuestionId(), $this->testSession->getPass()
555 require_once
'Modules/Test/classes/class.ilTestQuestionHeaderBlockBuilder.php';
557 $headerBlockBuilder->setHeaderMode(
559 $this->
object->getTitleOutput() == 2 ? 1 : $this->
object->getTitleOutput()
561 $headerBlockBuilder->setQuestionTitle($questionGui->object->getTitle());
562 $headerBlockBuilder->setQuestionPoints($questionGui->object->getPoints());
569 $headerBlockBuilder->setQuestionPostponed($this->testSequence->isPostponedQuestion(
570 $this->testSession->getCurrentQuestionId())
572 $headerBlockBuilder->setQuestionObligatory(
575 $questionGui->setQuestionHeaderBlockBuilder($headerBlockBuilder);
580 $instantResponse =
true;
591 $this->testSession->getCurrentQuestionId(), $this->testSession->getCurrentQuestionId()
594 $this->ctrl->setParameter($this,
'sequence', $this->testSession->getCurrentQuestionId());
595 $this->ctrl->setParameter($this,
'pmode', $presentationMode);
598 switch($presentationMode)
603 $navigationToolbarGUI->setDisabledStateEnabled(
false);
605 $this->
showQuestionEditable($questionGui, $formAction, $isQuestionWorkedThrough, $instantResponse);
611 $this->
showQuestionViewable($questionGui, $formAction, $isQuestionWorkedThrough, $instantResponse);
617 require_once
'Modules/Test/exceptions/class.ilTestException.php';
621 $navigationToolbarGUI->build();
626 $this->testSession->getCurrentQuestionId(),
false, $this->
object->isForceInstantFeedbackEnabled()
630 if ($instantResponse)
637 $this->testSession->getQuestionSetFilterSelection()->setForcedQuestionIds(
array());
652 $navigationToolbarGUI->build();
658 $this->testSequence->saveToDb();
659 $this->testSession->saveToDb();
664 $questionId = $this->testSession->getCurrentQuestionId();
666 $filterSelection = $this->testSession->getQuestionSetFilterSelection();
668 $filterSelection->setForcedQuestionIds(
array($this->testSession->getCurrentQuestionId()));
670 $this->testSequence->loadQuestions($this->dynamicQuestionSetConfig, $filterSelection);
671 $this->testSequence->cleanupQuestions($this->testSession);
672 $this->testSequence->saveToDb();
686 $this->testSequence->unsetQuestionPostponed($questionId);
687 $this->testSequence->setQuestionChecked($questionId);
688 $this->testSequence->saveToDb();
691 $this->ctrl->setParameter(
692 $this,
'sequence', $this->testSession->getCurrentQuestionId()
695 $this->ctrl->setParameter($this,
'instresp', 1);
709 $questionId = $this->testSession->getCurrentQuestionId();
719 $this->ctrl->setParameter(
720 $this,
'sequence', $this->testSession->getCurrentQuestionId()
723 $this->ctrl->saveParameter($this,
'pmode');
730 if( $this->testSequence->openQuestionExists() )
732 $message = $this->lng->txt(
'tst_dyn_test_msg_currently_finished_selection');
736 $message = $this->lng->txt(
'tst_dyn_test_msg_currently_finished_completely');
737 $message .=
"<br /><br />{$this->buildFinishPagePassDeletionLink()}";
740 $msgHtml = $this->tpl->getMessageHTML($message);
742 $tpl =
new ilTemplate(
'tpl.test_currently_finished_msg.html',
true,
true,
'Modules/Test');
743 $tpl->setVariable(
'TEST_CURRENTLY_FINISHED_MSG', $msgHtml);
745 $this->tpl->setVariable(
'QUESTION_OUTPUT',
$tpl->get());
750 return !$this->testSequence->trackedQuestionExists();
765 return !$this->
object->endingTimeReached();
776 $formtimestamp =
$_POST[
"formtimestamp"];
777 if (strlen($formtimestamp) == 0) $formtimestamp =
$_GET[
"formtimestamp"];
778 if ($formtimestamp !=
$_SESSION[
"formtimestamp"])
780 $_SESSION[
"formtimestamp"] = $formtimestamp;
790 $qId = $this->testSession->getCurrentQuestionId();
792 if( !$qId || $qId !=
$_GET[
"sequence"])
799 $this->saveResult = FALSE;
803 $questionGUI = $this->
object->createQuestionGUI(
"", $qId);
805 if( $this->
object->getJavaScriptOutput() )
810 $activeId = $this->testSession->getActiveId();
812 $this->saveResult = $questionGUI->object->persistWorkingState(
813 $activeId,
$pass = null, $this->
object->areObligationsEnabled(), $authorized
816 if( $authorized && $this->
object->isSkillServiceToBeConsidered() )
822 if ($this->saveResult == FALSE)
824 $this->ctrl->setParameter($this,
"save_error",
"1");
833 $questionGUI = $this->
object->createQuestionGUI(
"", $questionId);
836 $maxPoints = $questionGUI->object->getMaximumPoints();
838 if($reachedPoints < $maxPoints)
850 foreach($questions as $key => $value )
852 $this->ctrl->setParameter($this,
'sequence', $value[
'question_id']);
853 $href = $this->ctrl->getLinkTarget($this,
'gotoQuestion');
854 $this->ctrl->setParameter($this,
'sequence',
'');
857 if( $this->
object->getListOfQuestionsDescription() )
859 $description = $value[
"description"];
863 if( count($marked_questions) )
865 if( isset($marked_questions[$value[
"question_id"]]) )
867 if( $marked_questions[$value[
"question_id"]][
"solved"] == 1 )
876 'title' => $this->
object->getQuestionTitle($value[
"title"]),
877 'description' => $description,
878 'worked_through' => $this->testSequence->isAnsweredQuestion($value[
"question_id"]),
879 'postponed' => $this->testSequence->isPostponedQuestion($value[
"question_id"]),
889 $questionAnswerStats =
array(
890 'total_all' => count($questions),
892 'non_answered_notseen' => 0,
893 'non_answered_skipped' => 0,
894 'wrong_answered' => 0,
895 'correct_answered' => 0
898 foreach($questions as $key => $value )
900 switch( $value[
'question_answer_status'] )
903 if( isset($trackedQuestions[$key]) )
905 $questionAnswerStats[
'non_answered_skipped']++;
909 $questionAnswerStats[
'non_answered_notseen']++;
911 $questionAnswerStats[
'total_open']++;
914 $questionAnswerStats[
'wrong_answered']++;
915 $questionAnswerStats[
'total_open']++;
918 $questionAnswerStats[
'correct_answered']++;
923 return $questionAnswerStats;
928 require_once
'Modules/Test/classes/tables/class.ilTestDynamicQuestionSetStatisticTableGUI.php';
933 $gui->initTitle(
'tst_dynamic_question_set_complete');
934 $gui->initColumns(
'tst_num_all_questions');
941 require_once
'Modules/Test/classes/tables/class.ilTestDynamicQuestionSetStatisticTableGUI.php';
946 $gui->initTitle(
'tst_dynamic_question_set_selection');
947 $gui->initColumns(
'tst_num_selected_questions');
949 require_once
'Services/Taxonomy/classes/class.ilObjTaxonomy.php';
951 $this->dynamicQuestionSetConfig->getSourceQuestionPoolId()
954 $gui->setTaxonomyFilterEnabled($this->dynamicQuestionSetConfig->isTaxonomyFilterEnabled());
955 $gui->setAnswerStatusFilterEnabled($this->dynamicQuestionSetConfig->isAnswerStatusFilterEnabled());
957 $gui->setFilterSelection($this->testSession->getQuestionSetFilterSelection());
959 $gui->setFilterCommand(
'filterQuestionSelection');
960 $gui->setResetCommand(
'resetQuestionSelection');
967 require_once
'Modules/Test/classes/tables/class.ilTestDynamicQuestionSetStatisticTableGUI.php';
977 if( $this->testSequence->trackedQuestionExists() )
979 return 'tst_resume_dyn_test_with_cur_quest_sel';
982 return 'tst_start_dyn_test_with_cur_quest_sel';
987 $questionId = $this->testSession->getCurrentQuestionId();
988 $activeId = $this->testSession->getActiveId();
989 $pass = $this->testSession->getPass();
993 $this->testSequence->setQuestionAnsweredCorrect($questionId);
997 $this->testSequence->setQuestionAnsweredWrong($questionId);
1000 $this->testSequence->saveToDb();
1005 $this->testSession->setCurrentQuestionId(null);
1006 $this->testSession->saveToDb();
1008 $this->ctrl->setParameter($this,
'sequence', $this->testSession->getCurrentQuestionId());
1009 $this->ctrl->setParameter($this,
'pmode',
'');
1019 $label = $this->lng->txt(
'tst_dyn_test_msg_pass_deletion_link');
1021 return "<a href=\"{$href}\">{$label}</a>";
1029 require_once
'Modules/Test/classes/confirmations/class.ilTestPassDeletionConfirmationGUI.php';
1032 $this->ctrl->setParameterByClass(
'ilTestEvaluationGUI',
'active_id', $this->testSession->getActiveId());
1033 $this->ctrl->setParameterByClass(
'ilTestEvaluationGUI',
'pass', $this->testSession->getPass());
1035 return $this->ctrl->getLinkTargetByClass(
'ilTestEvaluationGUI',
'confirmDeletePass');
1050 if( isset(
$_GET[
'reset_checked']) )
1052 return $_GET[
'reset_checked'];
1059 public function outQuestionSummaryCmd($fullpage =
true, $contextFinishTest =
false, $obligationsNotAnswered =
false, $obligationsFilter =
false)
1061 $this->testSequence->loadQuestions(
1062 $this->dynamicQuestionSetConfig, $this->testSession->getQuestionSetFilterSelection()
1065 $this->testSequence->setCurrentQuestionId($this->testSession->getCurrentQuestionId());
1067 parent::outQuestionSummaryCmd($fullpage, $contextFinishTest, $obligationsNotAnswered, $obligationsFilter);
1072 require_once
'Services/Utilities/classes/class.ilConfirmationGUI.php';
1074 $confirmation->setFormAction($this->ctrl->getFormAction($this));
1075 $confirmation->setHeaderText($this->lng->txt(
'tst_dyn_unfreeze_answers_confirmation'));
1084 $this->testSequence->loadQuestions(
1085 $this->dynamicQuestionSetConfig, $this->testSession->getQuestionSetFilterSelection()
1088 $this->testSequence->resetFilteredQuestionListsCheckedStatus();
1089 $this->testSequence->saveToDb();
1104 $this->ctrl->setParameter($this,
'reset_checked', 1);
1106 $this->ctrl->setParameter($this,
'reset_checked',
'');
1118 global $ilPluginAdmin;
1120 require_once
'Modules/TestQuestionPool/classes/class.ilAssQuestionList.php';
1122 $questionList->setParentObjId($this->dynamicQuestionSetConfig->getSourceQuestionPoolId());
1125 return $questionList;
checkTestSessionUser(ilTestSession $testSession)
buildQuestionsTableDataArray($questions, $marked_questions)
filterQuestionSelectionCmd()
isLastQuestionInSequence($sequenceElement)
vd()
shortcut for var_dump with enhanced debug information
buildQuestionSetCompleteStatisticTableGUI()
removeIntermediateSolution()
remove an auto-saved solution of the current question
unfreezeCheckedQuestionsAnswersCmd()
isOptionalQuestionAnsweringConfirmationRequired($sequenceKey)
setAnswerChangedParameter($changed=true)
Set the 'answer changed' url parameter for generated links.
static getUsageOfObject($a_obj_id, $a_include_titles=false)
Get usage of object.
showQuestionEditable(assQuestionGUI $questionGui, $formAction, $isQuestionWorkedThrough, $instantResponse)
saveQuestionSolution($authorized=true, $force=false)
saves the user input of a question
isQuestionAnsweredCorrect($questionId, $activeId, $pass)
updateWorkingTime()
updates working time and stores state saveresult to see if question has to be stored or not ...
getNextCommandParameter()
showQuestionSelectionCmd()
handleUserSettings()
Handles some form parameters on starting and resuming a test.
Base Exception for all Exceptions relating to Modules/Test.
prepareTestPage($presentationMode, $sequenceElement, $questionId)
unregisterForcedFeedbackNavUrl()
populateInstantResponseBlocks(assQuestionGUI $questionGui, $authorizedSolution)
persistQuestionAnswerStatus()
static isQuestionObligatory($question_id)
checks wether the question with given id is marked as obligatory or not
ensureExistingTestSession(ilTestSession $testSession)
submitSolutionAndNextCmd()
resumePlayerCmd()
Resume a test at the last position.
isForcedFeedbackNavUrlRegistered()
handleQuestionActionCmd()
buildQuestionSetFilteredStatisticTableGUI()
getInstantResponseParameter()
getEnterTestButtonLangVar()
handleSkillTriggering(ilTestSession $testSession)
getRegisteredForcedFeedbackNavUrl()
static _getReachedPoints($active_id, $question_id, $pass=NULL)
Returns the points, a learner has reached answering the question.
populateQuestionNavigation($sequenceElement, $disabled, $primaryNext)
special template class to simplify handling of ITX/PEAR
const PRESENTATION_MODE_EDIT
saveNavigationPreventConfirmation()
Save the save the switch to prevent the navigation confirmation.
isShowingPostponeStatusReguired($questionId)
populateTestNavigationToolbar(ilTestNavigationToolbarGUI $toolbarGUI)
buildQuestionSetStatisticTableGUI($tableId)
outCurrentlyFinishedPage()
getAnswerChangedParameter()
Get the 'answer changed' status from the current request It may be set by ilTestPlayerNavigationContr...
const SHOW_QUESTION_SELECTION
getSequenceElementParameter()
Basic GUI class for assessment questions.
const PRESENTATION_MODE_VIEW
const SUBMIT_INTERMEDIATE_SOLUTION
Create styles array
The data for the language used.
outQuestionSummaryCmd($fullpage=true, $contextFinishTest=false, $obligationsNotAnswered=false, $obligationsFilter=false)
initProcessLocker($activeId)
isQuestionSummaryFinishTestButtonRequired()
const ANSWER_STATUS_FILTER_ALL_NON_CORRECT
answer status filter value domain
handlePasswordProtectionRedirect()
resetQuestionIdParameter()
registerForcedFeedbackNavUrl($forcedFeedbackNavUrl)
showQuestionViewable(assQuestionGUI $questionGui, $formAction, $isQuestionWorkedThrough, $instantResponse)
const QUESTION_ANSWER_STATUS_CORRECT_ANSWERED
populateNextButtons($disabled, $primaryNext)
populateMessageContent($contentHTML)
showMaximumAllowedUsersReachedMessage()
Create new PHPExcel object
obj_idprivate
resetSequenceElementParameter()
const QUESTION_ANSWER_STATUS_WRONG_ANSWERED
populateInstantResponseModal(assQuestionGUI $questionGui, $navUrl)
outProcessingTime($active_id)
showCheckedQuestionResettingConfirmation()
getNextSequenceParameter()
buildQuestionSetAnswerStatisticRowArray($questions, $trackedQuestions)
getNavigationUrlParameter()
buildFinishPagePassDeletionLink()
isFirstQuestionInSequence($sequenceElement)
getQuestionGuiInstance($questionId, $fromCache=true)
static initjQuery($a_tpl=null)
Init jQuery.
getQuestionInstance($questionId, $fromCache=true)
canSaveResult()
Returns TRUE if the answers of the current user could be saved.
$dynamicQuestionSetConfig
isCheckedQuestionResettingConfirmationRequired()
executeCommand()
execute command
handleTearsAndAngerQuestionIsNull($questionId, $sequenceElement)
getStartTestFromQuestionSelectionLink()
static redirect($a_script)
http redirect to other script
static _isWorkedThrough($active_id, $question_id, $pass=NULL)
Returns true if the question was worked through in the given pass Worked through means that the user ...
const CONTEXT_DYN_TEST_PLAYER
getTestNavigationToolbarGUI()
static initConnectionWithAnimation()
Init YUI Connection module.
const QUESTION_INSTANCE_TYPE_ORIGINALS
getResetCheckedParameter()
const QUESTION_ANSWER_STATUS_NON_ANSWERED
answer status domain for single questions
buildTestPassQuestionList()
isParticipantsAnswerFixed($questionId)
Output class for assessment test execution.
Confirmation screen class.
static initJavascript()
Init javascript.
resetQuestionSelectionCmd()