ILIAS  release_5-0 Revision 5.0.0-1144-gc4397b1f870
ilTestServiceGUI Class Reference

Service GUI class for tests. More...

+ Inheritance diagram for ilTestServiceGUI:
+ Collaboration diagram for ilTestServiceGUI:

Public Member Functions

 isContextWithinTestPass ()
 
 setContextWithinTestPass ($contextWithinTestPass)
 
 ilTestServiceGUI (ilObjTest $a_object)
 The constructor takes the test object reference as parameter. More...
 
 setParticipantData ($participantData)
 
 getParticipantData ()
 
executeCommand ()
 execute command More...
 
 getCommand ($cmd)
 Retrieves the ilCtrl command. More...
 
 getPassOverview ($active_id, $targetclass="", $targetcommand="", $short=FALSE, $hide_details=FALSE, $adminMode=false)
 Returns the pass overview for a given active ID. More...
 
 getPassListOfAnswers (&$result_array, $active_id, $pass, $show_solutions=FALSE, $only_answered_questions=FALSE, $show_question_only=FALSE, $show_reached_points=FALSE, $anchorNav=false)
 Returns the list of answers of a users test pass. More...
 
 getPassListOfAnswersWithScoring (&$result_array, $active_id, $pass, $show_solutions=FALSE)
 Returns the list of answers of a users test pass and offers a scoring option. More...
 
 getResultsSignature ()
 Returns HTML code for a signature field. More...
 
 getResultsUserdata ($testSession, $active_id, $overwrite_anonymity=FALSE)
 Returns the user data for a test results output. More...
 
 getCorrectSolutionOutput ($question_id, $active_id, $pass)
 Returns an output of the solution to an answer compared to the correct solution. More...
 
 getResultsOfUserOutput ($testSession, $active_id, $pass, $targetGUI, $show_pass_details=TRUE, $show_answers=TRUE, $show_question_only=FALSE, $show_reached_points=FALSE)
 Output of the pass overview for a test called by a test participant. More...
 
 getResultsHeadUserAndPass ($active_id, $pass)
 Returns the user and pass data for a test results output. More...
 
 getQuestionResultForTestUsers ($question_id, $test_id)
 Creates a HTML representation for the results of a given question in a test. More...
 

Data Fields

 $object = null
 
 $service = null
 
 $lng
 
 $tpl
 
 $ctrl
 
 $ilias
 
 $tree
 
 $ref_id
 

Protected Member Functions

 isPdfDeliveryRequest ()
 
 getPassDetailsOverview ($result_array, $active_id, $pass, $targetGUI, $targetCMD, $questionDetailsCMD, $questionAnchorNav)
 
 buildPassDetailsOverviewTableGUI ($targetGUI, $targetCMD)
 
 isGradingMessageRequired ()
 
 getGradingMessage ($activeId)
 

Protected Attributes

 $db
 
 $testSessionFactory = null
 
 $testSequenceFactory = null
 
 $participantData
 

Private Attributes

 $contextWithinTestPass = false
 

Detailed Description

Service GUI class for tests.

This class is the parent class for all service classes which are called from ilObjTestGUI. This is mainly done to reduce the size of ilObjTestGUI to put command service functions into classes that could be called by ilCtrl.

@ilCtrl_IsCalledBy ilTestServiceGUI: ilObjTestGUI

Author
Helmut Schottmüller helmu.nosp@m.t.sc.nosp@m.hottm.nosp@m.uell.nosp@m.er@ma.nosp@m.c.co.nosp@m.m
Björn Heyser bheys.nosp@m.er@d.nosp@m.ataba.nosp@m.y.de
Version
$Id$

Definition at line 21 of file class.ilTestServiceGUI.php.

Member Function Documentation

◆ buildPassDetailsOverviewTableGUI()

ilTestServiceGUI::buildPassDetailsOverviewTableGUI (   $targetGUI,
  $targetCMD 
)
protected
Returns
ilTestPassDetailsOverviewTableGUI

Definition at line 879 of file class.ilTestServiceGUI.php.

880 {
881 require_once 'Modules/Test/classes/tables/class.ilTestPassDetailsOverviewTableGUI.php';
882 $tableGUI = new ilTestPassDetailsOverviewTableGUI($this->ctrl, $targetGUI, $targetCMD);
883 $tableGUI->setIsPdfGenerationRequest($this->isPdfDeliveryRequest());
884 return $tableGUI;
885 }

References isPdfDeliveryRequest().

Referenced by ilTestEvaluationGUI\getFilteredTestResult(), getPassDetailsOverview(), ilTestEvaluationGUI\outUserPassDetailsResetTableFilter(), and ilTestEvaluationGUI\outUserPassDetailsSetTableFilter().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ executeCommand()

& ilTestServiceGUI::executeCommand ( )

execute command

Reimplemented in ilTestEvaluationGUI, ilTestOutputGUI, ilTestPlayerDynamicQuestionSetGUI, and ilTestScoringGUI.

Definition at line 134 of file class.ilTestServiceGUI.php.

135 {
136 $cmd = $this->ctrl->getCmd();
137 $next_class = $this->ctrl->getNextClass($this);
138
139 $cmd = $this->getCommand($cmd);
140 switch($next_class)
141 {
142 default:
143 $ret =& $this->$cmd();
144 break;
145 }
146 return $ret;
147 }
getCommand($cmd)
Retrieves the ilCtrl command.
$cmd
Definition: sahs_server.php:35

References $cmd, $ret, and getCommand().

+ Here is the call graph for this function:

◆ getCommand()

ilTestServiceGUI::getCommand (   $cmd)

Retrieves the ilCtrl command.

@access public

Definition at line 154 of file class.ilTestServiceGUI.php.

155 {
156 return $cmd;
157 }

References $cmd.

Referenced by ilTestEvaluationGUI\executeCommand(), ilTestOutputGUI\executeCommand(), ilTestScoringGUI\executeCommand(), and executeCommand().

+ Here is the caller graph for this function:

◆ getCorrectSolutionOutput()

ilTestServiceGUI::getCorrectSolutionOutput (   $question_id,
  $active_id,
  $pass 
)

Returns an output of the solution to an answer compared to the correct solution.

Parameters
integer$question_idDatabase ID of the question
integer$active_idActive ID of the active user
integer$passTest pass
Returns
string HTML code of the correct solution comparison @access public

Definition at line 629 of file class.ilTestServiceGUI.php.

