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()) {
76 $this->testSequence->setPreventCheckedQuestionsFromComingUpEnabled(
true);
79 include_once
'Services/jQuery/classes/class.iljQueryUtil.php';
81 include_once
"./Services/YUI/classes/class.ilYuiUtil.php";
83 if ($this->
object->getKioskMode()) {
84 include_once
'Services/UIComponent/Overlay/classes/class.ilOverlayGUI.php';
90 $cmd = $this->ctrl->getCmd();
91 $nextClass = $this->ctrl->getNextClass($this);
94 case 'ilassquestionpagegui':
96 $questionId = $this->testSession->getCurrentQuestionId();
98 require_once
"./Modules/TestQuestionPool/classes/class.ilAssQuestionPageGUI.php";
100 $ret = $this->ctrl->forwardCommand($page_gui);
103 case 'ilassquestionhintrequestgui':
105 $this->ctrl->saveParameter($this,
'pmode');
107 $questionGUI = $this->
object->createQuestionGUI(
109 $this->testSession->getCurrentQuestionId()
112 require_once
'Modules/TestQuestionPool/classes/class.ilAssQuestionHintTracking.php';
114 $questionGUI->object->getId(),
115 $this->testSession->getActiveId(),
116 $this->testSession->getPass()
119 require_once
'Modules/TestQuestionPool/classes/class.ilAssQuestionHintRequestGUI.php';
124 $questionHintTracking
130 $this->ctrl->forwardCommand($gui);
134 case 'ildynamicquestionsetstatistictablegui':
140 case 'iltestpasswordprotectiongui':
141 require_once
'Modules/Test/classes/class.ilTestPasswordProtectionGUI.php';
143 $ret = $this->ctrl->forwardCommand($gui);
149 $ret =&$this->$cmd();
161 return $this->testSession->getCurrentQuestionId();
169 if ($this->
object->checkMaximumAllowedUsers() ==
false) {
175 if ($this->dynamicQuestionSetConfig->isAnyQuestionFilterEnabled()) {
184 $this->testSession->setCurrentQuestionId(null);
186 $this->testSession->saveToDb();
188 $this->ctrl->setParameter($this,
'active_id', $this->testSession->getActiveId());
190 assQuestion::_updateTestPassResults($this->testSession->getActiveId(), $this->testSession->getPass(),
false, null, $this->
object->id);
192 $_SESSION[
'active_time_id'] = $this->
object->startWorkingTime(
193 $this->testSession->getActiveId(),
194 $this->testSession->getPass()
197 $this->ctrl->saveParameter($this,
'tst_javascript');
199 if ($this->dynamicQuestionSetConfig->isAnyQuestionFilterEnabled()) {
210 $this->testSequence->loadQuestions(
211 $this->dynamicQuestionSetConfig,
212 $this->testSession->getQuestionSetFilterSelection()
215 $this->testSequence->cleanupQuestions($this->testSession);
217 $this->testSequence->saveToDb();
219 require_once
'Services/UIComponent/Toolbar/classes/class.ilToolbarGUI.php';
222 require_once
'Services/UIComponent/Button/classes/class.ilLinkButton.php';
226 $button->setPrimary(
true);
227 $toolbarGUI->addButtonInstance($button);
229 if ($this->
object->getShowCancel()) {
231 $button->setUrl($this->ctrl->getLinkTarget(
235 $button->setCaption(
'cancel_test');
236 $toolbarGUI->addButtonInstance($button);
239 if ($this->
object->isPassDeletionAllowed()) {
240 require_once
'Modules/Test/classes/confirmations/class.ilTestPassDeletionConfirmationGUI.php';
242 $toolbarGUI->addButton(
243 $this->lng->txt(
'tst_dyn_test_pass_deletion_button'),
249 $this->testSequence->getFilteredQuestionsData(),
250 $this->testSequence->getTrackedQuestionList()
251 )); #
vd($filteredData);
253 $filteredTableGUI->setData($filteredData);
256 $this->testSequence->getCompleteQuestionsData(),
257 $this->testSequence->getTrackedQuestionList()
258 )); #
vd($completeData);
260 $completeTableGUI->setData($completeData);
262 $content = $this->ctrl->getHTML($toolbarGUI);
263 $content .= $this->ctrl->getHTML($filteredTableGUI);
264 $content .= $this->ctrl->getHTML($completeTableGUI);
266 $this->tpl->setVariable(
'TABLE_LIST_OF_QUESTIONS', $content);
268 if ($this->
object->getEnableProcessingTime()) {
276 $tableGUI->writeFilterToSession();
278 $taxFilterSelection =
array();
281 foreach ($tableGUI->getFilterItems() as $item) {
282 if (strpos($item->getPostVar(),
'tax_') !==
false) {
283 $taxId = substr($item->getPostVar(), strlen(
'tax_'));
284 $taxFilterSelection[$taxId] = $item->getValue();
285 } elseif ($item->getPostVar() ==
'question_answer_status') {
286 $answerStatusFilterSelection = $item->getValue();
290 $this->testSession->getQuestionSetFilterSelection()->setTaxonomySelection($taxFilterSelection);
291 $this->testSession->getQuestionSetFilterSelection()->setAnswerStatusSelection($answerStatusFilterSelection);
292 $this->testSession->saveToDb();
294 $this->testSequence->resetTrackedQuestionList();
295 $this->testSequence->saveToDb();
304 $tableGUI->resetFilter();
306 $this->testSession->getQuestionSetFilterSelection()->setTaxonomySelection(
array());
307 $this->testSession->getQuestionSetFilterSelection()->setAnswerStatusSelection(null);
308 $this->testSession->saveToDb();
310 $this->testSequence->resetTrackedQuestionList();
311 $this->testSequence->saveToDb();
330 $this->testSession->getActiveId(),
331 $this->testSession->getCurrentQuestionId(),
332 $this->testSession->getPass()
335 if (!$isWorkedThrough) {
336 $this->testSequence->setQuestionPostponed($this->testSession->getCurrentQuestionId());
337 $this->testSequence->saveToDb();
348 $this->
object->setQuestionSetSolved(1, $this->testSession->getCurrentQuestionId(), $ilUser->getId());
356 $this->
object->setQuestionSetSolved(0, $this->testSession->getCurrentQuestionId(), $ilUser->getId());
369 if ($this->
object->isForceInstantFeedbackEnabled()) {
374 $questionId = $this->testSession->getCurrentQuestionId();
377 $this->testSession->getActiveId(),
378 $this->testSession->getPass()
383 $this->ctrl->setParameter($this,
'pmode',
'');
394 $questionId = $this->testSession->getCurrentQuestionId();
397 $this->testSession->getActiveId(),
398 $this->testSession->getPass()
403 if ($this->
object->isForceInstantFeedbackEnabled()) {
404 $this->ctrl->setParameter($this,
'instresp', 1);
406 $this->testSequence->unsetQuestionPostponed($questionId);
407 $this->testSequence->setQuestionChecked($questionId);
408 $this->testSequence->saveToDb();
414 $this->ctrl->setParameter($this,
'pmode',
'');
433 $this->ctrl->saveParameter($this,
'sequence');
441 $questionId = $this->testSession->getCurrentQuestionId();
445 $currentQuestionOBJ->resetUsersAnswer(
446 $this->testSession->getActiveId(),
447 $this->testSession->getPass()
466 if ($this->testSession->getQuestionSetFilterSelection()->isAnswerStatusSelectionWrongAnswered()) {
467 $this->testSequence->loadQuestions(
468 $this->dynamicQuestionSetConfig,
469 $this->testSession->getQuestionSetFilterSelection()
472 if ($this->testSequence->hasFilteredQuestionListCheckedQuestions()) {
484 $this->testSequence->loadQuestions(
485 $this->dynamicQuestionSetConfig,
486 $this->testSession->getQuestionSetFilterSelection()
489 $this->testSequence->cleanupQuestions($this->testSession);
496 if ($this->testSequence->getQuestionSet()->getSelectionQuestionList()->isInList($this->
getQuestionIdParameter())) {
502 if (!$this->testSession->getCurrentQuestionId()) {
503 $upComingQuestionId = $this->testSequence->getUpcomingQuestionId();
505 $this->testSession->setCurrentQuestionId($upComingQuestionId);
515 $navigationToolbarGUI->setQuestionSelectionButtonEnabled(
true);
517 if ($this->testSession->getCurrentQuestionId()) {
519 $this->testSequence->setCurrentQuestionId($this->testSession->getCurrentQuestionId());
521 $questionGui->setQuestionCount(
522 $this->testSequence->getLastPositionIndex()
524 $questionGui->setSequenceNumber(
525 $this->testSequence->getCurrentPositionIndex($this->testSession->getCurrentQuestionId())
530 $this->testSession->getCurrentQuestionId(),
531 $this->testSession->getCurrentQuestionId()
536 $this->testSession->getActiveId(),
537 $this->testSession->getCurrentQuestionId(),
538 $this->testSession->getPass()
541 require_once
'Modules/Test/classes/class.ilTestQuestionHeaderBlockBuilder.php';
543 $headerBlockBuilder->setHeaderMode(
545 $this->
object->getTitleOutput() == 2 ? 1 : $this->
object->getTitleOutput()
547 $headerBlockBuilder->setQuestionTitle($questionGui->object->getTitle());
548 $headerBlockBuilder->setQuestionPoints($questionGui->object->getPoints());
555 $headerBlockBuilder->setQuestionPostponed(
556 $this->testSequence->isPostponedQuestion(
557 $this->testSession->getCurrentQuestionId()
560 $headerBlockBuilder->setQuestionObligatory(
563 $questionGui->setQuestionHeaderBlockBuilder($headerBlockBuilder);
567 $instantResponse =
true;
577 $this->testSession->getCurrentQuestionId(),
578 $this->testSession->getCurrentQuestionId()
581 $this->ctrl->setParameter($this,
'sequence', $this->testSession->getCurrentQuestionId());
582 $this->ctrl->setParameter($this,
'pmode', $presentationMode);
585 switch ($presentationMode) {
589 $navigationToolbarGUI->setDisabledStateEnabled(
false);
591 $this->
showQuestionEditable($questionGui, $formAction, $isQuestionWorkedThrough, $instantResponse);
597 $this->
showQuestionViewable($questionGui, $formAction, $isQuestionWorkedThrough, $instantResponse);
603 require_once
'Modules/Test/exceptions/class.ilTestException.php';
607 $navigationToolbarGUI->build();
612 $this->testSession->getCurrentQuestionId(),
614 $this->
object->isForceInstantFeedbackEnabled()
618 if ($instantResponse) {
625 $this->testSession->getQuestionSetFilterSelection()->setForcedQuestionIds(
array());
637 $navigationToolbarGUI->build();
643 $this->testSequence->saveToDb();
644 $this->testSession->saveToDb();
649 $questionId = $this->testSession->getCurrentQuestionId();
651 $filterSelection = $this->testSession->getQuestionSetFilterSelection();
653 $filterSelection->setForcedQuestionIds(
array($this->testSession->getCurrentQuestionId()));
655 $this->testSequence->loadQuestions($this->dynamicQuestionSetConfig, $filterSelection);
656 $this->testSequence->cleanupQuestions($this->testSession);
657 $this->testSequence->saveToDb();
667 $this->testSequence->unsetQuestionPostponed($questionId);
668 $this->testSequence->setQuestionChecked($questionId);
669 $this->testSequence->saveToDb();
672 $this->ctrl->setParameter(
675 $this->testSession->getCurrentQuestionId()
678 $this->ctrl->setParameter($this,
'instresp', 1);
691 $questionId = $this->testSession->getCurrentQuestionId();
700 $this->ctrl->setParameter(
703 $this->testSession->getCurrentQuestionId()
706 $this->ctrl->saveParameter($this,
'pmode');
713 if ($this->testSequence->openQuestionExists()) {
714 $message = $this->lng->txt(
'tst_dyn_test_msg_currently_finished_selection');
716 $message = $this->lng->txt(
'tst_dyn_test_msg_currently_finished_completely');
717 $message .=
"<br /><br />{$this->buildFinishPagePassDeletionLink()}";
720 $msgHtml = $this->tpl->getMessageHTML(
$message);
722 $tpl =
new ilTemplate(
'tpl.test_currently_finished_msg.html',
true,
true,
'Modules/Test');
723 $tpl->setVariable(
'TEST_CURRENTLY_FINISHED_MSG', $msgHtml);
725 $this->tpl->setVariable(
'QUESTION_OUTPUT',
$tpl->get());
730 return !$this->testSequence->trackedQuestionExists();
745 return !$this->
object->endingTimeReached();
755 $formtimestamp =
$_POST[
"formtimestamp"];
756 if (strlen($formtimestamp) == 0) {
757 $formtimestamp =
$_GET[
"formtimestamp"];
759 if ($formtimestamp !=
$_SESSION[
"formtimestamp"]) {
760 $_SESSION[
"formtimestamp"] = $formtimestamp;
768 $qId = $this->testSession->getCurrentQuestionId();
770 if (!$qId || $qId !=
$_GET[
"sequence"]) {
776 $this->saveResult =
false;
779 $questionGUI = $this->
object->createQuestionGUI(
"", $qId);
781 if ($this->
object->getJavaScriptOutput()) {
785 $activeId = $this->testSession->getActiveId();
787 $this->saveResult = $questionGUI->object->persistWorkingState(
790 $this->
object->areObligationsEnabled(),
794 if ($authorized && $this->
object->isSkillServiceToBeConsidered()) {
799 if ($this->saveResult ==
false) {
800 $this->ctrl->setParameter($this,
"save_error",
"1");
809 $questionGUI = $this->
object->createQuestionGUI(
"", $questionId);
812 $maxPoints = $questionGUI->object->getMaximumPoints();
814 if ($reachedPoints < $maxPoints) {
825 foreach ($questions as
$key => $value) {
826 $this->ctrl->setParameter($this,
'sequence', $value[
'question_id']);
827 $href = $this->ctrl->getLinkTarget($this,
'gotoQuestion');
828 $this->ctrl->setParameter($this,
'sequence',
'');
831 if ($this->
object->getListOfQuestionsDescription()) {
836 if (count($marked_questions)) {
837 if (isset($marked_questions[$value[
"question_id"]])) {
838 if ($marked_questions[$value[
"question_id"]][
"solved"] == 1) {
846 'title' => $this->
object->getQuestionTitle($value[
"title"]),
848 'worked_through' => $this->testSequence->isAnsweredQuestion($value[
"question_id"]),
849 'postponed' => $this->testSequence->isPostponedQuestion($value[
"question_id"]),
859 $questionAnswerStats =
array(
860 'total_all' => count($questions),
862 'non_answered_notseen' => 0,
863 'non_answered_skipped' => 0,
864 'wrong_answered' => 0,
865 'correct_answered' => 0
868 foreach ($questions as
$key => $value) {
869 switch ($value[
'question_answer_status']) {
871 if (isset($trackedQuestions[
$key])) {
872 $questionAnswerStats[
'non_answered_skipped']++;
874 $questionAnswerStats[
'non_answered_notseen']++;
876 $questionAnswerStats[
'total_open']++;
879 $questionAnswerStats[
'wrong_answered']++;
880 $questionAnswerStats[
'total_open']++;
883 $questionAnswerStats[
'correct_answered']++;
888 return $questionAnswerStats;
893 require_once
'Modules/Test/classes/tables/class.ilTestDynamicQuestionSetStatisticTableGUI.php';
898 $gui->initTitle(
'tst_dynamic_question_set_complete');
899 $gui->initColumns(
'tst_num_all_questions');
906 require_once
'Modules/Test/classes/tables/class.ilTestDynamicQuestionSetStatisticTableGUI.php';
911 $gui->initTitle(
'tst_dynamic_question_set_selection');
912 $gui->initColumns(
'tst_num_selected_questions');
914 require_once
'Services/Taxonomy/classes/class.ilObjTaxonomy.php';
916 $this->dynamicQuestionSetConfig->getSourceQuestionPoolId()
919 $gui->setTaxonomyFilterEnabled($this->dynamicQuestionSetConfig->isTaxonomyFilterEnabled());
920 $gui->setAnswerStatusFilterEnabled($this->dynamicQuestionSetConfig->isAnswerStatusFilterEnabled());
922 $gui->setFilterSelection($this->testSession->getQuestionSetFilterSelection());
924 $gui->setFilterCommand(
'filterQuestionSelection');
925 $gui->setResetCommand(
'resetQuestionSelection');
932 require_once
'Modules/Test/classes/tables/class.ilTestDynamicQuestionSetStatisticTableGUI.php';
946 if ($this->testSequence->trackedQuestionExists()) {
947 return 'tst_resume_dyn_test_with_cur_quest_sel';
950 return 'tst_start_dyn_test_with_cur_quest_sel';
955 $questionId = $this->testSession->getCurrentQuestionId();
956 $activeId = $this->testSession->getActiveId();
957 $pass = $this->testSession->getPass();
960 $this->testSequence->setQuestionAnsweredCorrect($questionId);
962 $this->testSequence->setQuestionAnsweredWrong($questionId);
965 $this->testSequence->saveToDb();
970 $this->testSession->setCurrentQuestionId(null);
971 $this->testSession->saveToDb();
973 $this->ctrl->setParameter($this,
'sequence', $this->testSession->getCurrentQuestionId());
974 $this->ctrl->setParameter($this,
'pmode',
'');
984 $label = $this->lng->txt(
'tst_dyn_test_msg_pass_deletion_link');
986 return "<a href=\"{$href}\">{$label}</a>";
994 require_once
'Modules/Test/classes/confirmations/class.ilTestPassDeletionConfirmationGUI.php';
997 $this->ctrl->setParameterByClass(
'ilTestEvaluationGUI',
'active_id', $this->testSession->getActiveId());
998 $this->ctrl->setParameterByClass(
'ilTestEvaluationGUI',
'pass', $this->testSession->getPass());
1000 return $this->ctrl->getLinkTargetByClass(
'ilTestEvaluationGUI',
'confirmDeletePass');
1015 if (isset(
$_GET[
'reset_checked'])) {
1016 return $_GET[
'reset_checked'];
1022 public function outQuestionSummaryCmd($fullpage =
true, $contextFinishTest =
false, $obligationsNotAnswered =
false, $obligationsFilter =
false)
1024 $this->testSequence->loadQuestions(
1025 $this->dynamicQuestionSetConfig,
1026 $this->testSession->getQuestionSetFilterSelection()
1029 $this->testSequence->setCurrentQuestionId($this->testSession->getCurrentQuestionId());
1031 parent::outQuestionSummaryCmd($fullpage, $contextFinishTest, $obligationsNotAnswered, $obligationsFilter);
1036 require_once
'Services/Utilities/classes/class.ilConfirmationGUI.php';
1038 $confirmation->setFormAction($this->ctrl->getFormAction($this));
1039 $confirmation->setHeaderText($this->lng->txt(
'tst_dyn_unfreeze_answers_confirmation'));
1048 $this->testSequence->loadQuestions(
1049 $this->dynamicQuestionSetConfig,
1050 $this->testSession->getQuestionSetFilterSelection()
1053 $this->testSequence->resetFilteredQuestionListsCheckedStatus();
1054 $this->testSequence->saveToDb();
1068 $this->ctrl->setParameter($this,
'reset_checked', 1);
1070 $this->ctrl->setParameter($this,
'reset_checked',
'');
1082 global $ilPluginAdmin;
1084 require_once
'Modules/TestQuestionPool/classes/class.ilAssQuestionList.php';
1086 $questionList->setParentObjId($this->dynamicQuestionSetConfig->getSourceQuestionPoolId());
1089 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
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)
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()