4 require_once
'Modules/Test/classes/class.ilTestPlayerAbstractGUI.php';
54 $ilPluginAdmin = $DIC[
'ilPluginAdmin'];
55 $ilTabs = $DIC[
'ilTabs'];
58 $ilTabs->clearTargets();
60 $this->ctrl->saveParameter($this,
"sequence");
61 $this->ctrl->saveParameter($this,
"active_id");
65 require_once
'Modules/Test/classes/class.ilObjTestDynamicQuestionSetConfig.php';
67 $this->dynamicQuestionSetConfig->loadFromDb();
77 $this->testSequence = $testSequenceFactory->getSequenceByTestSession($this->testSession);
78 $this->testSequence->loadFromDb();
80 if ($this->object->isInstantFeedbackAnswerFixationEnabled()) {
81 $this->testSequence->setPreventCheckedQuestionsFromComingUpEnabled(
true);
84 include_once
'Services/jQuery/classes/class.iljQueryUtil.php';
86 include_once
"./Services/YUI/classes/class.ilYuiUtil.php";
88 if ($this->object->getKioskMode()) {
89 include_once
'Services/UIComponent/Overlay/classes/class.ilOverlayGUI.php';
95 $cmd = $this->ctrl->getCmd();
96 $nextClass = $this->ctrl->getNextClass($this);
99 case 'ilassquestionpagegui':
101 $questionId = $this->testSession->getCurrentQuestionId();
103 require_once
"./Modules/TestQuestionPool/classes/class.ilAssQuestionPageGUI.php";
105 $ret = $this->ctrl->forwardCommand($page_gui);
108 case 'ilassquestionhintrequestgui':
110 $this->ctrl->saveParameter($this,
'pmode');
112 $questionGUI = $this->
object->createQuestionGUI(
114 $this->testSession->getCurrentQuestionId()
117 require_once
'Modules/TestQuestionPool/classes/class.ilAssQuestionHintTracking.php';
119 $questionGUI->object->getId(),
120 $this->testSession->getActiveId(),
121 $this->testSession->getPass()
124 require_once
'Modules/TestQuestionPool/classes/class.ilAssQuestionHintRequestGUI.php';
129 $questionHintTracking
135 $this->ctrl->forwardCommand($gui);
139 case 'ildynamicquestionsetstatistictablegui':
145 case 'iltestpasswordprotectiongui':
146 require_once
'Modules/Test/classes/class.ilTestPasswordProtectionGUI.php';
148 $ret = $this->ctrl->forwardCommand($gui);
154 $ret = &$this->$cmd();
166 return $this->testSession->getCurrentQuestionId();
174 if ($this->object->checkMaximumAllowedUsers() ==
false) {
180 if ($this->dynamicQuestionSetConfig->isAnyQuestionFilterEnabled()) {
189 $this->testSession->setCurrentQuestionId(null);
191 $this->testSession->saveToDb();
193 $this->ctrl->setParameter($this,
'active_id', $this->testSession->getActiveId());
195 assQuestion::_updateTestPassResults($this->testSession->getActiveId(), $this->testSession->getPass(),
false, null, $this->
object->id);
197 $_SESSION[
'active_time_id'] = $this->
object->startWorkingTime(
198 $this->testSession->getActiveId(),
199 $this->testSession->getPass()
202 $this->ctrl->saveParameter($this,
'tst_javascript');
204 if ($this->dynamicQuestionSetConfig->isAnyQuestionFilterEnabled()) {
215 $this->testSequence->loadQuestions(
216 $this->dynamicQuestionSetConfig,
217 $this->testSession->getQuestionSetFilterSelection()
220 $this->testSequence->cleanupQuestions($this->testSession);
222 $this->testSequence->saveToDb();
224 require_once
'Services/UIComponent/Toolbar/classes/class.ilToolbarGUI.php';
227 require_once
'Services/UIComponent/Button/classes/class.ilLinkButton.php';
231 $button->setPrimary(
true);
232 $toolbarGUI->addButtonInstance($button);
234 if ($this->object->getShowCancel()) {
236 $button->setUrl($this->ctrl->getLinkTarget(
240 $button->setCaption(
'cancel_test');
241 $toolbarGUI->addButtonInstance($button);
244 if ($this->object->isPassDeletionAllowed()) {
245 require_once
'Modules/Test/classes/confirmations/class.ilTestPassDeletionConfirmationGUI.php';
247 $toolbarGUI->addButton(
248 $this->lng->txt(
'tst_dyn_test_pass_deletion_button'),
254 $this->testSequence->getFilteredQuestionsData(),
255 $this->testSequence->getTrackedQuestionList()
256 )); #
vd($filteredData);
258 $filteredTableGUI->setData($filteredData);
261 $this->testSequence->getCompleteQuestionsData(),
262 $this->testSequence->getTrackedQuestionList()
263 )); #
vd($completeData);
265 $completeTableGUI->setData($completeData);
267 $content = $this->ctrl->getHTML($toolbarGUI);
268 $content .= $this->ctrl->getHTML($filteredTableGUI);
269 $content .= $this->ctrl->getHTML($completeTableGUI);
271 $this->tpl->setVariable(
'TABLE_LIST_OF_QUESTIONS', $content);
273 if ($this->object->getEnableProcessingTime()) {
281 $tableGUI->writeFilterToSession();
283 $taxFilterSelection = array();
286 foreach ($tableGUI->getFilterItems() as $item) {
287 if (strpos($item->getPostVar(),
'tax_') !==
false) {
288 $taxId = substr($item->getPostVar(), strlen(
'tax_'));
289 $taxFilterSelection[$taxId] = $item->getValue();
290 } elseif ($item->getPostVar() ==
'question_answer_status') {
291 $answerStatusFilterSelection = $item->getValue();
295 $this->testSession->getQuestionSetFilterSelection()->setTaxonomySelection($taxFilterSelection);
296 $this->testSession->getQuestionSetFilterSelection()->setAnswerStatusSelection($answerStatusFilterSelection);
297 $this->testSession->saveToDb();
299 $this->testSequence->resetTrackedQuestionList();
300 $this->testSequence->saveToDb();
309 $tableGUI->resetFilter();
311 $this->testSession->getQuestionSetFilterSelection()->setTaxonomySelection(array());
312 $this->testSession->getQuestionSetFilterSelection()->setAnswerStatusSelection(null);
313 $this->testSession->saveToDb();
315 $this->testSequence->resetTrackedQuestionList();
316 $this->testSequence->saveToDb();
335 $this->testSession->getActiveId(),
336 $this->testSession->getCurrentQuestionId(),
337 $this->testSession->getPass()
340 if (!$isWorkedThrough) {
341 $this->testSequence->setQuestionPostponed($this->testSession->getCurrentQuestionId());
342 $this->testSequence->saveToDb();
354 $this->
object->setQuestionSetSolved(1, $this->testSession->getCurrentQuestionId(),
$ilUser->getId());
363 $this->
object->setQuestionSetSolved(0, $this->testSession->getCurrentQuestionId(),
$ilUser->getId());
376 if ($this->object->isForceInstantFeedbackEnabled()) {
381 $questionId = $this->testSession->getCurrentQuestionId();
384 $this->testSession->getActiveId(),
385 $this->testSession->getPass()
390 $this->ctrl->setParameter($this,
'pmode',
'');
401 $questionId = $this->testSession->getCurrentQuestionId();
404 $this->testSession->getActiveId(),
405 $this->testSession->getPass()
410 if ($this->object->isForceInstantFeedbackEnabled()) {
411 $this->ctrl->setParameter($this,
'instresp', 1);
413 $this->testSequence->unsetQuestionPostponed($questionId);
414 $this->testSequence->setQuestionChecked($questionId);
415 $this->testSequence->saveToDb();
421 $this->ctrl->setParameter($this,
'pmode',
'');
440 $this->ctrl->saveParameter($this,
'sequence');
448 $questionId = $this->testSession->getCurrentQuestionId();
452 $currentQuestionOBJ->resetUsersAnswer(
453 $this->testSession->getActiveId(),
454 $this->testSession->getPass()
473 if ($this->testSession->getQuestionSetFilterSelection()->isAnswerStatusSelectionWrongAnswered()) {
474 $this->testSequence->loadQuestions(
475 $this->dynamicQuestionSetConfig,
476 $this->testSession->getQuestionSetFilterSelection()
479 if ($this->testSequence->hasFilteredQuestionListCheckedQuestions()) {
491 $this->testSequence->loadQuestions(
492 $this->dynamicQuestionSetConfig,
493 $this->testSession->getQuestionSetFilterSelection()
496 $this->testSequence->cleanupQuestions($this->testSession);
503 if ($this->testSequence->getQuestionSet()->getSelectionQuestionList()->isInList($this->
getQuestionIdParameter())) {
509 if (!$this->testSession->getCurrentQuestionId()) {
510 $upComingQuestionId = $this->testSequence->getUpcomingQuestionId();
512 $this->testSession->setCurrentQuestionId($upComingQuestionId);
522 $navigationToolbarGUI->setQuestionSelectionButtonEnabled(
true);
524 if ($this->testSession->getCurrentQuestionId()) {
526 $this->testSequence->setCurrentQuestionId($this->testSession->getCurrentQuestionId());
528 $questionGui->setQuestionCount(
529 $this->testSequence->getLastPositionIndex()
531 $questionGui->setSequenceNumber(
532 $this->testSequence->getCurrentPositionIndex($this->testSession->getCurrentQuestionId())
537 $this->testSession->getCurrentQuestionId(),
538 $this->testSession->getCurrentQuestionId()
543 $this->testSession->getActiveId(),
544 $this->testSession->getCurrentQuestionId(),
545 $this->testSession->getPass()
548 require_once
'Modules/Test/classes/class.ilTestQuestionHeaderBlockBuilder.php';
550 $headerBlockBuilder->setHeaderMode(
552 $this->object->getTitleOutput() == 2 ? 1 : $this->
object->getTitleOutput()
554 $headerBlockBuilder->setQuestionTitle($questionGui->object->getTitle());
555 $headerBlockBuilder->setQuestionPoints($questionGui->object->getPoints());
562 $headerBlockBuilder->setQuestionPostponed(
563 $this->testSequence->isPostponedQuestion(
564 $this->testSession->getCurrentQuestionId()
567 $headerBlockBuilder->setQuestionObligatory(
570 $questionGui->setQuestionHeaderBlockBuilder($headerBlockBuilder);
574 $instantResponse =
true;
584 $this->testSession->getCurrentQuestionId(),
585 $this->testSession->getCurrentQuestionId()
588 $this->ctrl->setParameter($this,
'sequence', $this->testSession->getCurrentQuestionId());
589 $this->ctrl->setParameter($this,
'pmode', $presentationMode);
592 switch ($presentationMode) {
596 $navigationToolbarGUI->setDisabledStateEnabled(
false);
598 $this->
showQuestionEditable($questionGui, $formAction, $isQuestionWorkedThrough, $instantResponse);
604 $this->
showQuestionViewable($questionGui, $formAction, $isQuestionWorkedThrough, $instantResponse);
610 require_once
'Modules/Test/exceptions/class.ilTestException.php';
614 $navigationToolbarGUI->build();
619 $this->testSession->getCurrentQuestionId(),
621 $this->
object->isForceInstantFeedbackEnabled()
625 if ($instantResponse) {
632 $this->testSession->getQuestionSetFilterSelection()->setForcedQuestionIds(array());
644 $navigationToolbarGUI->build();
650 $this->testSequence->saveToDb();
651 $this->testSession->saveToDb();
656 $questionId = $this->testSession->getCurrentQuestionId();
658 $filterSelection = $this->testSession->getQuestionSetFilterSelection();
660 $filterSelection->setForcedQuestionIds(array($this->testSession->getCurrentQuestionId()));
662 $this->testSequence->loadQuestions($this->dynamicQuestionSetConfig, $filterSelection);
663 $this->testSequence->cleanupQuestions($this->testSession);
664 $this->testSequence->saveToDb();
674 $this->testSequence->unsetQuestionPostponed($questionId);
675 $this->testSequence->setQuestionChecked($questionId);
676 $this->testSequence->saveToDb();
679 $this->ctrl->setParameter(
682 $this->testSession->getCurrentQuestionId()
685 $this->ctrl->setParameter($this,
'instresp', 1);
698 $questionId = $this->testSession->getCurrentQuestionId();
707 $this->ctrl->setParameter(
710 $this->testSession->getCurrentQuestionId()
713 $this->ctrl->saveParameter($this,
'pmode');
720 if ($this->testSequence->openQuestionExists()) {
721 $message = $this->lng->txt(
'tst_dyn_test_msg_currently_finished_selection');
723 $message = $this->lng->txt(
'tst_dyn_test_msg_currently_finished_completely');
724 $message .=
"<br /><br />{$this->buildFinishPagePassDeletionLink()}";
727 $msgHtml = $this->tpl->getMessageHTML(
$message);
729 $tpl =
new ilTemplate(
'tpl.test_currently_finished_msg.html',
true,
true,
'Modules/Test');
730 $tpl->setVariable(
'TEST_CURRENTLY_FINISHED_MSG', $msgHtml);
732 $this->tpl->setVariable(
'QUESTION_OUTPUT',
$tpl->get());
737 return !$this->testSequence->trackedQuestionExists();
752 return !$this->
object->endingTimeReached();
762 $formtimestamp =
$_POST[
"formtimestamp"];
763 if (strlen($formtimestamp) == 0) {
764 $formtimestamp =
$_GET[
"formtimestamp"];
766 if ($formtimestamp !=
$_SESSION[
"formtimestamp"]) {
767 $_SESSION[
"formtimestamp"] = $formtimestamp;
775 $qId = $this->testSession->getCurrentQuestionId();
777 if (!$qId || $qId !=
$_GET[
"sequence"]) {
783 $this->saveResult =
false;
786 $questionGUI = $this->
object->createQuestionGUI(
"", $qId);
788 if ($this->object->getJavaScriptOutput()) {
792 $activeId = $this->testSession->getActiveId();
794 $this->saveResult = $questionGUI->object->persistWorkingState(
797 $this->object->areObligationsEnabled(),
801 if ($authorized && $this->object->isSkillServiceToBeConsidered()) {
806 if ($this->saveResult ==
false) {
807 $this->ctrl->setParameter($this,
"save_error",
"1");
816 $questionGUI = $this->
object->createQuestionGUI(
"", $questionId);
819 $maxPoints = $questionGUI->object->getMaximumPoints();
821 if ($reachedPoints < $maxPoints) {
832 foreach ($questions as
$key => $value) {
833 $this->ctrl->setParameter($this,
'sequence', $value[
'question_id']);
834 $href = $this->ctrl->getLinkTarget($this,
'gotoQuestion');
835 $this->ctrl->setParameter($this,
'sequence',
'');
838 if ($this->object->getListOfQuestionsDescription()) {
843 if (count($marked_questions)) {
844 if (isset($marked_questions[$value[
"question_id"]])) {
845 if ($marked_questions[$value[
"question_id"]][
"solved"] == 1) {
851 array_push(
$data, array(
853 'title' => $this->object->getQuestionTitle($value[
"title"]),
855 'worked_through' => $this->testSequence->isAnsweredQuestion($value[
"question_id"]),
856 'postponed' => $this->testSequence->isPostponedQuestion($value[
"question_id"]),
866 $questionAnswerStats = array(
867 'total_all' => count($questions),
869 'non_answered_notseen' => 0,
870 'non_answered_skipped' => 0,
871 'wrong_answered' => 0,
872 'correct_answered' => 0
875 foreach ($questions as
$key => $value) {
876 switch ($value[
'question_answer_status']) {
878 if (isset($trackedQuestions[
$key])) {
879 $questionAnswerStats[
'non_answered_skipped']++;
881 $questionAnswerStats[
'non_answered_notseen']++;
883 $questionAnswerStats[
'total_open']++;
886 $questionAnswerStats[
'wrong_answered']++;
887 $questionAnswerStats[
'total_open']++;
890 $questionAnswerStats[
'correct_answered']++;
895 return $questionAnswerStats;
900 require_once
'Modules/Test/classes/tables/class.ilTestDynamicQuestionSetStatisticTableGUI.php';
905 $gui->initTitle(
'tst_dynamic_question_set_complete');
906 $gui->initColumns(
'tst_num_all_questions');
913 require_once
'Modules/Test/classes/tables/class.ilTestDynamicQuestionSetStatisticTableGUI.php';
918 $gui->initTitle(
'tst_dynamic_question_set_selection');
919 $gui->initColumns(
'tst_num_selected_questions');
921 require_once
'Services/Taxonomy/classes/class.ilObjTaxonomy.php';
923 $this->dynamicQuestionSetConfig->getSourceQuestionPoolId()
926 $gui->setTaxonomyFilterEnabled($this->dynamicQuestionSetConfig->isTaxonomyFilterEnabled());
927 $gui->setAnswerStatusFilterEnabled($this->dynamicQuestionSetConfig->isAnswerStatusFilterEnabled());
929 $gui->setFilterSelection($this->testSession->getQuestionSetFilterSelection());
931 $gui->setFilterCommand(
'filterQuestionSelection');
932 $gui->setResetCommand(
'resetQuestionSelection');
939 require_once
'Modules/Test/classes/tables/class.ilTestDynamicQuestionSetStatisticTableGUI.php';
953 if ($this->testSequence->trackedQuestionExists()) {
954 return 'tst_resume_dyn_test_with_cur_quest_sel';
957 return 'tst_start_dyn_test_with_cur_quest_sel';
962 $questionId = $this->testSession->getCurrentQuestionId();
963 $activeId = $this->testSession->getActiveId();
964 $pass = $this->testSession->getPass();
967 $this->testSequence->setQuestionAnsweredCorrect($questionId);
969 $this->testSequence->setQuestionAnsweredWrong($questionId);
972 $this->testSequence->saveToDb();
977 $this->testSession->setCurrentQuestionId(null);
978 $this->testSession->saveToDb();
980 $this->ctrl->setParameter($this,
'sequence', $this->testSession->getCurrentQuestionId());
981 $this->ctrl->setParameter($this,
'pmode',
'');
991 $label = $this->lng->txt(
'tst_dyn_test_msg_pass_deletion_link');
993 return "<a href=\"{$href}\">{$label}</a>";
1001 require_once
'Modules/Test/classes/confirmations/class.ilTestPassDeletionConfirmationGUI.php';
1004 $this->ctrl->setParameterByClass(
'ilTestEvaluationGUI',
'active_id', $this->testSession->getActiveId());
1005 $this->ctrl->setParameterByClass(
'ilTestEvaluationGUI',
'pass', $this->testSession->getPass());
1007 return $this->ctrl->getLinkTargetByClass(
'ilTestEvaluationGUI',
'confirmDeletePass');
1022 if (isset(
$_GET[
'reset_checked'])) {
1023 return $_GET[
'reset_checked'];
1029 public function outQuestionSummaryCmd($fullpage =
true, $contextFinishTest =
false, $obligationsNotAnswered =
false, $obligationsFilter =
false)
1031 $this->testSequence->loadQuestions(
1032 $this->dynamicQuestionSetConfig,
1033 $this->testSession->getQuestionSetFilterSelection()
1036 $this->testSequence->setCurrentQuestionId($this->testSession->getCurrentQuestionId());
1038 parent::outQuestionSummaryCmd($fullpage, $contextFinishTest, $obligationsNotAnswered, $obligationsFilter);
1043 require_once
'Services/Utilities/classes/class.ilConfirmationGUI.php';
1045 $confirmation->setFormAction($this->ctrl->getFormAction($this));
1046 $confirmation->setHeaderText($this->lng->txt(
'tst_dyn_unfreeze_answers_confirmation'));
1055 $this->testSequence->loadQuestions(
1056 $this->dynamicQuestionSetConfig,
1057 $this->testSession->getQuestionSetFilterSelection()
1060 $this->testSequence->resetFilteredQuestionListsCheckedStatus();
1061 $this->testSequence->saveToDb();
1075 $this->ctrl->setParameter($this,
'reset_checked', 1);
1077 $this->ctrl->setParameter($this,
'reset_checked',
'');
1090 $ilPluginAdmin = $DIC[
'ilPluginAdmin'];
1092 require_once
'Modules/TestQuestionPool/classes/class.ilAssQuestionList.php';
1094 $questionList->setParentObjId($this->dynamicQuestionSetConfig->getSourceQuestionPoolId());
1097 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()
catch(Exception $e) $message
handleQuestionActionCmd()
buildQuestionSetFilteredStatisticTableGUI()
getInstantResponseParameter()
getEnterTestButtonLangVar()
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 ...
handleSkillTriggering(ilTestSession $testSession)
getRegisteredForcedFeedbackNavUrl()
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
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()
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)
inits and adds the jQuery JS-File to the global or a passed template
getQuestionInstance($questionId, $fromCache=true)
canSaveResult()
Returns TRUE if the answers of the current user could be saved.
$dynamicQuestionSetConfig
isCheckedQuestionResettingConfirmationRequired()
executeCommand()
execute command
static _getReachedPoints($active_id, $question_id, $pass=null)
Returns the points, a learner has reached answering the question.
handleTearsAndAngerQuestionIsNull($questionId, $sequenceElement)
getStartTestFromQuestionSelectionLink()
static redirect($a_script)
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()