630 {
631 global $ilUser;
632
633 $test_id = $this->object->getTestId();
634 $question_gui = $this->object->createQuestionGUI("", $question_id);
635
636 $template = new ilTemplate("tpl.il_as_tst_correct_solution_output.html", TRUE, TRUE, "Modules/Test");
637 $show_question_only = ($this->object->getShowSolutionAnswersOnly()) ? TRUE : FALSE;
638 $result_output = $question_gui->getSolutionOutput($active_id, $pass, TRUE, FALSE, $show_question_only, $this->object->getShowSolutionFeedback(), FALSE, FALSE, TRUE);
639 $best_output = $question_gui->getSolutionOutput($active_id, $pass, FALSE, FALSE, $show_question_only, FALSE, TRUE, FALSE, FALSE);
640 if( $this->object->getShowSolutionFeedback() && $_GET['cmd'] != 'outCorrectSolution' )
641 {
642 $specificAnswerFeedback = $question_gui->getSpecificFeedbackOutput($active_id, $pass);
643 if( strlen($specificAnswerFeedback) )
644 {
645 $template->setCurrentBlock("outline_specific_feedback");
646 $template->setVariable("OUTLINE_SPECIFIC_FEEDBACK", $specificAnswerFeedback);
647 $template->parseCurrentBlock();
648 }
649 }
650 if ($this->object->isBestSolutionPrintedWithResult() && strlen($best_output))
651 {
652 $template->setCurrentBlock("best_solution");
653 $template->setVariable("TEXT_BEST_SOLUTION", $this->lng->txt("tst_best_solution_is"));
654 $template->setVariable("BEST_OUTPUT", $best_output);
655 $template->parseCurrentBlock();
656 }
657 $template->setVariable("TEXT_YOUR_SOLUTION", $this->lng->txt("tst_your_answer_was"));
658 $maxpoints = $question_gui->object->getMaximumPoints();
659 if ($maxpoints == 1)
660 {
661 $template->setVariable("QUESTION_TITLE", $this->object->getQuestionTitle($question_gui->object->getTitle()) . " (" . $maxpoints . " " . $this->lng->txt("point") . ")");
662 }
663 else
664 {
665 $template->setVariable("QUESTION_TITLE", $this->object->getQuestionTitle($question_gui->object->getTitle()) . " (" . $maxpoints . " " . $this->lng->txt("points") . ")");
666 }
667 $template->setVariable("SOLUTION_OUTPUT", $result_output);
668 $template->setVariable("RECEIVED_POINTS", sprintf($this->lng->txt("you_received_a_of_b_points"), $question_gui->object->getReachedPoints($active_id, $pass), $maxpoints));
669 $template->setVariable("FORMACTION", $this->ctrl->getFormAction($this));
670 $template->setVariable("BACKLINK_TEXT", "<< " . $this->lng->txt("back"));
671 return $template->get();
672 }
$_GET["client_id"]
special template class to simplify handling of ITX/PEAR
global $ilUser
Definition: imgupload.php:15

References $_GET, $ilUser, and $pass.

Referenced by ilTestEvaluationGUI\outCorrectSolution(), and ilTestPlayerAbstractGUI\outCorrectSolution().

+ Here is the caller graph for this function:

◆ getGradingMessage()

ilTestServiceGUI::getGradingMessage (   $activeId)
protected
Parameters
integer$activeId
Returns
string

Definition at line 911 of file class.ilTestServiceGUI.php.

912 {
913 require_once 'Modules/Test/classes/class.ilTestGradingMessageBuilder.php';
914 $gradingMessageBuilder = new ilTestGradingMessageBuilder($this->lng, $this->object);
915
916 $gradingMessageBuilder->setActiveId($activeId);
917 $gradingMessageBuilder->build();
918
919 return $gradingMessageBuilder->getMessage();
920 }

Referenced by getResultsOfUserOutput(), ilTestEvaluationGUI\outParticipantsPassDetails(), ilTestEvaluationGUI\outParticipantsResultsOverview(), ilTestEvaluationGUI\outUserPassDetails(), and ilTestEvaluationGUI\outUserResultsOverview().

+ Here is the caller graph for this function:

◆ getParticipantData()

ilTestServiceGUI::getParticipantData ( )
Returns
\ilTestParticipantData

Definition at line 126 of file class.ilTestServiceGUI.php.

References $participantData.

◆ getPassDetailsOverview()

ilTestServiceGUI::getPassDetailsOverview (   $result_array,
  $active_id,
  $pass,
  $targetGUI,
  $targetCMD,
  $questionDetailsCMD,
  $questionAnchorNav 
)
protected

Definition at line 476 of file class.ilTestServiceGUI.php.

477 {
478 $this->ctrl->setParameter($targetGUI, 'active_id', $active_id);
479 $this->ctrl->setParameter($targetGUI, 'pass', $pass);
480
481 $tableGUI = $this->buildPassDetailsOverviewTableGUI($targetGUI, $targetCMD);
482
483 $tableGUI->setAnswerListAnchorEnabled($questionAnchorNav);
484 $tableGUI->setSingleAnswerScreenCmd($questionDetailsCMD);
485 $tableGUI->setShowHintCount($this->object->isOfferingQuestionHintsEnabled());
486 $tableGUI->setActiveId($active_id);
487 $tableGUI->setPass($pass);
488 $tableGUI->setShowSuggestedSolution(false);
489
490 $tableGUI->initColumns()->initFilter();
491
492 $usersQuestionSolutions = array();
493
494 foreach($result_array as $key => $val)
495 {
496 if($key === 'test' || $key === 'pass')
497 {
498 continue;
499 }
500
501 if( $this->object->getShowSolutionSuggested() && strlen($val['solution']) )
502 {
503 $tableGUI->setShowSuggestedSolution(true);
504 }
505
506 $usersQuestionSolutions[$key] = $val;
507 }
508
509 $tableGUI->setFilterCommand($targetCMD.'SetTableFilter');
510 $tableGUI->setResetCommand($targetCMD.'ResetTableFilter');
511
512 $tableGUI->setData($usersQuestionSolutions);
513
514 return $this->ctrl->getHTML($tableGUI);
515 }
buildPassDetailsOverviewTableGUI($targetGUI, $targetCMD)

References $pass, and buildPassDetailsOverviewTableGUI().

Referenced by getResultsOfUserOutput(), ilTestEvaluationGUI\outParticipantsPassDetails(), and ilTestEvaluationGUI\outUserPassDetails().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getPassListOfAnswers()

