4require_once
'Modules/Test/classes/class.ilTestPlayerAbstractGUI.php';
54 $ilPluginAdmin =
$DIC[
'ilPluginAdmin'];
55 $ilTabs =
$DIC[
'ilTabs'];
59 $ilTabs->clearTargets();
61 $this->ctrl->saveParameter($this,
"sequence");
62 $this->ctrl->saveParameter($this,
"active_id");
66 $DIC->globalScreen()->tool()->context()->current()->addAdditionalData(
68 $this->object->getKioskMode()
71 require_once
'Modules/Test/classes/class.ilObjTestDynamicQuestionSetConfig.php';
73 $this->dynamicQuestionSetConfig->loadFromDb();
84 $this->testSequence->loadFromDb();
86 if ($this->object->isInstantFeedbackAnswerFixationEnabled()) {
87 $this->testSequence->setPreventCheckedQuestionsFromComingUpEnabled(
true);
90 include_once
'Services/jQuery/classes/class.iljQueryUtil.php';
92 include_once
"./Services/YUI/classes/class.ilYuiUtil.php";
94 if ($this->object->getKioskMode()) {
95 include_once
'Services/UIComponent/Overlay/classes/class.ilOverlayGUI.php';
101 $cmd = $this->ctrl->getCmd();
102 $nextClass = $this->ctrl->getNextClass($this);
104 switch ($nextClass) {
105 case 'ilassquestionpagegui':
107 $questionId = $this->testSession->getCurrentQuestionId();
109 require_once
"./Modules/TestQuestionPool/classes/class.ilAssQuestionPageGUI.php";
111 $ret = $this->ctrl->forwardCommand($page_gui);
114 case 'ilassquestionhintrequestgui':
116 $this->ctrl->saveParameter($this,
'pmode');
118 $questionGUI = $this->
object->createQuestionGUI(
120 $this->testSession->getCurrentQuestionId()
123 require_once
'Modules/TestQuestionPool/classes/class.ilAssQuestionHintTracking.php';
125 $questionGUI->object->getId(),
126 $this->testSession->getActiveId(),
127 $this->testSession->getPass()
130 require_once
'Modules/TestQuestionPool/classes/class.ilAssQuestionHintRequestGUI.php';
135 $questionHintTracking
141 $this->ctrl->forwardCommand($gui);
145 case 'ildynamicquestionsetstatistictablegui':
151 case 'iltestpasswordprotectiongui':
152 require_once
'Modules/Test/classes/class.ilTestPasswordProtectionGUI.php';
154 $ret = $this->ctrl->forwardCommand($gui);
160 $ret = &$this->$cmd();
172 return $this->testSession->getCurrentQuestionId();
180 if ($this->object->checkMaximumAllowedUsers() ==
false) {
186 if ($this->dynamicQuestionSetConfig->isAnyQuestionFilterEnabled()) {
195 $this->testSession->setCurrentQuestionId(
null);
197 $this->testSession->saveToDb();
199 $this->ctrl->setParameter($this,
'active_id', $this->testSession->getActiveId());
201 assQuestion::_updateTestPassResults($this->testSession->getActiveId(), $this->testSession->getPass(),
false,
null, $this->object->id);
203 $_SESSION[
'active_time_id'] = $this->
object->startWorkingTime(
204 $this->testSession->getActiveId(),
205 $this->testSession->getPass()
208 $this->ctrl->saveParameter($this,
'tst_javascript');
210 if ($this->dynamicQuestionSetConfig->isAnyQuestionFilterEnabled()) {
221 $this->testSequence->loadQuestions(
222 $this->dynamicQuestionSetConfig,
223 $this->testSession->getQuestionSetFilterSelection()
226 $this->testSequence->cleanupQuestions($this->testSession);
228 $this->testSequence->saveToDb();
230 require_once
'Services/UIComponent/Toolbar/classes/class.ilToolbarGUI.php';
233 require_once
'Services/UIComponent/Button/classes/class.ilLinkButton.php';
237 $button->setPrimary(
true);
238 $toolbarGUI->addButtonInstance($button);
240 if ($this->object->getShowCancel()) {
242 $button->setUrl($this->ctrl->getLinkTarget(
246 $button->setCaption(
'cancel_test');
247 $toolbarGUI->addButtonInstance($button);
250 if ($this->object->isPassDeletionAllowed()) {
251 require_once
'Modules/Test/classes/confirmations/class.ilTestPassDeletionConfirmationGUI.php';
253 $toolbarGUI->addButton(
254 $this->lng->txt(
'tst_dyn_test_pass_deletion_button'),
260 $this->testSequence->getFilteredQuestionsData(),
261 $this->testSequence->getTrackedQuestionList()
262 )); #
vd($filteredData);
264 $filteredTableGUI->setData($filteredData);
267 $this->testSequence->getCompleteQuestionsData(),
268 $this->testSequence->getTrackedQuestionList()
269 )); #
vd($completeData);
271 $completeTableGUI->setData($completeData);
273 $content = $this->ctrl->getHTML($toolbarGUI);
274 $content .= $this->ctrl->getHTML($filteredTableGUI);
275 $content .= $this->ctrl->getHTML($completeTableGUI);
277 $this->tpl->setVariable(
'TABLE_LIST_OF_QUESTIONS', $content);
279 if ($this->object->getEnableProcessingTime()) {
287 $tableGUI->writeFilterToSession();
289 $taxFilterSelection = array();
292 foreach ($tableGUI->getFilterItems() as $item) {
293 if (strpos($item->getPostVar(),
'tax_') !==
false) {
294 $taxId = substr($item->getPostVar(), strlen(
'tax_'));
295 $taxFilterSelection[$taxId] = $item->getValue();
296 } elseif ($item->getPostVar() ==
'question_answer_status') {
297 $answerStatusFilterSelection = $item->getValue();
301 $this->testSession->getQuestionSetFilterSelection()->setTaxonomySelection($taxFilterSelection);
302 $this->testSession->getQuestionSetFilterSelection()->setAnswerStatusSelection($answerStatusFilterSelection);
303 $this->testSession->saveToDb();
305 $this->testSequence->resetTrackedQuestionList();
306 $this->testSequence->saveToDb();
315 $tableGUI->resetFilter();
317 $this->testSession->getQuestionSetFilterSelection()->setTaxonomySelection(array());
318 $this->testSession->getQuestionSetFilterSelection()->setAnswerStatusSelection(
null);
319 $this->testSession->saveToDb();
321 $this->testSequence->resetTrackedQuestionList();
322 $this->testSequence->saveToDb();
341 $this->testSession->getActiveId(),
342 $this->testSession->getCurrentQuestionId(),
343 $this->testSession->getPass()
346 if (!$isWorkedThrough) {
347 $this->testSequence->setQuestionPostponed($this->testSession->getCurrentQuestionId());
348 $this->testSequence->saveToDb();
360 $this->
object->setQuestionSetSolved(1, $this->testSession->getCurrentQuestionId(),
$ilUser->getId());
369 $this->
object->setQuestionSetSolved(0, $this->testSession->getCurrentQuestionId(),
$ilUser->getId());
382 if ($this->object->isForceInstantFeedbackEnabled()) {
387 $questionId = $this->testSession->getCurrentQuestionId();
390 $this->testSession->getActiveId(),
391 $this->testSession->getPass()
396 $this->ctrl->setParameter($this,
'pmode',
'');
407 $questionId = $this->testSession->getCurrentQuestionId();
410 $this->testSession->getActiveId(),
411 $this->testSession->getPass()
416 if ($this->object->isForceInstantFeedbackEnabled()) {
417 $this->ctrl->setParameter($this,
'instresp', 1);
419 $this->testSequence->unsetQuestionPostponed($questionId);
420 $this->testSequence->setQuestionChecked($questionId);
421 $this->testSequence->saveToDb();
427 $this->ctrl->setParameter($this,
'pmode',
'');
446 $this->ctrl->saveParameter($this,
'sequence');
454 $questionId = $this->testSession->getCurrentQuestionId();
458 $currentQuestionOBJ->resetUsersAnswer(
459 $this->testSession->getActiveId(),
460 $this->testSession->getPass()
479 if ($this->testSession->getQuestionSetFilterSelection()->isAnswerStatusSelectionWrongAnswered()) {
480 $this->testSequence->loadQuestions(
481 $this->dynamicQuestionSetConfig,
482 $this->testSession->getQuestionSetFilterSelection()
485 if ($this->testSequence->hasFilteredQuestionListCheckedQuestions()) {
497 $this->testSequence->loadQuestions(
498 $this->dynamicQuestionSetConfig,
499 $this->testSession->getQuestionSetFilterSelection()
502 $this->testSequence->cleanupQuestions($this->testSession);
509 if ($this->testSequence->getQuestionSet()->getSelectionQuestionList()->isInList($this->getQuestionIdParameter())) {
515 if (!$this->testSession->getCurrentQuestionId()) {
516 $upComingQuestionId = $this->testSequence->getUpcomingQuestionId();
518 $this->testSession->setCurrentQuestionId($upComingQuestionId);
528 $navigationToolbarGUI->setQuestionSelectionButtonEnabled(
true);
530 if ($this->testSession->getCurrentQuestionId()) {
532 $this->testSequence->setCurrentQuestionId($this->testSession->getCurrentQuestionId());
534 $questionGui->setQuestionCount(
535 $this->testSequence->getLastPositionIndex()
537 $questionGui->setSequenceNumber(
538 $this->testSequence->getCurrentPositionIndex($this->testSession->getCurrentQuestionId())
543 $this->testSession->getCurrentQuestionId(),
544 $this->testSession->getCurrentQuestionId()
549 $this->testSession->getActiveId(),
550 $this->testSession->getCurrentQuestionId(),
551 $this->testSession->getPass()
554 require_once
'Modules/Test/classes/class.ilTestQuestionHeaderBlockBuilder.php';
556 $headerBlockBuilder->setHeaderMode(
558 $this->object->getTitleOutput() == 2 ? 1 : $this->object->getTitleOutput()
560 $headerBlockBuilder->setQuestionTitle($questionGui->object->getTitle());
561 $headerBlockBuilder->setQuestionPoints($questionGui->object->getPoints());
568 $headerBlockBuilder->setQuestionPostponed(
569 $this->testSequence->isPostponedQuestion(
570 $this->testSession->getCurrentQuestionId()
573 $headerBlockBuilder->setQuestionObligatory(
576 $questionGui->setQuestionHeaderBlockBuilder($headerBlockBuilder);
580 $instantResponse =
true;
584 if ($this->object->isInstantFeedbackAnswerFixationEnabled()) {
585 $instantResponse =
false;
595 $this->testSession->getCurrentQuestionId(),
596 $this->testSession->getCurrentQuestionId()
599 $this->ctrl->setParameter($this,
'sequence', $this->testSession->getCurrentQuestionId());
600 $this->ctrl->setParameter($this,
'pmode', $presentationMode);
603 switch ($presentationMode) {
607 $navigationToolbarGUI->setDisabledStateEnabled(
false);
609 $this->
showQuestionEditable($questionGui, $formAction, $isQuestionWorkedThrough, $instantResponse);
615 $this->
showQuestionViewable($questionGui, $formAction, $isQuestionWorkedThrough, $instantResponse);
621 require_once
'Modules/Test/exceptions/class.ilTestException.php';
625 $navigationToolbarGUI->build();
630 $this->testSession->getCurrentQuestionId(),
632 $this->object->isForceInstantFeedbackEnabled()
636 if ($instantResponse) {
643 $this->testSession->getQuestionSetFilterSelection()->setForcedQuestionIds(array());
655 $navigationToolbarGUI->build();
661 $this->testSequence->saveToDb();
662 $this->testSession->saveToDb();
667 $questionId = $this->testSession->getCurrentQuestionId();
669 $filterSelection = $this->testSession->getQuestionSetFilterSelection();
671 $filterSelection->setForcedQuestionIds(array($this->testSession->getCurrentQuestionId()));
673 $this->testSequence->loadQuestions($this->dynamicQuestionSetConfig, $filterSelection);
674 $this->testSequence->cleanupQuestions($this->testSession);
675 $this->testSequence->saveToDb();
685 $this->testSequence->unsetQuestionPostponed($questionId);
686 $this->testSequence->setQuestionChecked($questionId);
687 $this->testSequence->saveToDb();
690 $this->ctrl->setParameter(
693 $this->testSession->getCurrentQuestionId()
696 $this->ctrl->setParameter($this,
'instresp', 1);
709 $questionId = $this->testSession->getCurrentQuestionId();
718 $this->ctrl->setParameter(
721 $this->testSession->getCurrentQuestionId()
724 $this->ctrl->saveParameter($this,
'pmode');
731 if ($this->testSequence->openQuestionExists()) {
732 $message = $this->lng->txt(
'tst_dyn_test_msg_currently_finished_selection');
734 $message = $this->lng->txt(
'tst_dyn_test_msg_currently_finished_completely');
735 $message .=
"<br /><br />{$this->buildFinishPagePassDeletionLink()}";
740 $tpl =
new ilTemplate(
'tpl.test_currently_finished_msg.html',
true,
true,
'Modules/Test');
741 $tpl->setVariable(
'TEST_CURRENTLY_FINISHED_MSG', $msgHtml);
743 $this->tpl->setVariable(
'QUESTION_OUTPUT',
$tpl->get());
748 return !$this->testSequence->trackedQuestionExists();
763 return !$this->
object->endingTimeReached();
773 $formtimestamp =
$_POST[
"formtimestamp"];
774 if (strlen($formtimestamp) == 0) {
775 $formtimestamp =
$_GET[
"formtimestamp"];
777 if ($formtimestamp !=
$_SESSION[
"formtimestamp"]) {
778 $_SESSION[
"formtimestamp"] = $formtimestamp;
786 $qId = $this->testSession->getCurrentQuestionId();
788 if (!$qId || $qId !=
$_GET[
"sequence"]) {
794 $this->saveResult =
false;
797 $questionGUI = $this->
object->createQuestionGUI(
"", $qId);
799 if ($this->object->getJavaScriptOutput()) {
803 $activeId = $this->testSession->getActiveId();
805 $this->saveResult = $questionGUI->object->persistWorkingState(
808 $this->object->areObligationsEnabled(),
812 if ($authorized && $this->object->isSkillServiceToBeConsidered()) {
817 if ($this->saveResult ==
false) {
818 $this->ctrl->setParameter($this,
"save_error",
"1");
827 $questionGUI = $this->
object->createQuestionGUI(
"", $questionId);
830 $maxPoints = $questionGUI->object->getMaximumPoints();
832 if ($reachedPoints < $maxPoints) {
843 foreach ($questions as $key => $value) {
844 $this->ctrl->setParameter($this,
'sequence', $value[
'question_id']);
845 $href = $this->ctrl->getLinkTarget($this,
'gotoQuestion');
846 $this->ctrl->setParameter($this,
'sequence',
'');
849 if ($this->object->getListOfQuestionsDescription()) {
850 $description = $value[
"description"];
854 if (count($marked_questions)) {
855 if (isset($marked_questions[$value[
"question_id"]])) {
856 if ($marked_questions[$value[
"question_id"]][
"solved"] == 1) {
862 array_push(
$data, array(
864 'title' => $this->object->getQuestionTitle($value[
"title"]),
865 'description' => $description,
866 'worked_through' => $this->testSequence->isAnsweredQuestion($value[
"question_id"]),
867 'postponed' => $this->testSequence->isPostponedQuestion($value[
"question_id"]),
877 $questionAnswerStats = array(
878 'total_all' => count($questions),
880 'non_answered_notseen' => 0,
881 'non_answered_skipped' => 0,
882 'wrong_answered' => 0,
883 'correct_answered' => 0
886 foreach ($questions as $key => $value) {
887 switch ($value[
'question_answer_status']) {
889 if (isset($trackedQuestions[$key])) {
890 $questionAnswerStats[
'non_answered_skipped']++;
892 $questionAnswerStats[
'non_answered_notseen']++;
894 $questionAnswerStats[
'total_open']++;
897 $questionAnswerStats[
'wrong_answered']++;
898 $questionAnswerStats[
'total_open']++;
901 $questionAnswerStats[
'correct_answered']++;
906 return $questionAnswerStats;
911 require_once
'Modules/Test/classes/tables/class.ilTestDynamicQuestionSetStatisticTableGUI.php';
916 $gui->initTitle(
'tst_dynamic_question_set_complete');
917 $gui->initColumns(
'tst_num_all_questions');
924 require_once
'Modules/Test/classes/tables/class.ilTestDynamicQuestionSetStatisticTableGUI.php';
929 $gui->initTitle(
'tst_dynamic_question_set_selection');
930 $gui->initColumns(
'tst_num_selected_questions');
932 require_once
'Services/Taxonomy/classes/class.ilObjTaxonomy.php';
934 $this->dynamicQuestionSetConfig->getSourceQuestionPoolId()
937 $gui->setTaxonomyFilterEnabled($this->dynamicQuestionSetConfig->isTaxonomyFilterEnabled());
938 $gui->setAnswerStatusFilterEnabled($this->dynamicQuestionSetConfig->isAnswerStatusFilterEnabled());
940 $gui->setFilterSelection($this->testSession->getQuestionSetFilterSelection());
942 $gui->setFilterCommand(
'filterQuestionSelection');
943 $gui->setResetCommand(
'resetQuestionSelection');
950 require_once
'Modules/Test/classes/tables/class.ilTestDynamicQuestionSetStatisticTableGUI.php';
964 if ($this->testSequence->trackedQuestionExists()) {
965 return 'tst_resume_dyn_test_with_cur_quest_sel';
968 return 'tst_start_dyn_test_with_cur_quest_sel';
973 $questionId = $this->testSession->getCurrentQuestionId();
974 $activeId = $this->testSession->getActiveId();
975 $pass = $this->testSession->getPass();
978 $this->testSequence->setQuestionAnsweredCorrect($questionId);
980 $this->testSequence->setQuestionAnsweredWrong($questionId);
983 $this->testSequence->saveToDb();
988 $this->testSession->setCurrentQuestionId(
null);
989 $this->testSession->saveToDb();
991 $this->ctrl->setParameter($this,
'sequence', $this->testSession->getCurrentQuestionId());
992 $this->ctrl->setParameter($this,
'pmode',
'');
1002 $label = $this->lng->txt(
'tst_dyn_test_msg_pass_deletion_link');
1004 return "<a href=\"{$href}\">{$label}</a>";
1012 require_once
'Modules/Test/classes/confirmations/class.ilTestPassDeletionConfirmationGUI.php';
1015 $this->ctrl->setParameterByClass(
'ilTestEvaluationGUI',
'active_id', $this->testSession->getActiveId());
1016 $this->ctrl->setParameterByClass(
'ilTestEvaluationGUI',
'pass', $this->testSession->getPass());
1018 return $this->ctrl->getLinkTargetByClass(
'ilTestEvaluationGUI',
'confirmDeletePass');
1033 if (isset(
$_GET[
'reset_checked'])) {
1034 return $_GET[
'reset_checked'];
1040 public function outQuestionSummaryCmd($fullpage =
true, $contextFinishTest =
false, $obligationsNotAnswered =
false, $obligationsFilter =
false)
1042 $this->testSequence->loadQuestions(
1043 $this->dynamicQuestionSetConfig,
1044 $this->testSession->getQuestionSetFilterSelection()
1047 $this->testSequence->setCurrentQuestionId($this->testSession->getCurrentQuestionId());
1049 parent::outQuestionSummaryCmd($fullpage, $contextFinishTest, $obligationsNotAnswered, $obligationsFilter);
1054 require_once
'Services/Utilities/classes/class.ilConfirmationGUI.php';
1056 $confirmation->setFormAction($this->ctrl->getFormAction($this));
1057 $confirmation->setHeaderText($this->lng->txt(
'tst_dyn_unfreeze_answers_confirmation'));
1066 $this->testSequence->loadQuestions(
1067 $this->dynamicQuestionSetConfig,
1068 $this->testSession->getQuestionSetFilterSelection()
1071 $this->testSequence->resetFilteredQuestionListsCheckedStatus();
1072 $this->testSequence->saveToDb();
1086 $this->ctrl->setParameter($this,
'reset_checked', 1);
1088 $this->ctrl->setParameter($this,
'reset_checked',
'');
1101 $ilPluginAdmin =
$DIC[
'ilPluginAdmin'];
1103 require_once
'Modules/TestQuestionPool/classes/class.ilAssQuestionList.php';
1104 $questionList =
new ilAssQuestionList($this->db, $this->lng, $this->refinery, $ilPluginAdmin);
1105 $questionList->setParentObjId($this->dynamicQuestionSetConfig->getSourceQuestionPoolId());
1108 return $questionList;
An exception for terminatinating execution or to throw for unit testing.
Basic GUI class for assessment questions.
static _getReachedPoints($active_id, $question_id, $pass=null)
Returns the points, a learner has reached answering the question.
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 ANSWER_STATUS_FILTER_ALL_NON_CORRECT
answer status filter value domain
const QUESTION_INSTANCE_TYPE_ORIGINALS
const QUESTION_ANSWER_STATUS_WRONG_ANSWERED
const QUESTION_ANSWER_STATUS_CORRECT_ANSWERED
const QUESTION_ANSWER_STATUS_NON_ANSWERED
answer status domain for single questions
Confirmation screen class.
static getUsageOfObject($a_obj_id, $a_include_titles=false)
Get usage of object.
static isQuestionObligatory($question_id)
checks wether the question with given id is marked as obligatory or not
static initJavascript()
Init javascript.
special template class to simplify handling of ITX/PEAR
Base Exception for all Exceptions relating to Modules/Test.
const CONTEXT_DYN_TEST_PLAYER
Output class for assessment test execution.
handleSkillTriggering(ilTestSession $testSession)
checkTestSessionUser(ilTestSession $testSession)
populateNextButtons($disabled, $primaryNext)
populateMessageContent($contentHTML)
getNextCommandParameter()
removeIntermediateSolution()
remove an auto-saved solution of the current question
setAnswerChangedParameter($changed=true)
Set the 'answer changed' url parameter for generated links.
initProcessLocker($activeId)
prepareTestPage($presentationMode, $sequenceElement, $questionId)
handleTearsAndAngerQuestionIsNull($questionId, $sequenceElement)
const PRESENTATION_MODE_EDIT
getQuestionInstance($questionId, $fromCache=true)
handlePasswordProtectionRedirect()
getRegisteredForcedFeedbackNavUrl()
getQuestionGuiInstance($question_id, $fromCache=true)
showMaximumAllowedUsersReachedMessage()
populateInstantResponseModal(assQuestionGUI $questionGui, $navUrl)
showQuestionEditable(assQuestionGUI $questionGui, $formAction, $isQuestionWorkedThrough, $instantResponse)
getInstantResponseParameter()
getSequenceElementParameter()
ensureExistingTestSession(ilTestSession $testSession)
updateWorkingTime()
updates working time and stores state saveresult to see if question has to be stored or not
handleUserSettings()
Handles some form parameters on starting and resuming a test.
populateInstantResponseBlocks(assQuestionGUI $questionGui, $authorizedSolution)
getTestNavigationToolbarGUI()
populateTestNavigationToolbar(ilTestNavigationToolbarGUI $toolbarGUI)
const PRESENTATION_MODE_VIEW
getNavigationUrlParameter()
getAnswerChangedParameter()
Get the 'answer changed' status from the current request It may be set by ilTestPlayerNavigationContr...
isParticipantsAnswerFixed($questionId)
unregisterForcedFeedbackNavUrl()
outProcessingTime($active_id)
resetSequenceElementParameter()
saveNavigationPreventConfirmation()
Save the save the switch to prevent the navigation confirmation.
registerForcedFeedbackNavUrl($forcedFeedbackNavUrl)
getNextSequenceParameter()
showQuestionViewable(assQuestionGUI $questionGui, $formAction, $isQuestionWorkedThrough, $instantResponse)
isForcedFeedbackNavUrlRegistered()
const SUBMIT_INTERMEDIATE_SOLUTION
const SHOW_QUESTION_SELECTION
getResetCheckedParameter()
markQuestionCmd()
Set a question solved.
isQuestionAnsweredCorrect($questionId, $activeId, $pass)
canSaveResult()
Returns TRUE if the answers of the current user could be saved.
outQuestionSummaryCmd($fullpage=true, $contextFinishTest=false, $obligationsNotAnswered=false, $obligationsFilter=false)
Output of a summary of all test questions for test participants.
getEnterTestButtonLangVar()
isShowingPostponeStatusReguired($questionId)
resetQuestionSelectionCmd()
resumePlayerCmd()
Resume a test at the last position.
populateQuestionNavigation($sequenceElement, $disabled, $primaryNext)
unmarkQuestionCmd()
Set a question unsolved.
unfreezeCheckedQuestionsAnswersCmd()
buildFinishPagePassDeletionLink()
resetQuestionIdParameter()
buildQuestionSetAnswerStatisticRowArray($questions, $trackedQuestions)
handleQuestionActionCmd()
filterQuestionSelectionCmd()
buildTestPassQuestionList()
showCheckedQuestionResettingConfirmation()
outCurrentlyFinishedPage()
buildQuestionSetCompleteStatisticTableGUI()
$dynamicQuestionSetConfig
showQuestionSelectionCmd()
isOptionalQuestionAnsweringConfirmationRequired($sequenceKey)
buildQuestionSetStatisticTableGUI($tableId)
getStartTestFromQuestionSelectionLink()
isLastQuestionInSequence($sequenceElement)
isQuestionSummaryFinishTestButtonRequired()
buildQuestionSetFilteredStatisticTableGUI()
persistQuestionAnswerStatus()
isFirstQuestionInSequence($sequenceElement)
executeCommand()
execute command
buildQuestionsTableDataArray($questions, $marked_questions)
submitSolutionAndNextCmd()
saveQuestionSolution($authorized=true, $force=false)
saves the user input of a question
isCheckedQuestionResettingConfirmationRequired()
const TEST_PLAYER_KIOSK_MODE_ENABLED
static redirect($a_script)
static getSystemMessageHTML($a_txt, $a_type="info")
Get HTML for a system message.
static initConnectionWithAnimation()
Init YUI Connection module.
static initjQuery(ilGlobalTemplateInterface $a_tpl=null)
inits and adds the jQuery JS-File to the global or a passed template
vd()
shortcut for var_dump with enhanced debug information