24 include_once
"./Modules/TestQuestionPool/classes/class.assQuestionGUI.php";
25 include_once
"./Modules/Test/classes/inc.AssessmentConstants.php";
52 include_once
"./Modules/TestQuestionPool/classes/class.assImagemapQuestion.php";
56 $this->
object->loadFromDb($id);
58 $assessmentSetting =
new ilSetting(
"assessment");
59 $this->linecolor = (strlen($assessmentSetting->get(
"imap_line_color"))) ?
"#" . $assessmentSetting->get(
"imap_line_color") :
"#FF0000";
65 if (isset(
$_POST[
"imagemap"]) ||
66 isset(
$_POST[
"imagemap_x"]) ||
67 isset(
$_POST[
"imagemap_y"]))
69 $this->ctrl->setCmd(
"getCoords");
84 $hasErrors = (!$always) ? $this->
editQuestion(
true) :
false;
87 $this->
object->setTitle(
$_POST[
"title"]);
88 $this->
object->setAuthor(
$_POST[
"author"]);
89 $this->
object->setComment(
$_POST[
"comment"]);
90 include_once
"./Services/AdvancedEditing/classes/class.ilObjAdvancedEditing.php";
91 $questiontext =
$_POST[
"question"];
92 $this->
object->setQuestion($questiontext);
95 $this->
object->setNrOfTries(
$_POST[
'nr_of_tries']);
97 $this->
object->setEstimatedWorkingTime(
103 if (
$_POST[
'image_delete'])
105 $this->
object->deleteImage();
109 if (strlen($_FILES[
'image'][
'tmp_name']) == 0)
111 $this->
object->setImageFilename(
$_POST[
"image_name"]);
114 if (strlen($_FILES[
'image'][
'tmp_name']))
117 $this->
object->setImageFilename($_FILES[
'image'][
'name'], $_FILES[
'image'][
'tmp_name']);
120 if (!
$_POST[
'image_delete'])
122 $this->
object->flushAnswers();
123 if (is_array(
$_POST[
'image'][
'coords'][
'name']))
125 foreach (
$_POST[
'image'][
'coords'][
'name'] as $idx =>
$name)
127 $this->
object->addAnswer(
$name,
$_POST[
'image'][
'coords'][
'points'][$idx], $idx,
$_POST[
'image'][
'coords'][
'coords'][$idx],
$_POST[
'image'][
'coords'][
'shape'][$idx]);
130 if (strlen($_FILES[
'imagemapfile'][
'tmp_name']))
133 $this->
object->uploadImagemap($_FILES[
'imagemapfile'][
'tmp_name']);
151 $save = ((strcmp($this->ctrl->getCmd(),
"save") == 0) || (strcmp($this->ctrl->getCmd(),
"saveEdit") == 0)) ? TRUE : FALSE;
154 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
156 $form->setFormAction($this->ctrl->getFormAction($this));
158 $form->setMultipart(TRUE);
159 $form->setTableWidth(
"100%");
160 $form->setId(
"assimagemap");
166 include_once
"./Modules/TestQuestionPool/classes/class.ilImagemapFileInputGUI.php";
170 if (strlen($this->object->getImageFilename()))
172 $image->setImage($this->object->getImagePathWeb() . $this->
object->getImageFilename());
173 $image->setValue($this->object->getImageFilename());
174 $image->setAreas($this->object->getAnswers());
175 $assessmentSetting =
new ilSetting(
"assessment");
176 $linecolor = (strlen($assessmentSetting->get(
"imap_line_color"))) ?
"\"#" . $assessmentSetting->get(
"imap_line_color") .
"\"" :
"\"#FF0000\"";
178 $image->setImagePath($this->object->getImagePath());
179 $image->setImagePathWeb($this->object->getImagePathWeb());
181 $form->addItem($image);
184 $imagemapfile =
new ilFileInputGUI($this->lng->txt(
'add_imagemap'),
'imagemapfile');
186 $form->addItem($imagemapfile);
194 $form->setValuesByPost();
195 $errors = !$form->checkInput();
196 $form->setValuesByPost();
197 if (
$errors) $checkonly =
false;
200 if (!$checkonly) $this->tpl->setVariable(
"QUESTION_DATA", $form->getHTML());
228 $coords = join(
$_POST[
'image'][
'mapcoords'],
",");
232 if (preg_match(
"/(\d+)\s*,\s*(\d+)\s+(\d+)\s*,\s*(\d+)/",
$_POST[
'image'][
'mapcoords'][0] .
" " .
$_POST[
'image'][
'mapcoords'][1], $matches))
234 $coords =
"$matches[1],$matches[2]," . (int)sqrt((($matches[3]-$matches[1])*($matches[3]-$matches[1]))+(($matches[4]-$matches[2])*($matches[4]-$matches[2])));
239 $coords = join($_POST[
'image'][
'mapcoords'],
",");
243 $this->
object->addAnswer(
$_POST[
"shapetitle"], 0, count($this->object->getAnswers()), $coords,
$_POST[
"shape"]);
244 $this->
object->saveToDb();
245 $this->ctrl->redirect($this,
'editQuestion');
250 $shape = (strlen($shape)) ? $shape :
$_POST[
'shape'];
251 include_once
"./Modules/TestQuestionPool/classes/class.ilImagemapPreview.php";
253 $this->tpl->addBlockFile(
"QUESTION_DATA",
"question_data",
"tpl.il_as_qpl_imagemap_question.html",
"Modules/TestQuestionPool");
255 if (is_array(
$_POST[
'image'][
'mapcoords']))
257 foreach (
$_POST[
'image'][
'mapcoords'] as $value)
259 array_push($coords, $value);
262 if (is_array(
$_POST[
'cmd'][
'areaEditor'][
'image']))
264 array_push($coords,
$_POST[
'cmd'][
'areaEditor'][
'image'][0] .
"," .
$_POST[
'cmd'][
'areaEditor'][
'image'][1]);
266 foreach ($coords as $value)
268 $this->tpl->setCurrentBlock(
"hidden");
269 $this->tpl->setVariable(
"HIDDEN_NAME",
'image[mapcoords][]');
270 $this->tpl->setVariable(
"HIDDEN_VALUE", $value);
271 $this->tpl->parseCurrentBlock();
274 $this->tpl->setCurrentBlock(
"hidden");
275 $this->tpl->setVariable(
"HIDDEN_NAME",
'shape');
276 $this->tpl->setVariable(
"HIDDEN_VALUE", $shape);
277 $this->tpl->parseCurrentBlock();
280 foreach ($this->object->answers as $index => $answer)
282 $preview->addArea($index, $answer->getArea(), $answer->getCoords(), $answer->getAnswertext(),
"",
"",
true,
$this->linecolor);
285 $disabled_save =
" disabled=\"disabled\"";
290 if (count($coords) == 0)
294 else if (count($coords) == 1)
297 $preview->addPoint(
$preview->getAreaCount(), join($coords,
","), TRUE,
"blue");
299 else if (count($coords) == 2)
301 $c = join($coords,
",");
307 if (count($coords) == 0)
311 else if (count($coords) == 1)
314 $preview->addPoint(
$preview->getAreaCount(), join($coords,
","), TRUE,
"blue");
316 else if (count($coords) == 2)
318 if (preg_match(
"/(\d+)\s*,\s*(\d+)\s+(\d+)\s*,\s*(\d+)/", $coords[0] .
" " . $coords[1], $matches))
320 $c =
"$matches[1],$matches[2]," . (int)sqrt((($matches[3]-$matches[1])*($matches[3]-$matches[1]))+(($matches[4]-$matches[2])*($matches[4]-$matches[2])));
327 if (count($coords) == 0)
331 else if (count($coords) == 1)
334 $preview->addPoint(
$preview->getAreaCount(), join($coords,
","), TRUE,
"blue");
336 else if (count($coords) > 1)
340 $c = join($coords,
",");
349 $imagepath = $this->
object->getImagePathWeb() .
$preview->getPreviewFilename($this->object->getImagePath(), $this->
object->getImageFilename()) .
"?img=" . time();
352 $this->tpl->setCurrentBlock(
"maparea");
353 $this->tpl->setVariable(
"IMAGE_SOURCE",
"$imagepath");
354 $this->tpl->setVariable(
"IMAGEMAP_NAME",
"image");
355 $this->tpl->parseCurrentBlock();
359 $this->tpl->setCurrentBlock(
"imagearea");
360 $this->tpl->setVariable(
"IMAGE_SOURCE",
"$imagepath");
361 $this->tpl->setVariable(
"ALT_IMAGE", $this->lng->txt(
"imagemap"));
362 $this->tpl->parseCurrentBlock();
365 if (strlen(
$_POST[
'shapetitle']))
367 $this->tpl->setCurrentBlock(
"shapetitle");
368 $this->tpl->setVariable(
"VALUE_SHAPETITLE",
$_POST[
"shapetitle"]);
369 $this->tpl->parseCurrentBlock();
372 $this->tpl->setVariable(
"TEXT_IMAGEMAP", $this->lng->txt(
"imagemap"));
373 $this->tpl->setVariable(
"TEXT_SHAPETITLE", $this->lng->txt(
"name"));
374 $this->tpl->setVariable(
"CANCEL", $this->lng->txt(
"cancel"));
375 $this->tpl->setVariable(
"SAVE", $this->lng->txt(
"save"));
376 $this->tpl->setVariable(
"DISABLED_SAVE", $disabled_save);
380 $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getFormaction($this,
'addRect'));
383 $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getFormaction($this,
'addCircle'));
386 $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getFormaction($this,
'addPoly'));
394 $position = key(
$_POST[
'cmd'][
'removeArea'][
'image']);
395 $this->
object->deleteArea($position);
402 $this->ctrl->redirect($this,
'editQuestion');
405 function outQuestionForTest($formaction, $active_id,
$pass = NULL, $is_postponed = FALSE, $use_post_solutions = FALSE, $show_feedback = FALSE)
407 $test_output = $this->
getTestOutput($active_id,
$pass, $is_postponed, $use_post_solutions, $show_feedback);
408 $this->tpl->setVariable(
"QUESTION_OUTPUT", $test_output);
410 $this->ctrl->setParameterByClass(
"ilTestOutputGUI",
"formtimestamp", time());
411 $formaction = $this->ctrl->getLinkTargetByClass(
"ilTestOutputGUI",
"selectImagemapRegion");
412 include_once
"./Modules/Test/classes/class.ilObjTest.php";
416 $info =& $this->
object->getSolutionValues($active_id,
$pass);
420 $info =& $this->
object->getSolutionValues($active_id, NULL);
424 if (strcmp($info[0][
"value1"],
"") != 0)
426 $formaction .=
"&selImage=" . $info[0][
"value1"];
429 $this->tpl->setVariable(
"FORMACTION", $formaction);
448 $graphicalOutput = FALSE,
449 $result_output = FALSE,
450 $show_question_only = TRUE,
451 $show_feedback = FALSE,
452 $show_correct_solution = FALSE,
453 $show_manual_scoring = FALSE
456 $imagepath = $this->
object->getImagePathWeb() . $this->
object->getImageFilename();
457 $solutions = array();
458 if (($active_id > 0) && (!$show_correct_solution))
460 include_once
"./Modules/Test/classes/class.ilObjTest.php";
465 $solutions =& $this->
object->getSolutionValues($active_id,
$pass);
471 foreach ($this->object->answers as $index => $answer)
473 if ($answer->getPoints() > $max_points)
475 $max_points = $answer->getPoints();
476 $found_index = $index;
479 array_push($solutions, array(
"value1" => $found_index));
482 if (is_array($solutions))
484 include_once
"./Modules/TestQuestionPool/classes/class.ilImagemapPreview.php";
486 foreach ($solutions as $idx => $solution_value)
488 if (strcmp($solution_value[
"value1"],
"") != 0)
490 if (array_key_exists($solution_value[
"value1"], $this->object->answers))
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"];
498 $imagepath = $this->
object->getImagePathWeb() .
$preview->getPreviewFilename($this->object->getImagePath(), $this->
object->getImageFilename());
502 include_once
"./classes/class.ilTemplate.php";
503 $template =
new ilTemplate(
"tpl.il_as_qpl_imagemap_question_output_solution.html", TRUE, TRUE,
"Modules/TestQuestionPool");
504 $solutiontemplate =
new ilTemplate(
"tpl.il_as_tst_solution_output.html",TRUE, TRUE,
"Modules/TestQuestionPool");
505 $questiontext = $this->
object->getQuestion();
506 $template->setVariable(
"QUESTIONTEXT", $this->object->prepareTextareaOutput($questiontext, TRUE));
507 $template->setVariable(
"IMG_SRC",
"$imagepath");
508 $template->setVariable(
"IMG_ALT", $this->lng->txt(
"imagemap"));
509 $template->setVariable(
"IMG_TITLE", $this->lng->txt(
"imagemap"));
510 if (($active_id > 0) && (!$show_correct_solution))
512 if ($graphicalOutput)
515 $reached_points = $this->
object->getReachedPoints($active_id,
$pass);
516 if ($reached_points == $this->object->getMaximumPoints())
518 $template->setCurrentBlock(
"icon_ok");
520 $template->setVariable(
"TEXT_OK", $this->lng->txt(
"answer_is_right"));
521 $template->parseCurrentBlock();
525 $template->setCurrentBlock(
"icon_ok");
526 if ($reached_points > 0)
529 $template->setVariable(
"TEXT_NOT_OK", $this->lng->txt(
"answer_is_not_correct_but_positive"));
534 $template->setVariable(
"TEXT_NOT_OK", $this->lng->txt(
"answer_is_wrong"));
536 $template->parseCurrentBlock();
543 $fb = $this->
object->getFeedbackSingleAnswer($solution_id);
546 $template->setCurrentBlock(
"feedback");
547 $template->setVariable(
"FEEDBACK", $fb);
548 $template->parseCurrentBlock();
552 $questionoutput = $template->get();
554 if (strlen($feedback)) $solutiontemplate->setVariable(
"FEEDBACK", $feedback);
555 $solutiontemplate->setVariable(
"SOLUTION_OUTPUT", $questionoutput);
557 $solutionoutput = $solutiontemplate->get();
558 if (!$show_question_only)
563 return $solutionoutput;
568 $imagepath = $this->
object->getImagePathWeb() . $this->
object->getImageFilename();
570 include_once
"./classes/class.ilTemplate.php";
571 $template =
new ilTemplate(
"tpl.il_as_qpl_imagemap_question_output.html", TRUE, TRUE,
"Modules/TestQuestionPool");
573 foreach ($this->object->answers as $answer_id => $answer)
575 $template->setCurrentBlock(
"imagemap_area");
576 $template->setVariable(
"HREF_AREA", $formaction);
577 $template->setVariable(
"SHAPE", $answer->getArea());
578 $template->setVariable(
"COORDS", $answer->getCoords());
581 $template->parseCurrentBlock();
583 $questiontext = $this->
object->getQuestion();
584 $template->setVariable(
"QUESTIONTEXT", $this->object->prepareTextareaOutput($questiontext, TRUE));
585 $template->setVariable(
"IMG_SRC",
"$imagepath");
586 $template->setVariable(
"IMG_ALT", $this->lng->txt(
"imagemap"));
587 $template->setVariable(
"IMG_TITLE", $this->lng->txt(
"imagemap"));
588 $questionoutput = $template->get();
589 if (!$show_question_only)
594 return $questionoutput;
597 function getTestOutput($active_id,
$pass = NULL, $is_postponed = FALSE, $use_post_solutions = FALSE, $show_feedback = FALSE)
604 include_once
"./Modules/Test/classes/class.ilObjTest.php";
609 $solutions =& $this->
object->getSolutionValues($active_id,
$pass);
610 foreach ($solutions as $idx => $solution_value)
612 $user_solution = $solution_value[
"value1"];
616 $imagepath = $this->
object->getImagePathWeb() . $this->
object->getImageFilename();
620 include_once
"./Modules/Test/classes/class.ilObjTest.php";
625 $solutions =& $this->
object->getSolutionValues($active_id,
$pass);
626 include_once
"./Modules/TestQuestionPool/classes/class.ilImagemapPreview.php";
628 foreach ($solutions as $idx => $solution_value)
630 if (strcmp($solution_value[
"value1"],
"") != 0)
632 $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);
636 $imagepath = $this->
object->getImagePathWeb() .
$preview->getPreviewFilename($this->object->getImagePath(), $this->
object->getImageFilename());
640 include_once
"./classes/class.ilTemplate.php";
641 $template =
new ilTemplate(
"tpl.il_as_qpl_imagemap_question_output.html", TRUE, TRUE,
"Modules/TestQuestionPool");
642 $this->ctrl->setParameterByClass(
"ilTestOutputGUI",
"formtimestamp", time());
643 $formaction = $this->ctrl->getLinkTargetByClass(
"ilTestOutputGUI",
"selectImagemapRegion");
644 foreach ($this->object->answers as $answer_id => $answer)
646 $template->setCurrentBlock(
"imagemap_area");
647 $template->setVariable(
"HREF_AREA", $formaction .
"&selImage=$answer_id");
648 $template->setVariable(
"SHAPE", $answer->getArea());
649 $template->setVariable(
"COORDS", $answer->getCoords());
652 $template->parseCurrentBlock();
655 if (strlen($user_solution) && $user_solution == $answer_id)
657 $feedback = $this->
object->getFeedbackSingleAnswer($user_solution);
658 if (strlen($feedback))
660 $template->setCurrentBlock(
"feedback");
661 $template->setVariable(
"FEEDBACK", $feedback);
662 $template->parseCurrentBlock();
667 $questiontext = $this->
object->getQuestion();
668 $template->setVariable(
"QUESTIONTEXT", $this->object->prepareTextareaOutput($questiontext, TRUE));
669 $template->setVariable(
"IMG_SRC",
"$imagepath");
670 $template->setVariable(
"IMG_ALT", $this->lng->txt(
"imagemap"));
671 $template->setVariable(
"IMG_TITLE", $this->lng->txt(
"imagemap"));
672 $questionoutput = $template->get();
673 $pageoutput = $this->
outQuestionPage(
"", $is_postponed, $active_id, $questionoutput);
682 include_once
"./Services/AdvancedEditing/classes/class.ilObjAdvancedEditing.php";
684 $this->
object->saveFeedbackGeneric(0,
$_POST[
"feedback_incomplete"]);
685 $this->
object->saveFeedbackGeneric(1,
$_POST[
"feedback_complete"]);
686 foreach ($this->object->answers as $index => $answer)
688 $this->
object->saveFeedbackSingleAnswer($index,
$_POST[
"feedback_answer_$index"]);
690 $this->
object->cleanupMediaObjectUsage();
701 $save = (strcmp($this->ctrl->getCmd(),
"saveFeedback") == 0) ? TRUE : FALSE;
702 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
704 $form->setFormAction($this->ctrl->getFormAction($this));
705 $form->setTitle($this->lng->txt(
'feedback_answers'));
706 $form->setTableWidth(
"100%");
707 $form->setId(
"feedback");
709 $complete =
new ilTextAreaInputGUI($this->lng->txt(
"feedback_complete_solution"),
"feedback_complete");
710 $complete->
setValue($this->object->prepareTextareaOutput($this->object->getFeedbackGeneric(1)));
711 $complete->setRequired(
false);
712 $complete->setRows(10);
713 $complete->setCols(80);
716 $complete->setUseRte(
true);
718 include_once
"./Services/AdvancedEditing/classes/class.ilObjAdvancedEditing.php";
720 $complete->addPlugin(
"latex");
721 $complete->addButton(
"latex");
722 $complete->addButton(
"pastelatex");
723 $complete->setRTESupport($this->object->getId(),
"qpl",
"assessment");
724 $form->addItem($complete);
726 $incomplete =
new ilTextAreaInputGUI($this->lng->txt(
"feedback_incomplete_solution"),
"feedback_incomplete");
727 $incomplete->
setValue($this->object->prepareTextareaOutput($this->object->getFeedbackGeneric(0)));
728 $incomplete->setRequired(
false);
729 $incomplete->setRows(10);
730 $incomplete->setCols(80);
733 $incomplete->setUseRte(
true);
735 include_once
"./Services/AdvancedEditing/classes/class.ilObjAdvancedEditing.php";
737 $incomplete->addPlugin(
"latex");
738 $incomplete->addButton(
"latex");
739 $incomplete->addButton(
"pastelatex");
740 $incomplete->setRTESupport($this->object->getId(),
"qpl",
"assessment");
741 $form->addItem($incomplete);
745 foreach ($this->object->answers as $index => $answer)
747 $text = $this->lng->txt(
'region') .
" " . ($index+1);
748 if (strlen($answer->getAnswertext()))
750 $text = $answer->getAnswertext() .
": " . $text;
752 $answerobj =
new ilTextAreaInputGUI($this->object->prepareTextareaOutput($text),
"feedback_answer_$index");
753 $answerobj->
setValue($this->object->prepareTextareaOutput($this->object->getFeedbackSingleAnswer($index)));
754 $answerobj->setRequired(
false);
755 $answerobj->setRows(10);
756 $answerobj->setCols(80);
757 $answerobj->setUseRte(
true);
758 include_once
"./Services/AdvancedEditing/classes/class.ilObjAdvancedEditing.php";
760 $answerobj->addPlugin(
"latex");
761 $answerobj->addButton(
"latex");
762 $answerobj->addButton(
"pastelatex");
763 $answerobj->setRTESupport($this->object->getId(),
"qpl",
"assessment");
764 $form->addItem($answerobj);
771 $form->addCommandButton(
"saveFeedback", $this->lng->txt(
"save"));
776 $form->setValuesByPost();
777 $errors = !$form->checkInput();
778 $form->setValuesByPost();
780 if (!$checkonly) $this->tpl->setVariable(
"ADM_CONTENT", $form->getHTML());
789 global $rbacsystem, $ilTabs;
791 $this->ctrl->setParameterByClass(
"ilpageobjectgui",
"q_id",
$_GET[
"q_id"]);
792 include_once
"./Modules/TestQuestionPool/classes/class.assQuestion.php";
793 $q_type = $this->
object->getQuestionType();
797 $classname = $q_type .
"GUI";
798 $this->ctrl->setParameterByClass(strtolower($classname),
"sel_question_types", $q_type);
799 $this->ctrl->setParameterByClass(strtolower($classname),
"q_id",
$_GET[
"q_id"]);
804 if ($rbacsystem->checkAccess(
'write',
$_GET[
"ref_id"]))
807 $ilTabs->addTarget(
"edit_content",
808 $this->ctrl->getLinkTargetByClass(
"ilPageObjectGUI",
"edit"),
809 array(
"edit",
"insert",
"exec_pg"),
810 "",
"", $force_active);
814 $ilTabs->addTarget(
"preview",
815 $this->ctrl->getLinkTargetByClass(
"ilPageObjectGUI",
"preview"),
817 "ilPageObjectGUI",
"", $force_active);
820 $force_active =
false;
821 if ($rbacsystem->checkAccess(
'write',
$_GET[
"ref_id"]))
824 if ($classname) $url = $this->ctrl->getLinkTargetByClass($classname,
"editQuestion");
825 if (array_key_exists(
"imagemap_x",
$_POST))
827 $force_active =
true;
830 $ilTabs->addTarget(
"edit_properties",
832 array(
"editQuestion",
"save",
"addArea",
"addRect",
"addCircle",
"addPoly",
833 "uploadingImage",
"uploadingImagemap",
"areaEditor",
834 "removeArea",
"saveShape",
"saveEdit",
"originalSyncForm"),
835 $classname,
"", $force_active);
840 $ilTabs->addTarget(
"feedback",
841 $this->ctrl->getLinkTargetByClass($classname,
"feedback"),
842 array(
"feedback",
"saveFeedback"),
848 $ilTabs->addTarget(
"solution_hint",
849 $this->ctrl->getLinkTargetByClass($classname,
"suggestedsolution"),
850 array(
"suggestedsolution",
"saveSuggestedSolution",
"outSolutionExplorer",
"cancel",
851 "addSuggestedSolution",
"cancelExplorer",
"linkChilds",
"removeSuggestedSolution"
861 $ilTabs->addTarget(
"statistics",
862 $this->ctrl->getLinkTargetByClass($classname,
"assessment"),
867 if ((
$_GET[
"calling_test"] > 0) || (
$_GET[
"test_ref_id"] > 0))
871 $ilTabs->setBackTarget($this->lng->txt(
"backtocallingtest"),
"ilias.php?baseClass=ilObjTestGUI&cmd=questions&ref_id=$ref_id");
875 $ilTabs->setBackTarget($this->lng->txt(
"qpl"), $this->ctrl->getLinkTargetByClass(
"ilobjquestionpoolgui",
"questions"));