ilTestServiceGUI::getPassListOfAnswers ( $result_array,
  $active_id,
  $pass,
  $show_solutions = FALSE,
  $only_answered_questions = FALSE,
  $show_question_only = FALSE,
  $show_reached_points = FALSE,
  $anchorNav = false 
)

Returns the list of answers of a users test pass.

Parameters
array$result_arrayAn array containing the results of the users test pass (generated by ilObjTest::getTestResult)
integer$active_idActive ID of the active user
integer$passTest pass
boolean$show_solutionsTRUE, if the solution output should be shown in the answers, FALSE otherwise
Returns
string HTML code of the list of answers @access public

Definition at line 305 of file class.ilTestServiceGUI.php.

306 {
307 $maintemplate = new ilTemplate("tpl.il_as_tst_list_of_answers.html", TRUE, TRUE, "Modules/Test");
308
309 $counter = 1;
310 // output of questions with solutions
311 foreach ($result_array as $question_data)
312 {
313 if (($question_data["workedthrough"] == 1) || ($only_answered_questions == FALSE))
314 {
315 $template = new ilTemplate("tpl.il_as_qpl_question_printview.html", TRUE, TRUE, "Modules/TestQuestionPool");
316 $question = $question_data["qid"];
317 if (is_numeric($question))
318 {
319 $maintemplate->setCurrentBlock("printview_question");
320 $question_gui = $this->object->createQuestionGUI("", $question);
321 if (is_object($question_gui))
322 {
323 if($anchorNav)
324 {
325 $template->setCurrentBlock('block_id');
326 $template->setVariable('BLOCK_ID', "detailed_answer_block_act_{$active_id}_qst_{$question}");
327 $template->parseCurrentBlock();
328
329 $template->setCurrentBlock('back_anchor');
330 $template->setVariable('HREF_BACK_ANCHOR', "#pass_details_tbl_row_act_{$active_id}_qst_{$question}");
331 $template->setVariable('TXT_BACK_ANCHOR', $this->lng->txt('tst_back_to_question_list'));
332 $template->parseCurrentBlock();
333 }
334
335 if ($show_reached_points)
336 {
337 $template->setCurrentBlock("result_points");
338 $template->setVariable("RESULT_POINTS", $this->lng->txt("tst_reached_points") . ": " . $question_gui->object->getReachedPoints($active_id, $pass) . " " . $this->lng->txt("of") . " " . $question_gui->object->getMaximumPoints());
339 $template->parseCurrentBlock();
340 }
341 $template->setVariable("COUNTER_QUESTION", $counter.". ");
342 $template->setVariable("TXT_QUESTION_ID", $this->lng->txt('question_id_short'));
343 $template->setVariable("QUESTION_ID", $question_gui->object->getId());
344 $template->setVariable("QUESTION_TITLE", $this->object->getQuestionTitle($question_gui->object->getTitle()));
345
346 $show_question_only = ($this->object->getShowSolutionAnswersOnly()) ? TRUE : FALSE;
347
348 $showFeedback = !$this->isContextWithinTestPass() && $this->object->getShowSolutionFeedback();
349 $show_solutions = !$this->isContextWithinTestPass() && $show_solutions;
350
351 if($show_solutions)
352 {
353 $compare_template = new ilTemplate('tpl.il_as_tst_answers_compare.html', TRUE, TRUE, 'Modules/Test');
354 $compare_template->setVariable("HEADER_PARTICIPANT", $this->lng->txt('tst_header_participant'));
355 $compare_template->setVariable("HEADER_SOLUTION", $this->lng->txt('tst_header_solution'));
356 $result_output = $question_gui->getSolutionOutput($active_id, $pass, $show_solutions, FALSE, $show_question_only, $showFeedback);
357 $best_output = $question_gui->getSolutionOutput($active_id, $pass, FALSE, FALSE, $show_question_only, FALSE, TRUE);
358
359 $compare_template->setVariable('PARTICIPANT', $result_output);
360 $compare_template->setVariable('SOLUTION', $best_output);
361 $template->setVariable('SOLUTION_OUTPUT', $compare_template->get());
362 }
363 else
364 {
365 $result_output = $question_gui->getSolutionOutput($active_id, $pass, $show_solutions, FALSE, $show_question_only, $showFeedback);
366 $template->setVariable('SOLUTION_OUTPUT', $result_output);
367 }
368
369 $maintemplate->setCurrentBlock("printview_question");
370 $maintemplate->setVariable("QUESTION_PRINTVIEW", $template->get());
371 $maintemplate->parseCurrentBlock();
372 $counter ++;
373 }
374 }
375 }
376 }
377 $maintemplate->setVariable("RESULTS_OVERVIEW", sprintf($this->lng->txt("tst_eval_results_by_pass"), $pass + 1));
378 return $maintemplate->get();
379 }

References $pass, and isContextWithinTestPass().

Referenced by getResultsOfUserOutput(), ilTestEvaluationGUI\outParticipantsPassDetails(), ilTestEvaluationGUI\outUserListOfAnswerPasses(), and ilTestEvaluationGUI\outUserPassDetails().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getPassListOfAnswersWithScoring()

ilTestServiceGUI::getPassListOfAnswersWithScoring ( $result_array,
  $active_id,
  $pass,
  $show_solutions = FALSE 
)

Returns the list of answers of a users test pass and offers a scoring option.

Parameters
array$result_arrayAn array containing the results of the users test pass (generated by ilObjTest::getTestResult)
integer$active_idActive ID of the active user
integer$passTest pass
boolean$show_solutionsTRUE, if the solution output should be shown in the answers, FALSE otherwise
Returns
string HTML code of the list of answers @access public
Deprecated:

Definition at line 393 of file class.ilTestServiceGUI.php.

