24 include_once
"./Modules/TestQuestionPool/classes/class.assQuestionGUI.php";
25 include_once
"./Modules/Test/classes/inc.AssessmentConstants.php";
53 include_once
"./Modules/TestQuestionPool/classes/class.assImagemapQuestion.php";
57 $this->
object->loadFromDb($id);
59 $assessmentSetting =
new ilSetting(
"assessment");
60 $this->linecolor = (strlen($assessmentSetting->get(
"imap_line_color"))) ?
"#" . $assessmentSetting->get(
"imap_line_color") :
"#FF0000";
66 if (isset(
$_POST[
"imagemap"]) ||
67 isset(
$_POST[
"imagemap_x"]) ||
68 isset(
$_POST[
"imagemap_y"]))
70 $this->ctrl->setCmd(
"getCoords");
85 $hasErrors = (!$always) ? $this->
editQuestion(
true) :
false;
88 $this->
object->setTitle(
$_POST[
"title"]);
89 $this->
object->setAuthor(
$_POST[
"author"]);
90 $this->
object->setComment(
$_POST[
"comment"]);
91 include_once
"./Services/AdvancedEditing/classes/class.ilObjAdvancedEditing.php";
92 $questiontext =
$_POST[
"question"];
93 $this->
object->setQuestion($questiontext);
96 $this->
object->setNrOfTries(
$_POST[
'nr_of_tries']);
98 $this->
object->setEstimatedWorkingTime(
100 $_POST[
"Estimated"][
"mm"],
104 if (
$_POST[
'image_delete'])
106 $this->
object->deleteImage();
110 if (strlen($_FILES[
'image'][
'tmp_name']) == 0)
112 $this->
object->setImageFilename(
$_POST[
"image_name"]);
115 if (strlen($_FILES[
'image'][
'tmp_name']))
118 $this->
object->setImageFilename($_FILES[
'image'][
'name'], $_FILES[
'image'][
'tmp_name']);
121 if (!
$_POST[
'image_delete'])
123 $this->
object->flushAnswers();
124 if (is_array(
$_POST[
'image'][
'coords'][
'name']))
126 foreach (
$_POST[
'image'][
'coords'][
'name'] as $idx => $name)
128 $this->
object->addAnswer($name,
$_POST[
'image'][
'coords'][
'points'][$idx], $idx,
$_POST[
'image'][
'coords'][
'coords'][$idx],
$_POST[
'image'][
'coords'][
'shape'][$idx]);
131 if (strlen($_FILES[
'imagemapfile'][
'tmp_name']))
134 $this->
object->uploadImagemap($_FILES[
'imagemapfile'][
'tmp_name']);
155 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
157 $form->setFormAction($this->ctrl->getFormAction($this));
159 $form->setMultipart(TRUE);
160 $form->setTableWidth(
"100%");
161 $form->setId(
"assimagemap");
167 include_once
"./Modules/TestQuestionPool/classes/class.ilImagemapFileInputGUI.php";
171 if (strlen($this->object->getImageFilename()))
173 $image->setImage($this->object->getImagePathWeb() . $this->
object->getImageFilename());
174 $image->setValue($this->object->getImageFilename());
175 $image->setAreas($this->object->getAnswers());
176 $assessmentSetting =
new ilSetting(
"assessment");
177 $linecolor = (strlen($assessmentSetting->get(
"imap_line_color"))) ?
"\"#" . $assessmentSetting->get(
"imap_line_color") .
"\"" :
"\"#FF0000\"";
179 $image->setImagePath($this->object->getImagePath());
180 $image->setImagePathWeb($this->object->getImagePathWeb());
182 $form->addItem($image);
185 $imagemapfile =
new ilFileInputGUI($this->lng->txt(
'add_imagemap'),
'imagemapfile');
187 $form->addItem($imagemapfile);
195 $form->setValuesByPost();
196 $errors = !$form->checkInput();
197 $form->setValuesByPost();
198 if (
$errors) $checkonly =
false;
201 if (!$checkonly) $this->tpl->setVariable(
"QUESTION_DATA", $form->getHTML());
229 $coords = join(
$_POST[
'image'][
'mapcoords'],
",");
233 if (preg_match(
"/(\d+)\s*,\s*(\d+)\s+(\d+)\s*,\s*(\d+)/",
$_POST[
'image'][
'mapcoords'][0] .
" " .
$_POST[
'image'][
'mapcoords'][1], $matches))
235 $coords =
"$matches[1],$matches[2]," . (int)sqrt((($matches[3]-$matches[1])*($matches[3]-$matches[1]))+(($matches[4]-$matches[2])*($matches[4]-$matches[2])));
240 $coords = join($_POST[
'image'][
'mapcoords'],
",");
244 $this->
object->addAnswer(
$_POST[
"shapetitle"], 0, count($this->object->getAnswers()), $coords,
$_POST[
"shape"]);
245 $this->
object->saveToDb();
246 $this->ctrl->redirect($this,
'editQuestion');
251 $shape = (strlen($shape)) ? $shape :
$_POST[
'shape'];
252 include_once
"./Modules/TestQuestionPool/classes/class.ilImagemapPreview.php";
254 $this->tpl->addBlockFile(
"QUESTION_DATA",
"question_data",
"tpl.il_as_qpl_imagemap_question.html",
"Modules/TestQuestionPool");
256 if (is_array(
$_POST[
'image'][
'mapcoords']))
258 foreach (
$_POST[
'image'][
'mapcoords'] as $value)
260 array_push($coords, $value);
263 if (is_array(
$_POST[
'cmd'][
'areaEditor'][
'image']))
265 array_push($coords,
$_POST[
'cmd'][
'areaEditor'][
'image'][0] .
"," .
$_POST[
'cmd'][
'areaEditor'][
'image'][1]);
267 foreach ($coords as $value)
269 $this->tpl->setCurrentBlock(
"hidden");
270 $this->tpl->setVariable(
"HIDDEN_NAME",
'image[mapcoords][]');
271 $this->tpl->setVariable(
"HIDDEN_VALUE", $value);
272 $this->tpl->parseCurrentBlock();
275 $this->tpl->setCurrentBlock(
"hidden");
276 $this->tpl->setVariable(
"HIDDEN_NAME",
'shape');
277 $this->tpl->setVariable(
"HIDDEN_VALUE", $shape);
278 $this->tpl->parseCurrentBlock();
281 foreach ($this->object->answers as $index => $answer)
283 $preview->addArea($index, $answer->getArea(), $answer->getCoords(), $answer->getAnswertext(),
"",
"",
true,
$this->linecolor);
286 $disabled_save =
" disabled=\"disabled\"";
291 if (count($coords) == 0)
295 else if (count($coords) == 1)
298 $preview->addPoint(
$preview->getAreaCount(), join($coords,
","), TRUE,
"blue");
300 else if (count($coords) == 2)
302 $c = join($coords,
",");
308 if (count($coords) == 0)
312 else if (count($coords) == 1)
315 $preview->addPoint(
$preview->getAreaCount(), join($coords,
","), TRUE,
"blue");
317 else if (count($coords) == 2)
319 if (preg_match(
"/(\d+)\s*,\s*(\d+)\s+(\d+)\s*,\s*(\d+)/", $coords[0] .
" " . $coords[1], $matches))
321 $c =
"$matches[1],$matches[2]," . (int)sqrt((($matches[3]-$matches[1])*($matches[3]-$matches[1]))+(($matches[4]-$matches[2])*($matches[4]-$matches[2])));
328 if (count($coords) == 0)
332 else if (count($coords) == 1)
335 $preview->addPoint(
$preview->getAreaCount(), join($coords,
","), TRUE,
"blue");
337 else if (count($coords) > 1)
341 $c = join($coords,
",");
350 $imagepath = $this->
object->getImagePathWeb() .
$preview->getPreviewFilename($this->object->getImagePath(), $this->
object->getImageFilename()) .
"?img=" . time();
353 $this->tpl->setCurrentBlock(
"maparea");
354 $this->tpl->setVariable(
"IMAGE_SOURCE",
"$imagepath");
355 $this->tpl->setVariable(
"IMAGEMAP_NAME",
"image");
356 $this->tpl->parseCurrentBlock();
360 $this->tpl->setCurrentBlock(
"imagearea");
361 $this->tpl->setVariable(
"IMAGE_SOURCE",
"$imagepath");
362 $this->tpl->setVariable(
"ALT_IMAGE", $this->lng->txt(
"imagemap"));
363 $this->tpl->parseCurrentBlock();
366 if (strlen(
$_POST[
'shapetitle']))
368 $this->tpl->setCurrentBlock(
"shapetitle");
369 $this->tpl->setVariable(
"VALUE_SHAPETITLE",
$_POST[
"shapetitle"]);
370 $this->tpl->parseCurrentBlock();
373 $this->tpl->setVariable(
"TEXT_IMAGEMAP", $this->lng->txt(
"imagemap"));
374 $this->tpl->setVariable(
"TEXT_SHAPETITLE", $this->lng->txt(
"name"));
375 $this->tpl->setVariable(
"CANCEL", $this->lng->txt(
"cancel"));
376 $this->tpl->setVariable(
"SAVE", $this->lng->txt(
"save"));
377 $this->tpl->setVariable(
"DISABLED_SAVE", $disabled_save);
381 $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getFormaction($this,
'addRect'));
384 $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getFormaction($this,
'addCircle'));
387 $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getFormaction($this,
'addPoly'));
395 $position = key(
$_POST[
'cmd'][
'removeArea'][
'image']);
396 $this->
object->deleteArea($position);
403 $this->ctrl->redirect($this,
'editQuestion');
406 function outQuestionForTest($formaction, $active_id,
$pass = NULL, $is_postponed = FALSE, $use_post_solutions = FALSE, $show_feedback = FALSE)
408 $test_output = $this->
getTestOutput($active_id,
$pass, $is_postponed, $use_post_solutions, $show_feedback);
409 $this->tpl->setVariable(
"QUESTION_OUTPUT", $test_output);
411 $this->ctrl->setParameterByClass(
"ilTestOutputGUI",
"formtimestamp", time());
412 $formaction = $this->ctrl->getLinkTargetByClass(
"ilTestOutputGUI",
"selectImagemapRegion");
413 include_once
"./Modules/Test/classes/class.ilObjTest.php";
417 $info =& $this->
object->getSolutionValues($active_id,
$pass);
421 $info =& $this->
object->getSolutionValues($active_id, NULL);
425 if (strcmp($info[0][
"value1"],
"") != 0)
427 $formaction .=
"&selImage=" . $info[0][
"value1"];
430 $this->tpl->setVariable(
"FORMACTION", $formaction);
449 $graphicalOutput = FALSE,
450 $result_output = FALSE,
451 $show_question_only = TRUE,
452 $show_feedback = FALSE,
453 $show_correct_solution = FALSE,
454 $show_manual_scoring = FALSE,
455 $show_question_text = TRUE
458 $imagepath = $this->
object->getImagePathWeb() . $this->
object->getImageFilename();
459 $solutions = array();
460 if (($active_id > 0) && (!$show_correct_solution))
462 include_once
"./Modules/Test/classes/class.ilObjTest.php";
467 $solutions =& $this->
object->getSolutionValues($active_id,
$pass);
473 foreach ($this->object->answers as $index => $answer)
475 if ($answer->getPoints() > $max_points)
477 $max_points = $answer->getPoints();
478 $found_index = $index;
481 array_push($solutions, array(
"value1" => $found_index));
484 if (is_array($solutions))
486 include_once
"./Modules/TestQuestionPool/classes/class.ilImagemapPreview.php";
488 foreach ($solutions as $idx => $solution_value)
490 if (strcmp($solution_value[
"value1"],
"") != 0)
492 $preview->addArea($solution_value[
"value1"], $this->object->answers[$solution_value[
"value1"]]->getArea(), $this->
object->answers[$solution_value[
"value1"]]->getCoords(), $this->
object->answers[$solution_value[
"value1"]]->getAnswertext(),
"",
"",
true,
$this->linecolor);
493 $solution_id = $solution_value[
"value1"];
497 $imagepath = $this->
object->getImagePathWeb() .
$preview->getPreviewFilename($this->object->getImagePath(), $this->
object->getImageFilename());
501 include_once
"./Services/UICore/classes/class.ilTemplate.php";
502 $template =
new ilTemplate(
"tpl.il_as_qpl_imagemap_question_output_solution.html", TRUE, TRUE,
"Modules/TestQuestionPool");
503 $solutiontemplate =
new ilTemplate(
"tpl.il_as_tst_solution_output.html",TRUE, TRUE,
"Modules/TestQuestionPool");
504 $questiontext = $this->
object->getQuestion();
505 if ($show_question_text==
true)
507 $template->setVariable(
"QUESTIONTEXT", $this->object->prepareTextareaOutput($questiontext, TRUE));
509 $template->setVariable(
"IMG_SRC",
"$imagepath");
510 $template->setVariable(
"IMG_ALT", $this->lng->txt(
"imagemap"));
511 $template->setVariable(
"IMG_TITLE", $this->lng->txt(
"imagemap"));
512 if (($active_id > 0) && (!$show_correct_solution))
514 if ($graphicalOutput)
517 $reached_points = $this->
object->getReachedPoints($active_id,
$pass);
518 if ($reached_points == $this->object->getMaximumPoints())
520 $template->setCurrentBlock(
"icon_ok");
522 $template->setVariable(
"TEXT_OK", $this->lng->txt(
"answer_is_right"));
523 $template->parseCurrentBlock();
527 $template->setCurrentBlock(
"icon_ok");
528 if ($reached_points > 0)
531 $template->setVariable(
"TEXT_NOT_OK", $this->lng->txt(
"answer_is_not_correct_but_positive"));
536 $template->setVariable(
"TEXT_NOT_OK", $this->lng->txt(
"answer_is_wrong"));
538 $template->parseCurrentBlock();
545 $fb = $this->
object->getFeedbackSingleAnswer($solution_id);
548 $template->setCurrentBlock(
"feedback");
549 $template->setVariable(
"FEEDBACK", $fb);
550 $template->parseCurrentBlock();
554 $questionoutput = $template->get();
556 if (strlen($feedback)) $solutiontemplate->setVariable(
"FEEDBACK", $this->object->prepareTextareaOutput( $feedback,
true ));
557 $solutiontemplate->setVariable(
"SOLUTION_OUTPUT", $questionoutput);
559 $solutionoutput = $solutiontemplate->get();
560 if (!$show_question_only)
563 $solutionoutput =
'<div class="ilc_question_Standard">'.$solutionoutput.
"</div>";
565 return $solutionoutput;
570 $imagepath = $this->
object->getImagePathWeb() . $this->
object->getImageFilename();
572 include_once
"./Services/UICore/classes/class.ilTemplate.php";
573 $template =
new ilTemplate(
"tpl.il_as_qpl_imagemap_question_output.html", TRUE, TRUE,
"Modules/TestQuestionPool");
575 foreach ($this->object->answers as $answer_id => $answer)
577 $template->setCurrentBlock(
"imagemap_area");
578 $template->setVariable(
"HREF_AREA", $formaction);
579 $template->setVariable(
"SHAPE", $answer->getArea());
580 $template->setVariable(
"COORDS", $answer->getCoords());
583 $template->parseCurrentBlock();
585 $questiontext = $this->
object->getQuestion();
586 $template->setVariable(
"QUESTIONTEXT", $this->object->prepareTextareaOutput($questiontext, TRUE));
587 $template->setVariable(
"IMG_SRC",
"$imagepath");
588 $template->setVariable(
"IMG_ALT", $this->lng->txt(
"imagemap"));
589 $template->setVariable(
"IMG_TITLE", $this->lng->txt(
"imagemap"));
590 $questionoutput = $template->get();
591 if (!$show_question_only)
596 return $questionoutput;
599 function getTestOutput($active_id,
$pass = NULL, $is_postponed = FALSE, $use_post_solutions = FALSE, $show_feedback = FALSE)
606 include_once
"./Modules/Test/classes/class.ilObjTest.php";
611 $solutions =& $this->
object->getSolutionValues($active_id,
$pass);
612 foreach ($solutions as $idx => $solution_value)
614 $user_solution = $solution_value[
"value1"];
618 $imagepath = $this->
object->getImagePathWeb() . $this->
object->getImageFilename();
622 include_once
"./Modules/Test/classes/class.ilObjTest.php";
627 $solutions =& $this->
object->getSolutionValues($active_id,
$pass);
628 include_once
"./Modules/TestQuestionPool/classes/class.ilImagemapPreview.php";
630 foreach ($solutions as $idx => $solution_value)
632 if (strcmp($solution_value[
"value1"],
"") != 0)
634 $preview->addArea($solution_value[
"value1"], $this->object->answers[$solution_value[
"value1"]]->getArea(), $this->
object->answers[$solution_value[
"value1"]]->getCoords(), $this->
object->answers[$solution_value[
"value1"]]->getAnswertext(),
"",
"",
true,
$this->linecolor);
638 $imagepath = $this->
object->getImagePathWeb() .
$preview->getPreviewFilename($this->object->getImagePath(), $this->
object->getImageFilename());
642 include_once
"./Services/UICore/classes/class.ilTemplate.php";
643 $template =
new ilTemplate(
"tpl.il_as_qpl_imagemap_question_output.html", TRUE, TRUE,
"Modules/TestQuestionPool");
644 $this->ctrl->setParameterByClass(
"ilTestOutputGUI",
"formtimestamp", time());
645 $formaction = $this->ctrl->getLinkTargetByClass(
"ilTestOutputGUI",
"selectImagemapRegion");
646 foreach ($this->object->answers as $answer_id => $answer)
648 $template->setCurrentBlock(
"imagemap_area");
649 $template->setVariable(
"HREF_AREA", $formaction .
"&selImage=$answer_id");
650 $template->setVariable(
"SHAPE", $answer->getArea());
651 $template->setVariable(
"COORDS", $answer->getCoords());
654 $template->parseCurrentBlock();
657 if (strlen($user_solution) && $user_solution == $answer_id)
659 $feedback = $this->
object->getFeedbackSingleAnswer($user_solution);
660 if (strlen($feedback))
662 $template->setCurrentBlock(
"feedback");
663 $template->setVariable(
"FEEDBACK", $feedback);
664 $template->parseCurrentBlock();
669 $questiontext = $this->
object->getQuestion();
670 $template->setVariable(
"QUESTIONTEXT", $this->object->prepareTextareaOutput($questiontext, TRUE));
671 $template->setVariable(
"IMG_SRC",
"$imagepath");
672 $template->setVariable(
"IMG_ALT", $this->lng->txt(
"imagemap"));
673 $template->setVariable(
"IMG_TITLE", $this->lng->txt(
"imagemap"));
674 $questionoutput = $template->get();
675 $pageoutput = $this->
outQuestionPage(
"", $is_postponed, $active_id, $questionoutput);
684 include_once
"./Services/AdvancedEditing/classes/class.ilObjAdvancedEditing.php";
686 $this->
object->saveFeedbackGeneric(0,
$_POST[
"feedback_incomplete"]);
687 $this->
object->saveFeedbackGeneric(1,
$_POST[
"feedback_complete"]);
688 foreach ($this->object->answers as $index => $answer)
690 $this->
object->saveFeedbackSingleAnswer($index,
$_POST[
"feedback_answer_$index"]);
692 $this->
object->cleanupMediaObjectUsage();
703 $save = (strcmp($this->ctrl->getCmd(),
"saveFeedback") == 0) ? TRUE : FALSE;
704 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
706 $form->setFormAction($this->ctrl->getFormAction($this));
707 $form->setTitle($this->lng->txt(
'feedback_answers'));
708 $form->setTableWidth(
"100%");
709 $form->setId(
"feedback");
711 $complete =
new ilTextAreaInputGUI($this->lng->txt(
"feedback_complete_solution"),
"feedback_complete");
712 $complete->
setValue($this->object->prepareTextareaOutput($this->object->getFeedbackGeneric(1)));
713 $complete->setRequired(
false);
714 $complete->setRows(10);
715 $complete->setCols(80);
718 $complete->setUseRte(
true);
720 include_once
"./Services/AdvancedEditing/classes/class.ilObjAdvancedEditing.php";
722 $complete->addPlugin(
"latex");
723 $complete->addButton(
"latex");
724 $complete->addButton(
"pastelatex");
725 $complete->setRTESupport($this->object->getId(),
"qpl",
"assessment", null,
false,
'3.4.7');
726 $form->addItem($complete);
728 $incomplete =
new ilTextAreaInputGUI($this->lng->txt(
"feedback_incomplete_solution"),
"feedback_incomplete");
729 $incomplete->
setValue($this->object->prepareTextareaOutput($this->object->getFeedbackGeneric(0)));
730 $incomplete->setRequired(
false);
731 $incomplete->setRows(10);
732 $incomplete->setCols(80);
735 $incomplete->setUseRte(
true);
737 include_once
"./Services/AdvancedEditing/classes/class.ilObjAdvancedEditing.php";
739 $incomplete->addPlugin(
"latex");
740 $incomplete->addButton(
"latex");
741 $incomplete->addButton(
"pastelatex");
742 $incomplete->setRTESupport($this->object->getId(),
"qpl",
"assessment", null,
false,
'3.4.7');
743 $form->addItem($incomplete);
747 foreach ($this->object->answers as $index => $answer)
749 $text = $this->lng->txt(
'region') .
" " . ($index+1);
750 if (strlen($answer->getAnswertext()))
752 $text = $answer->getAnswertext() .
": " . $text;
754 $answerobj =
new ilTextAreaInputGUI($this->object->prepareTextareaOutput($text),
"feedback_answer_$index");
755 $answerobj->
setValue($this->object->prepareTextareaOutput($this->object->getFeedbackSingleAnswer($index)));
756 $answerobj->setRequired(
false);
757 $answerobj->setRows(10);
758 $answerobj->setCols(80);
759 $answerobj->setUseRte(
true);
760 include_once
"./Services/AdvancedEditing/classes/class.ilObjAdvancedEditing.php";
762 $answerobj->addPlugin(
"latex");
763 $answerobj->addButton(
"latex");
764 $answerobj->addButton(
"pastelatex");
765 $answerobj->setRTESupport($this->object->getId(),
"qpl",
"assessment", null,
false,
'3.4.7');
766 $form->addItem($answerobj);
773 $form->addCommandButton(
"saveFeedback", $this->lng->txt(
"save"));
778 $form->setValuesByPost();
779 $errors = !$form->checkInput();
780 $form->setValuesByPost();
782 if (!$checkonly) $this->tpl->setVariable(
"ADM_CONTENT", $form->getHTML());
795 global $rbacsystem, $ilTabs;
797 $this->ctrl->setParameterByClass(
"ilpageobjectgui",
"q_id",
$_GET[
"q_id"]);
798 include_once
"./Modules/TestQuestionPool/classes/class.assQuestion.php";
799 $q_type = $this->
object->getQuestionType();
803 $classname = $q_type .
"GUI";
804 $this->ctrl->setParameterByClass(strtolower($classname),
"sel_question_types", $q_type);
805 $this->ctrl->setParameterByClass(strtolower($classname),
"q_id",
$_GET[
"q_id"]);
810 if ($rbacsystem->checkAccess(
'write',
$_GET[
"ref_id"]))
813 $ilTabs->addTarget(
"edit_page",
814 $this->ctrl->getLinkTargetByClass(
"ilPageObjectGUI",
"edit"),
815 array(
"edit",
"insert",
"exec_pg"),
816 "",
"", $force_active);
820 $ilTabs->addTarget(
"preview",
821 $this->ctrl->getLinkTargetByClass(
"ilPageObjectGUI",
"preview"),
823 "ilPageObjectGUI",
"", $force_active);
826 $force_active =
false;
827 if ($rbacsystem->checkAccess(
'write',
$_GET[
"ref_id"]))
830 if ($classname) $url = $this->ctrl->getLinkTargetByClass($classname,
"editQuestion");
831 if (array_key_exists(
"imagemap_x",
$_POST))
833 $force_active =
true;
836 $ilTabs->addTarget(
"edit_question",
838 array(
"editQuestion",
"save",
"addArea",
"addRect",
"addCircle",
"addPoly",
839 "uploadingImage",
"uploadingImagemap",
"areaEditor",
840 "removeArea",
"saveShape",
"saveEdit",
"originalSyncForm"),
841 $classname,
"", $force_active);
846 $ilTabs->addTarget(
"feedback",
847 $this->ctrl->getLinkTargetByClass($classname,
"feedback"),
848 array(
"feedback",
"saveFeedback"),
857 $ilTabs->addTarget(
"solution_hint",
858 $this->ctrl->getLinkTargetByClass($classname,
"suggestedsolution"),
859 array(
"suggestedsolution",
"saveSuggestedSolution",
"outSolutionExplorer",
"cancel",
860 "addSuggestedSolution",
"cancelExplorer",
"linkChilds",
"removeSuggestedSolution"
870 $ilTabs->addTarget(
"statistics",
871 $this->ctrl->getLinkTargetByClass($classname,
"assessment"),
876 if ((
$_GET[
"calling_test"] > 0) || (
$_GET[
"test_ref_id"] > 0))
881 global $___test_express_mode;
883 if (!
$_GET[
'test_express_mode'] && !$___test_express_mode) {
884 $ilTabs->setBackTarget($this->lng->txt(
"backtocallingtest"),
"ilias.php?baseClass=ilObjTestGUI&cmd=questions&ref_id=$ref_id");
888 $ilTabs->setBackTarget($this->lng->txt(
"backtocallingtest"), $link);
893 $ilTabs->setBackTarget($this->lng->txt(
"qpl"), $this->ctrl->getLinkTargetByClass(
"ilobjquestionpoolgui",
"questions"));
900 return $this->
object->prepareTextareaOutput($output, TRUE);