394 {
395 include_once "./Modules/TestQuestionPool/classes/class.assQuestion.php";
396
397 $maintemplate = new ilTemplate("tpl.il_as_tst_list_of_answers.html", TRUE, TRUE, "Modules/Test");
398
399 include_once "./Modules/Test/classes/class.ilObjAssessmentFolder.php";
401
402 $counter = 1;
403 // output of questions with solutions
404 foreach ($result_array as $question_data)
405 {
406 $question = $question_data["qid"];
407 if (is_numeric($question))
408 {
409 $question_gui = $this->object->createQuestionGUI("", $question);
410 if (in_array($question_gui->object->getQuestionTypeID(), $scoring))
411 {
412 $template = new ilTemplate("tpl.il_as_qpl_question_printview.html", TRUE, TRUE, "Modules/TestQuestionPool");
413 $scoretemplate = new ilTemplate("tpl.il_as_tst_manual_scoring_points.html", TRUE, TRUE, "Modules/Test");
414 #mbecker: No such block. $this->tpl->setCurrentBlock("printview_question");
415 $template->setVariable("COUNTER_QUESTION", $counter.". ");
416 $template->setVariable("QUESTION_TITLE", $this->object->getQuestionTitle($question_gui->object->getTitle()));
417 $points = $question_gui->object->getMaximumPoints();
418 if ($points == 1)
419 {
420 $template->setVariable("QUESTION_POINTS", $points . " " . $this->lng->txt("point"));
421 }
422 else
423 {
424 $template->setVariable("QUESTION_POINTS", $points . " " . $this->lng->txt("points"));
425 }
426
427 $show_question_only = ($this->object->getShowSolutionAnswersOnly()) ? TRUE : FALSE;
428 $result_output = $question_gui->getSolutionOutput($active_id, $pass, $show_solutions, FALSE, $show_question_only, $this->object->getShowSolutionFeedback(), FALSE, TRUE);
429
430 $solout = $question_gui->object->getSuggestedSolutionOutput();
431 if (strlen($solout))
432 {
433 $scoretemplate->setCurrentBlock("suggested_solution");
434 $scoretemplate->setVariable("TEXT_SUGGESTED_SOLUTION", $this->lng->txt("solution_hint"));
435 $scoretemplate->setVariable("VALUE_SUGGESTED_SOLUTION", $solout);
436 $scoretemplate->parseCurrentBlock();
437 }
438
439 $scoretemplate->setCurrentBlock("feedback");
440 $scoretemplate->setVariable("FEEDBACK_NAME_INPUT", $question);
441 $feedback = $this->object->getManualFeedback($active_id, $question, $pass);
442 $scoretemplate->setVariable("VALUE_FEEDBACK", ilUtil::prepareFormOutput($this->object->prepareTextareaOutput($feedback, TRUE)));
443 $scoretemplate->setVariable("TEXT_MANUAL_FEEDBACK", $this->lng->txt("set_manual_feedback"));
444 $scoretemplate->parseCurrentBlock();
445
446 $scoretemplate->setVariable("NAME_INPUT", $question);
447 $this->ctrl->setParameter($this, "active_id", $active_id);
448 $this->ctrl->setParameter($this, "pass", $pass);
449 $scoretemplate->setVariable("FORMACTION", $this->ctrl->getFormAction($this, "manscoring"));
450 $scoretemplate->setVariable("LABEL_INPUT", $this->lng->txt("tst_change_points_for_question"));
451 $scoretemplate->setVariable("VALUE_INPUT", " value=\"" . assQuestion::_getReachedPoints($active_id, $question_data["qid"], $pass) . "\"");
452 $scoretemplate->setVariable("VALUE_SAVE", $this->lng->txt("save"));
453
454 $template->setVariable("SOLUTION_OUTPUT", $result_output);
455 $maintemplate->setCurrentBlock("printview_question");
456 $maintemplate->setVariable("QUESTION_PRINTVIEW", $template->get());
457 $maintemplate->setVariable("QUESTION_SCORING", $scoretemplate->get());
458 $maintemplate->parseCurrentBlock();
459 }
460 $counter ++;
461 }
462 }
463 if ($counter == 1)
464 {
465 // no scorable questions found
466 $maintemplate->setVariable("NO_QUESTIONS_FOUND", $this->lng->txt("manscoring_questions_not_found"));
467 }
468 $maintemplate->setVariable("RESULTS_OVERVIEW", sprintf($this->lng->txt("manscoring_results_pass"), $pass+1));
469
470 include_once "./Services/YUI/classes/class.ilYuiUtil.php";
472
473 return $maintemplate->get();
474 }
_getReachedPoints($active_id, $question_id, $pass=NULL)
Returns the points, a learner has reached answering the question.
_getManualScoring()
Retrieve the manual scoring settings.
static prepareFormOutput($a_str, $a_strip=false)
prepares string output for html forms @access public
static initDomEvent()
Init YUI DomEvent.

References $pass, ilObjAssessmentFolder\_getManualScoring(), assQuestion\_getReachedPoints(), ilYuiUtil\initDomEvent(), and ilUtil\prepareFormOutput().

+ Here is the call graph for this function:

◆ getPassOverview()

ilTestServiceGUI::getPassOverview (   $active_id,
  $targetclass = "",
  $targetcommand = "",
  $short = FALSE,
  $hide_details = FALSE,
  $adminMode = false 
)

Returns the pass overview for a given active ID.

Returns
string HTML code of the pass overview @access public
Deprecated:

Definition at line 185 of file class.ilTestServiceGUI.php.

186 {
187 require_once 'Services/UIComponent/AdvancedSelectionList/classes/class.ilAdvancedSelectionListGUI.php';
188 require_once 'Modules/Test/classes/tables/class.ilTestPassOverviewTableGUI.php';
189
190 $table = new ilTestPassOverviewTableGUI(
191 $this,
192 '',
194 (isset($_GET['pdf']) && $_GET['pdf'] == 1)
195 );
196 $data = array();
197
198 $counted_pass = $this->object->_getResultPass($active_id);
199 $reached_pass = $this->object->_getPass($active_id);
200
201 require_once 'Modules/Test/classes/class.ilTestPassesSelector.php';
202 $testPassesSelector = new ilTestPassesSelector($GLOBALS['ilDB'], $this->object);
203 $testPassesSelector->setAdminModeEnabled($adminMode);
204 $testPassesSelector->setActiveId($active_id);
205 $lastFinishedPass = $this->testSessionFactory->getSession($active_id)->getLastFinishedPass();
206 $testPassesSelector->setLastFinishedPass($lastFinishedPass);
207
208 foreach($testPassesSelector->getReportablePasses() as $pass)
209 {
210 $row = array();
211
212 if(!$short)
213 {
214 $result_array =& $this->object->getTestResult($active_id, $pass);
215 if(!$result_array['pass']['total_max_points'])
216 {
217 $percentage = 0;
218 }
219 else
220 {
221 $percentage = ($result_array['pass']['total_reached_points'] / $result_array['pass']['total_max_points']) * 100;
222 }
223 $total_max = $result_array['pass']['total_max_points'];
224 $total_reached = $result_array['pass']['total_reached_points'];
225 $total_requested_hints = $result_array['pass']['total_requested_hints'];
226 }
227 if(!$hide_details)
228 {
229 if(strlen($targetclass) && strlen($targetcommand))
230 {
231 $this->ctrl->setParameterByClass($targetclass, 'active_id', $active_id);
232 $this->ctrl->setParameterByClass($targetclass, 'pass', $pass);
233
234 $aslgui = new ilAdvancedSelectionListGUI();
235 $aslgui->setListTitle($this->lng->txt('actions'));
236 $aslgui->setId($pass);
237 $aslgui->addItem(
238 $this->lng->txt('tst_pass_details'),
239 'tst_pass_details',
240 $this->ctrl->getLinkTargetByClass($targetclass, $targetcommand)
241 );
242 if($this->object->isPassDeletionAllowed() && $pass != $counted_pass)
243 {
244 $aslgui->addItem(
245 $this->lng->txt('delete'),
246 'tst_pass_delete',
247 $this->ctrl->getLinkTargetByClass($targetclass, 'confirmDeletePass')
248 );
249 $delete_entry = true;
250 }
251
252 if($delete_entry == true)
253 {
254 $row['pass_details'] = $aslgui->getHTML();
255 }
256 else
257 {
258 $row['pass_details'] = '<a href="'.$this->ctrl->getLinkTargetByClass($targetclass, $targetcommand).'">'.$this->lng->txt('tst_pass_details').'</a>';
259 }
260 }
261 }
262
263 if(!$short)
264 {
265 if(($pass == $counted_pass))
266 {
267 $row['scored'] = '&otimes;';
268 }
269 else
270 {
271 $row['scored'] = '';
272 }
273 }
274
275 $row['pass'] = $pass + 1;
276 $row['date'] = $this->object->getPassFinishDate($active_id, $pass);
277 if(!$short)
278 {
279 $row['answered'] = $result_array['pass']['num_workedthrough'] . ' ' . strtolower($this->lng->txt('of')) . ' ' . (count($result_array) - 2);
280 if($this->object->isOfferingQuestionHintsEnabled())
281 {
282 $row['hints'] = $total_requested_hints;
283 }
284 $row['reached'] = $total_reached . ' ' . strtolower($this->lng->txt('of')) . ' ' . $total_max;
285 $row['percentage'] = $percentage;
286 }
287
288 $data[] = $row;
289 }
290
291 $table->setData($data);
292 return $table->getHTML();
293 }
User interface class for advanced drop-down selection lists.
Class ilTestPassOverviewTableGUI.
$GLOBALS['ct_recipient']

References $_GET, $data, $GLOBALS, $pass, $row, ilTestPassOverviewTableGUI\CONTEXT_LONG, and ilTestPassOverviewTableGUI\CONTEXT_SHORT.

Referenced by ilTestEvaluationGUI\outParticipantsResultsOverview(), ilTestEvaluationGUI\outUserListOfAnswerPasses(), and ilTestEvaluationGUI\outUserResultsOverview().

+ Here is the caller graph for this function:

◆ getQuestionResultForTestUsers()

ilTestServiceGUI::getQuestionResultForTestUsers (   $question_id,
  $test_id 
)

Creates a HTML representation for the results of a given question in a test.

Parameters
integer$question_idThe original id of the question
integer$test_idThe test id
Returns
string HTML code of the question results

Definition at line 838 of file class.ilTestServiceGUI.php.

839 {
840 // REQUIRED, since we call this object regardless of the loop
841 $question_gui = $this->object->createQuestionGUI("", $question_id);
842
843 $foundusers = $this->object->getParticipantsForTestAndQuestion($test_id, $question_id);
844 $output = '';
845 foreach($foundusers as $active_id => $passes)
846 {
847 $resultpass = $this->object->_getResultPass($active_id);
848 for($i = 0; $i < count($passes); $i++)
849 {
850 if(($resultpass !== null) && ($resultpass == $passes[$i]["pass"]))
851 {
852 if($output)
853 {
854 $output .= "<br /><br /><br />";
855 }
856
857 // check if re-instantiation is really neccessary
858 $question_gui = $this->object->createQuestionGUI("", $passes[$i]["qid"]);
859 $output .= $this->getResultsHeadUserAndPass($active_id, $resultpass + 1);
860 $output .= $question_gui->getSolutionOutput(
861 $active_id,
862 $resultpass,
863 $graphicalOutput = FALSE,
864 $result_output = FALSE,
865 $show_question_only = FALSE,
866 $show_feedback = FALSE
867 );
868 }
869 }
870 }
871
872 require_once './Modules/Test/classes/class.ilTestPDFGenerator.php';
873 ilTestPDFGenerator::generatePDF($output, ilTestPDFGenerator::PDF_OUTPUT_DOWNLOAD, $question_gui->object->getTitle());
874 }
static generatePDF($pdf_output, $output_mode, $filename=null)
getResultsHeadUserAndPass($active_id, $pass)
Returns the user and pass data for a test results output.

References ilTestPDFGenerator\generatePDF(), getResultsHeadUserAndPass(), and ilTestPDFGenerator\PDF_OUTPUT_DOWNLOAD.

Referenced by ilTestEvaluationGUI\exportQuestionForAllParticipants().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getResultsHeadUserAndPass()

ilTestServiceGUI::getResultsHeadUserAndPass (   $active_id,
  $pass 
)

Returns the user and pass data for a test results output.

Parameters
integer$active_idThe active ID of the user
Returns
string HTML code of the user data for the test results @access public

Definition at line 783 of file class.ilTestServiceGUI.php.

784 {
785 $template = new ilTemplate("tpl.il_as_tst_results_head_user_pass.html", TRUE, TRUE, "Modules/Test");
786 include_once './Services/User/classes/class.ilObjUser.php';
787 $user_id = $this->object->_getUserIdFromActiveId($active_id);
788 if (strlen(ilObjUser::_lookupLogin($user_id)) > 0)
789 {
790 $user = new ilObjUser($user_id);
791 }
792 else
793 {
794 $user = new ilObjUser();
795 $user->setLastname($this->lng->txt("deleted_user"));
796 }
797 $title_matric = "";
798 if (strlen($user->getMatriculation()) && (($this->object->getAnonymity() == FALSE)))
799 {
800 $template->setCurrentBlock("user_matric");
801 $template->setVariable("TXT_USR_MATRIC", $this->lng->txt("matriculation"));
802 $template->parseCurrentBlock();
803 $template->setCurrentBlock("user_matric_value");
804 $template->setVariable("VALUE_USR_MATRIC", $user->getMatriculation());
805 $template->parseCurrentBlock();
806 $template->touchBlock("user_matric_separator");
807 $title_matric = " - " . $this->lng->txt("matriculation") . ": " . $user->getMatriculation();
808 }
809
810 $invited_user = array_pop($this->object->getInvitedUsers($user_id));
811 if (strlen($invited_user["clientip"]))
812 {
813 $template->setCurrentBlock("user_clientip");
814 $template->setVariable("TXT_CLIENT_IP", $this->lng->txt("client_ip"));
815 $template->parseCurrentBlock();
816 $template->setCurrentBlock("user_clientip_value");
817 $template->setVariable("VALUE_CLIENT_IP", $invited_user["clientip"]);
818 $template->parseCurrentBlock();
819 $template->touchBlock("user_clientip_separator");
820 $title_client = " - " . $this->lng->txt("clientip") . ": " . $invited_user["clientip"];
821 }
822
823 $template->setVariable("TXT_USR_NAME", $this->lng->txt("name"));
824 $uname = $this->object->userLookupFullName($user_id, FALSE);
825 $template->setVariable("VALUE_USR_NAME", $uname);
826 $template->setVariable("TXT_PASS", $this->lng->txt("scored_pass"));
827 $template->setVariable("VALUE_PASS", $pass);
828 return $template->get();
829 }
_lookupLogin($a_user_id)
lookup login

References $pass, and ilObjUser\_lookupLogin().

Referenced by getQuestionResultForTestUsers().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getResultsOfUserOutput()

ilTestServiceGUI::getResultsOfUserOutput (   $testSession,
  $active_id,
  $pass,
  $targetGUI,
  $show_pass_details = TRUE,
  $show_answers = TRUE,
  $show_question_only = FALSE,
  $show_reached_points = FALSE 
)

Output of the pass overview for a test called by a test participant.

Parameters
ilTestSession | ilTestSessionDynamicQuestionSet$testSession
integer$active_id
integer$pass
boolean$show_pass_details
boolean$show_answers
boolean$show_question_only
boolean$show_reached_points@access public

Definition at line 686 of file class.ilTestServiceGUI.php.

687 {
688 global $ilias, $tpl;
689
690 include_once("./Services/UICore/classes/class.ilTemplate.php");
691 $template = new ilTemplate("tpl.il_as_tst_results_participant.html", TRUE, TRUE, "Modules/Test");
692
693 if( $this->participantData instanceof ilTestParticipantData )
694 {
695 $user_id = $this->participantData->getUserIdByActiveId($active_id);
696 $uname = $this->participantData->getConcatedFullnameByActiveId($active_id, false);
697 }
698 else
699 {
700 $user_id = $this->object->_getUserIdFromActiveId($active_id);
701 $uname = $this->object->userLookupFullName($user_id, TRUE);
702 }
703
704 if (((array_key_exists("pass", $_GET)) && (strlen($_GET["pass"]) > 0)) || (!is_null($pass)))
705 {
706 if (is_null($pass)) $pass = $_GET["pass"];
707 }
708
709 $user_data = $this->getResultsUserdata($testSession, $active_id, TRUE);
710
711 if (!is_null($pass))
712 {
713 $result_array =& $this->object->getTestResult($active_id, $pass);
714 $command_solution_details = "";
715 if ($show_pass_details)
716 {
717 $detailsoverview = $this->getPassDetailsOverview($result_array, $active_id, $pass, $targetGUI, "getResultsOfUserOutput", $command_solution_details, $show_answers);
718 }
719
720 $user_id = $this->object->_getUserIdFromActiveId($active_id);
721 $showAllAnswers = TRUE;
722 if ($this->object->isExecutable($testSession, $user_id))
723 {
724 $showAllAnswers = FALSE;
725 }
726 if ($show_answers)
727 {
728 $list_of_answers = $this->getPassListOfAnswers(
729 $result_array, $active_id, $pass, $_SESSION['tst_results_show_best_solutions'],
730 $showAllAnswers, $show_question_only, $show_reached_points, $show_pass_details
731 );
732 }
733
734 $template->setVariable("LIST_OF_ANSWERS", $list_of_answers);
735 //$template->setVariable("PASS_RESULTS_OVERVIEW", sprintf($this->lng->txt("tst_results_overview_pass"), $pass + 1));
736 $template->setVariable("PASS_DETAILS", $detailsoverview);
737
738 $signature = $this->getResultsSignature();
739 $template->setVariable("SIGNATURE", $signature);
740
741 if ($this->object->isShowExamIdInTestResultsEnabled())
742 {
743 $template->setCurrentBlock('exam_id_footer');
744 $template->setVariable('EXAM_ID_VAL', $this->object->lookupExamId(
745 $testSession->getActiveId(), $pass
746 ));
747 $template->setVariable('EXAM_ID_TXT', $this->lng->txt('exam_id'));
748 $template->parseCurrentBlock();
749 }
750 }
751
752 $template->setCurrentBlock('participant_back_anchor');
753 $template->setVariable("HREF_PARTICIPANT_BACK_ANCHOR", "#tst_results_toolbar");
754 $template->setVariable("TXT_PARTICIPANT_BACK_ANCHOR", $this->lng->txt('tst_back_to_top'));
755 $template->parseCurrentBlock();
756
757 $template->setCurrentBlock('participant_block_id');
758 $template->setVariable("PARTICIPANT_BLOCK_ID", "participant_active_{$active_id}");
759 $template->parseCurrentBlock();
760
761 $template->setVariable("TEXT_HEADING", sprintf($this->lng->txt("tst_result_user_name"), $uname));
762 $template->setVariable("USER_DATA", $user_data);
763
764 if( $this->isGradingMessageRequired() )
765 {
766 $template->setCurrentBlock('grading_message');
767 $template->setVariable('GRADING_MESSAGE', $this->getGradingMessage($active_id));
768 $template->parseCurrentBlock();
769 }
770
771 $template->parseCurrentBlock();
772
773 return $template->get();
774 }
getResultsSignature()
Returns HTML code for a signature field.
getResultsUserdata($testSession, $active_id, $overwrite_anonymity=FALSE)
Returns the user data for a test results output.
getPassDetailsOverview($result_array, $active_id, $pass, $targetGUI, $targetCMD, $questionDetailsCMD, $questionAnchorNav)
getPassListOfAnswers(&$result_array, $active_id, $pass, $show_solutions=FALSE, $only_answered_questions=FALSE, $show_question_only=FALSE, $show_reached_points=FALSE, $anchorNav=false)
Returns the list of answers of a users test pass.
< a tabindex="-1" style="border-style: none;" href="#" title="Refresh Image" onclick="document.getElementById('siimage').src = './securimage_show.php?sid=' + Math.random(); this.blur(); return false">< img src="./images/refresh.png" alt="Reload Image" height="32" width="32" onclick="this.blur()" align="bottom" border="0"/></a >< br/>< strong > Enter Code *if($_SERVER['REQUEST_METHOD']=='POST' &&@ $_POST['do']=='contact') $_SESSION['ctform']['success']

References $_GET, $_SESSION, $ilias, $pass, $tpl, getGradingMessage(), getPassDetailsOverview(), getPassListOfAnswers(), getResultsSignature(), getResultsUserdata(), and isGradingMessageRequired().

+ Here is the call graph for this function:

◆ getResultsSignature()

ilTestServiceGUI::getResultsSignature ( )

Returns HTML code for a signature field.

Returns
string HTML code of the date and signature field for the test results @access public

Definition at line 523 of file class.ilTestServiceGUI.php.

524 {
525 if ($this->object->getShowSolutionSignature() && !$this->object->getAnonymity())
526 {
527 $template = new ilTemplate("tpl.il_as_tst_results_userdata_signature.html", TRUE, TRUE, "Modules/Test");
528 $template->setVariable("TXT_DATE", $this->lng->txt("date"));
531 $template->setVariable("VALUE_DATE", ilDatePresentation::formatDate(new ilDate(time(), IL_CAL_UNIX)));
533 $template->setVariable("TXT_SIGNATURE", $this->lng->txt("tst_signature"));
534 $template->setVariable("IMG_SPACER", ilUtil::getImagePath("spacer.png"));
535 return $template->get();
536 }
537 else
538 {
539 return "";
540 }
541 }
const IL_CAL_UNIX
static setUseRelativeDates($a_status)
set use relative dates
static formatDate(ilDateTime $date)
Format a date @access public.
static useRelativeDates()
check if relative dates are used
Class for single dates.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)

References ilDatePresentation\formatDate(), ilUtil\getImagePath(), IL_CAL_UNIX, ilDatePresentation\setUseRelativeDates(), and ilDatePresentation\useRelativeDates().

Referenced by getResultsOfUserOutput(), ilTestEvaluationGUI\outUserListOfAnswerPasses(), ilTestEvaluationGUI\outUserPassDetails(), and ilTestPlayerAbstractGUI\showListOfAnswers().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getResultsUserdata()

ilTestServiceGUI::getResultsUserdata (   $testSession,
  $active_id,
  $overwrite_anonymity = FALSE 
)

Returns the user data for a test results output.

Parameters
ilTestSession|ilTestSessionDynamicQuestionSet
integer$user_idThe user ID of the user
boolean$overwrite_anonymityTRUE if the anonymity status should be overwritten, FALSE otherwise
Returns
string HTML code of the user data for the test results @access public

Definition at line 552 of file class.ilTestServiceGUI.php.

553 {
554 if(!is_object($testSession)) throw new TestException();
555 $template = new ilTemplate("tpl.il_as_tst_results_userdata.html", TRUE, TRUE, "Modules/Test");
556 include_once './Services/User/classes/class.ilObjUser.php';
557 $user_id = $this->object->_getUserIdFromActiveId($active_id);
558 if (strlen(ilObjUser::_lookupLogin($user_id)) > 0)
559 {
560 $user = new ilObjUser($user_id);
561 }
562 else
563 {
564 $user = new ilObjUser();
565 $user->setLastname($this->lng->txt("deleted_user"));
566 }
567 $t = $testSession->getSubmittedTimestamp();
568 if (!$t)
569 {
570 $t = $this->object->_getLastAccess($testSession->getActiveId());
571 }
572 $print_date = mktime(date("H"), date("i"), date("s"), date("m") , date("d"), date("Y"));
573
574 $title_matric = "";
575 if (strlen($user->getMatriculation()) && (($this->object->getAnonymity() == FALSE) || ($overwrite_anonymity)))
576 {
577 $template->setCurrentBlock("user_matric");
578 $template->setVariable("TXT_USR_MATRIC", $this->lng->txt("matriculation"));
579 $template->parseCurrentBlock();
580 $template->setCurrentBlock("user_matric_value");
581 $template->setVariable("VALUE_USR_MATRIC", $user->getMatriculation());
582 $template->parseCurrentBlock();
583 $template->touchBlock("user_matric_separator");
584 $title_matric = " - " . $this->lng->txt("matriculation") . ": " . $user->getMatriculation();
585 }
586
587 $invited_user = array_pop($this->object->getInvitedUsers($user_id));
588 if (strlen($invited_user["clientip"]))
589 {
590 $template->setCurrentBlock("user_clientip");
591 $template->setVariable("TXT_CLIENT_IP", $this->lng->txt("client_ip"));
592 $template->parseCurrentBlock();
593 $template->setCurrentBlock("user_clientip_value");
594 $template->setVariable("VALUE_CLIENT_IP", $invited_user["clientip"]);
595 $template->parseCurrentBlock();
596 $template->touchBlock("user_clientip_separator");
597 $title_client = " - " . $this->lng->txt("clientip") . ": " . $invited_user["clientip"];
598 }
599
600 $template->setVariable("TXT_TEST_TITLE", $this->lng->txt("title"));
601 $template->setVariable("VALUE_TEST_TITLE", $this->object->getTitle());
602 $template->setVariable("TXT_USR_NAME", $this->lng->txt("name"));
603 $uname = $this->object->userLookupFullName($user_id, $overwrite_anonymity);
604 $template->setVariable("VALUE_USR_NAME", $uname);
605 $template->setVariable("TXT_TEST_DATE", $this->lng->txt("tst_tst_date"));
606 $template->setVariable("TXT_PRINT_DATE", $this->lng->txt("tst_print_date"));
609 $template->setVariable("VALUE_TEST_DATE", ilDatePresentation::formatDate(new ilDateTime(ilUtil::date_mysql2time($t), IL_CAL_UNIX)));
610 $template->setVariable("VALUE_PRINT_DATE", ilDatePresentation::formatDate(new ilDateTime($print_date, IL_CAL_UNIX)));
612
613 // change the pagetitle
614 $pagetitle = ": " . $this->object->getTitle() . $title_matric . $title_client;
615 $this->tpl->setHeaderPageTitle($pagetitle);
616
617 return $template->get();
618 }
@classDescription Date and time handling
static date_mysql2time($mysql_date_time)

References $t, ilObjUser\_lookupLogin(), ilUtil\date_mysql2time(), ilDatePresentation\formatDate(), IL_CAL_UNIX, ilDatePresentation\setUseRelativeDates(), and ilDatePresentation\useRelativeDates().

Referenced by getResultsOfUserOutput(), ilTestEvaluationGUI\outParticipantsPassDetails(), ilTestEvaluationGUI\outParticipantsResultsOverview(), ilTestEvaluationGUI\outUserListOfAnswerPasses(), ilTestEvaluationGUI\outUserPassDetails(), ilTestEvaluationGUI\outUserResultsOverview(), and ilTestPlayerAbstractGUI\showListOfAnswers().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ilTestServiceGUI()

ilTestServiceGUI::ilTestServiceGUI ( ilObjTest  $a_object)

The constructor takes the test object reference as parameter.

Parameters
object$a_objectAssociated ilObjTest class @access public

Definition at line 93 of file class.ilTestServiceGUI.php.

94 {
95 global $lng, $tpl, $ilCtrl, $ilias, $tree, $ilDB, $ilPluginAdmin;
96
97 $this->db = $ilDB;
98 $this->lng =& $lng;
99 $this->tpl =& $tpl;
100 $this->ctrl =& $ilCtrl;
101 $this->ilias =& $ilias;
102 $this->object =& $a_object;
103 $this->tree =& $tree;
104 $this->ref_id = $a_object->ref_id;
105
106 $this->service = new ilTestService($a_object);
107
108 require_once 'Modules/Test/classes/class.ilTestSessionFactory.php';
109 $this->testSessionFactory = new ilTestSessionFactory($this->object);
110
111 require_once 'Modules/Test/classes/class.ilTestSequenceFactory.php';
112 $this->testSequenceFactory = new ilTestSequenceFactory($this->db, $this->lng, $ilPluginAdmin, $this->object);
113 }
Service class for tests.
global $ilCtrl
Definition: ilias.php:18
redirection script todo: (a better solution should control the processing via a xml file)
global $ilDB

References $ilCtrl, $ilDB, $ilias, $lng, $tpl, and $tree.

◆ isContextWithinTestPass()

ilTestServiceGUI::isContextWithinTestPass ( )
Returns
boolean

Definition at line 74 of file class.ilTestServiceGUI.php.

References $contextWithinTestPass.

Referenced by getPassListOfAnswers().

+ Here is the caller graph for this function:

◆ isGradingMessageRequired()

ilTestServiceGUI::isGradingMessageRequired ( )
protected

Definition at line 887 of file class.ilTestServiceGUI.php.

888 {
889 if( $this->object->isShowGradingStatusEnabled() )
890 {
891 return true;
892 }
893
894 if( $this->object->isShowGradingMarkEnabled() )
895 {
896 return true;
897 }
898
899 if( $this->object->areObligationsEnabled() )
900 {
901 return true;
902 }
903
904 return false;
905 }

Referenced by getResultsOfUserOutput(), ilTestEvaluationGUI\outParticipantsPassDetails(), ilTestEvaluationGUI\outParticipantsResultsOverview(), ilTestEvaluationGUI\outUserPassDetails(), and ilTestEvaluationGUI\outUserResultsOverview().

+ Here is the caller graph for this function:

◆ isPdfDeliveryRequest()

ilTestServiceGUI::isPdfDeliveryRequest ( )
protected
Returns
bool

Definition at line 162 of file class.ilTestServiceGUI.php.

163 {
164 if( !isset($_GET['pdf']) )
165 {
166 return false;
167 }
168
169 if( !(bool)$_GET['pdf'] )
170 {
171 return false;
172 }
173
174 return true;
175 }

References $_GET.

Referenced by buildPassDetailsOverviewTableGUI(), ilTestEvaluationGUI\executeCommand(), ilTestEvaluationGUI\outParticipantsPassDetails(), ilTestEvaluationGUI\outUserPassDetails(), and ilTestEvaluationGUI\outUserResultsOverview().

+ Here is the caller graph for this function:

◆ setContextWithinTestPass()

ilTestServiceGUI::setContextWithinTestPass (   $contextWithinTestPass)
Parameters
boolean$contextWithinTestPass

Definition at line 82 of file class.ilTestServiceGUI.php.

83 {
84 $this->contextWithinTestPass = $contextWithinTestPass;
85 }

References $contextWithinTestPass.

◆ setParticipantData()

ilTestServiceGUI::setParticipantData (   $participantData)
Parameters
\ilTestParticipantData$participantData

Definition at line 118 of file class.ilTestServiceGUI.php.

119 {
120 $this->participantData = $participantData;
121 }

References $participantData.

Field Documentation

◆ $contextWithinTestPass

ilTestServiceGUI::$contextWithinTestPass = false
private

Definition at line 69 of file class.ilTestServiceGUI.php.

Referenced by isContextWithinTestPass(), and setContextWithinTestPass().

◆ $ctrl

ilTestServiceGUI::$ctrl

Definition at line 44 of file class.ilTestServiceGUI.php.

◆ $db

ilTestServiceGUI::$db
protected

Definition at line 36 of file class.ilTestServiceGUI.php.

◆ $ilias

◆ $lng

◆ $object

ilTestServiceGUI::$object = null

Definition at line 26 of file class.ilTestServiceGUI.php.

◆ $participantData

ilTestServiceGUI::$participantData
protected

◆ $ref_id

ilTestServiceGUI::$ref_id

Definition at line 48 of file class.ilTestServiceGUI.php.

◆ $service

ilTestServiceGUI::$service = null

Definition at line 31 of file class.ilTestServiceGUI.php.

◆ $testSequenceFactory

ilTestServiceGUI::$testSequenceFactory = null
protected

◆ $testSessionFactory

ilTestServiceGUI::$testSessionFactory = null
protected

◆ $tpl

◆ $tree


The documentation for this class was generated from the following file: