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 $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);
491 $solution_id = $solution_value[
"value1"];
495 $imagepath = $this->
object->getImagePathWeb() .
$preview->getPreviewFilename($this->object->getImagePath(), $this->
object->getImageFilename());
499 include_once
"./classes/class.ilTemplate.php";
500 $template =
new ilTemplate(
"tpl.il_as_qpl_imagemap_question_output_solution.html", TRUE, TRUE,
"Modules/TestQuestionPool");
501 $solutiontemplate =
new ilTemplate(
"tpl.il_as_tst_solution_output.html",TRUE, TRUE,
"Modules/TestQuestionPool");
502 $questiontext = $this->
object->getQuestion();
503 $template->setVariable(
"QUESTIONTEXT", $this->object->prepareTextareaOutput($questiontext, TRUE));
504 $template->setVariable(
"IMG_SRC",
"$imagepath");
505 $template->setVariable(
"IMG_ALT", $this->lng->txt(
"imagemap"));
506 $template->setVariable(
"IMG_TITLE", $this->lng->txt(
"imagemap"));
507 if (($active_id > 0) && (!$show_correct_solution))
509 if ($graphicalOutput)
512 $reached_points = $this->
object->getReachedPoints($active_id,
$pass);
513 if ($reached_points == $this->object->getMaximumPoints())
515 $template->setCurrentBlock(
"icon_ok");
517 $template->setVariable(
"TEXT_OK", $this->lng->txt(
"answer_is_right"));
518 $template->parseCurrentBlock();
522 $template->setCurrentBlock(
"icon_ok");
523 if ($reached_points > 0)
526 $template->setVariable(
"TEXT_NOT_OK", $this->lng->txt(
"answer_is_not_correct_but_positive"));
531 $template->setVariable(
"TEXT_NOT_OK", $this->lng->txt(
"answer_is_wrong"));
533 $template->parseCurrentBlock();
540 $fb = $this->
object->getFeedbackSingleAnswer($solution_id);
543 $template->setCurrentBlock(
"feedback");
544 $template->setVariable(
"FEEDBACK", $fb);
545 $template->parseCurrentBlock();
549 $questionoutput = $template->get();
551 if (strlen($feedback)) $solutiontemplate->setVariable(
"FEEDBACK", $feedback);
552 $solutiontemplate->setVariable(
"SOLUTION_OUTPUT", $questionoutput);
554 $solutionoutput = $solutiontemplate->get();
555 if (!$show_question_only)
560 return $solutionoutput;
565 $imagepath = $this->
object->getImagePathWeb() . $this->
object->getImageFilename();
567 include_once
"./classes/class.ilTemplate.php";
568 $template =
new ilTemplate(
"tpl.il_as_qpl_imagemap_question_output.html", TRUE, TRUE,
"Modules/TestQuestionPool");
570 foreach ($this->object->answers as $answer_id => $answer)
572 $template->setCurrentBlock(
"imagemap_area");
573 $template->setVariable(
"HREF_AREA", $formaction);
574 $template->setVariable(
"SHAPE", $answer->getArea());
575 $template->setVariable(
"COORDS", $answer->getCoords());
578 $template->parseCurrentBlock();
580 $questiontext = $this->
object->getQuestion();
581 $template->setVariable(
"QUESTIONTEXT", $this->object->prepareTextareaOutput($questiontext, TRUE));
582 $template->setVariable(
"IMG_SRC",
"$imagepath");
583 $template->setVariable(
"IMG_ALT", $this->lng->txt(
"imagemap"));
584 $template->setVariable(
"IMG_TITLE", $this->lng->txt(
"imagemap"));
585 $questionoutput = $template->get();
586 if (!$show_question_only)
591 return $questionoutput;
594 function getTestOutput($active_id,
$pass = NULL, $is_postponed = FALSE, $use_post_solutions = FALSE, $show_feedback = FALSE)
601 include_once
"./Modules/Test/classes/class.ilObjTest.php";
606 $solutions =& $this->
object->getSolutionValues($active_id,
$pass);
607 foreach ($solutions as $idx => $solution_value)
609 $user_solution = $solution_value[
"value1"];
613 $imagepath = $this->
object->getImagePathWeb() . $this->
object->getImageFilename();
617 include_once
"./Modules/Test/classes/class.ilObjTest.php";
622 $solutions =& $this->
object->getSolutionValues($active_id,
$pass);
623 include_once
"./Modules/TestQuestionPool/classes/class.ilImagemapPreview.php";
625 foreach ($solutions as $idx => $solution_value)
627 if (strcmp($solution_value[
"value1"],
"") != 0)
629 $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);
633 $imagepath = $this->
object->getImagePathWeb() .
$preview->getPreviewFilename($this->object->getImagePath(), $this->
object->getImageFilename());
637 include_once
"./classes/class.ilTemplate.php";
638 $template =
new ilTemplate(
"tpl.il_as_qpl_imagemap_question_output.html", TRUE, TRUE,
"Modules/TestQuestionPool");
639 $this->ctrl->setParameterByClass(
"ilTestOutputGUI",
"formtimestamp", time());
640 $formaction = $this->ctrl->getLinkTargetByClass(
"ilTestOutputGUI",
"selectImagemapRegion");
641 foreach ($this->object->answers as $answer_id => $answer)
643 $template->setCurrentBlock(
"imagemap_area");
644 $template->setVariable(
"HREF_AREA", $formaction .
"&selImage=$answer_id");
645 $template->setVariable(
"SHAPE", $answer->getArea());
646 $template->setVariable(
"COORDS", $answer->getCoords());
649 $template->parseCurrentBlock();
652 if (strlen($user_solution) && $user_solution == $answer_id)
654 $feedback = $this->
object->getFeedbackSingleAnswer($user_solution);
655 if (strlen($feedback))
657 $template->setCurrentBlock(
"feedback");
658 $template->setVariable(
"FEEDBACK", $feedback);
659 $template->parseCurrentBlock();
664 $questiontext = $this->
object->getQuestion();
665 $template->setVariable(
"QUESTIONTEXT", $this->object->prepareTextareaOutput($questiontext, TRUE));
666 $template->setVariable(
"IMG_SRC",
"$imagepath");
667 $template->setVariable(
"IMG_ALT", $this->lng->txt(
"imagemap"));
668 $template->setVariable(
"IMG_TITLE", $this->lng->txt(
"imagemap"));
669 $questionoutput = $template->get();
670 $pageoutput = $this->
outQuestionPage(
"", $is_postponed, $active_id, $questionoutput);
679 include_once
"./Services/AdvancedEditing/classes/class.ilObjAdvancedEditing.php";
681 $this->
object->saveFeedbackGeneric(0,
$_POST[
"feedback_incomplete"]);
682 $this->
object->saveFeedbackGeneric(1,
$_POST[
"feedback_complete"]);
683 foreach ($this->object->answers as $index => $answer)
685 $this->
object->saveFeedbackSingleAnswer($index,
$_POST[
"feedback_answer_$index"]);
687 $this->
object->cleanupMediaObjectUsage();
698 $save = (strcmp($this->ctrl->getCmd(),
"saveFeedback") == 0) ? TRUE : FALSE;
699 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
701 $form->setFormAction($this->ctrl->getFormAction($this));
702 $form->setTitle($this->lng->txt(
'feedback_answers'));
703 $form->setTableWidth(
"100%");
704 $form->setId(
"feedback");
706 $complete =
new ilTextAreaInputGUI($this->lng->txt(
"feedback_complete_solution"),
"feedback_complete");
707 $complete->
setValue($this->object->prepareTextareaOutput($this->object->getFeedbackGeneric(1)));
708 $complete->setRequired(
false);
709 $complete->setRows(10);
710 $complete->setCols(80);
713 $complete->setUseRte(
true);
715 include_once
"./Services/AdvancedEditing/classes/class.ilObjAdvancedEditing.php";
717 $complete->addPlugin(
"latex");
718 $complete->addButton(
"latex");
719 $complete->addButton(
"pastelatex");
720 $complete->setRTESupport($this->object->getId(),
"qpl",
"assessment");
721 $form->addItem($complete);
723 $incomplete =
new ilTextAreaInputGUI($this->lng->txt(
"feedback_incomplete_solution"),
"feedback_incomplete");
724 $incomplete->
setValue($this->object->prepareTextareaOutput($this->object->getFeedbackGeneric(0)));
725 $incomplete->setRequired(
false);
726 $incomplete->setRows(10);
727 $incomplete->setCols(80);
730 $incomplete->setUseRte(
true);
732 include_once
"./Services/AdvancedEditing/classes/class.ilObjAdvancedEditing.php";
734 $incomplete->addPlugin(
"latex");
735 $incomplete->addButton(
"latex");
736 $incomplete->addButton(
"pastelatex");
737 $incomplete->setRTESupport($this->object->getId(),
"qpl",
"assessment");
738 $form->addItem($incomplete);
742 foreach ($this->object->answers as $index => $answer)
744 $text = $this->lng->txt(
'region') .
" " . ($index+1);
745 if (strlen($answer->getAnswertext()))
747 $text = $answer->getAnswertext() .
": " . $text;
749 $answerobj =
new ilTextAreaInputGUI($this->object->prepareTextareaOutput($text),
"feedback_answer_$index");
750 $answerobj->
setValue($this->object->prepareTextareaOutput($this->object->getFeedbackSingleAnswer($index)));
751 $answerobj->setRequired(
false);
752 $answerobj->setRows(10);
753 $answerobj->setCols(80);
754 $answerobj->setUseRte(
true);
755 include_once
"./Services/AdvancedEditing/classes/class.ilObjAdvancedEditing.php";
757 $answerobj->addPlugin(
"latex");
758 $answerobj->addButton(
"latex");
759 $answerobj->addButton(
"pastelatex");
760 $answerobj->setRTESupport($this->object->getId(),
"qpl",
"assessment");
761 $form->addItem($answerobj);
768 $form->addCommandButton(
"saveFeedback", $this->lng->txt(
"save"));
773 $form->setValuesByPost();
774 $errors = !$form->checkInput();
775 $form->setValuesByPost();
777 if (!$checkonly) $this->tpl->setVariable(
"ADM_CONTENT", $form->getHTML());
786 global $rbacsystem, $ilTabs;
788 $this->ctrl->setParameterByClass(
"ilpageobjectgui",
"q_id",
$_GET[
"q_id"]);
789 include_once
"./Modules/TestQuestionPool/classes/class.assQuestion.php";
790 $q_type = $this->
object->getQuestionType();
794 $classname = $q_type .
"GUI";
795 $this->ctrl->setParameterByClass(strtolower($classname),
"sel_question_types", $q_type);
796 $this->ctrl->setParameterByClass(strtolower($classname),
"q_id",
$_GET[
"q_id"]);
801 if ($rbacsystem->checkAccess(
'write',
$_GET[
"ref_id"]))
804 $ilTabs->addTarget(
"edit_content",
805 $this->ctrl->getLinkTargetByClass(
"ilPageObjectGUI",
"edit"),
806 array(
"edit",
"insert",
"exec_pg"),
807 "",
"", $force_active);
811 $ilTabs->addTarget(
"preview",
812 $this->ctrl->getLinkTargetByClass(
"ilPageObjectGUI",
"preview"),
814 "ilPageObjectGUI",
"", $force_active);
817 $force_active =
false;
818 if ($rbacsystem->checkAccess(
'write',
$_GET[
"ref_id"]))
821 if ($classname) $url = $this->ctrl->getLinkTargetByClass($classname,
"editQuestion");
822 if (array_key_exists(
"imagemap_x",
$_POST))
824 $force_active =
true;
827 $ilTabs->addTarget(
"edit_properties",
829 array(
"editQuestion",
"save",
"addArea",
"addRect",
"addCircle",
"addPoly",
830 "uploadingImage",
"uploadingImagemap",
"areaEditor",
831 "removeArea",
"saveShape",
"saveEdit",
"originalSyncForm"),
832 $classname,
"", $force_active);
837 $ilTabs->addTarget(
"feedback",
838 $this->ctrl->getLinkTargetByClass($classname,
"feedback"),
839 array(
"feedback",
"saveFeedback"),
845 $ilTabs->addTarget(
"solution_hint",
846 $this->ctrl->getLinkTargetByClass($classname,
"suggestedsolution"),
847 array(
"suggestedsolution",
"saveSuggestedSolution",
"outSolutionExplorer",
"cancel",
848 "addSuggestedSolution",
"cancelExplorer",
"linkChilds",
"removeSuggestedSolution"
858 $ilTabs->addTarget(
"statistics",
859 $this->ctrl->getLinkTargetByClass($classname,
"assessment"),
864 if ((
$_GET[
"calling_test"] > 0) || (
$_GET[
"test_ref_id"] > 0))
868 $ilTabs->setBackTarget($this->lng->txt(
"backtocallingtest"),
"ilias.php?baseClass=ilObjTestGUI&cmd=questions&ref_id=$ref_id");
872 $ilTabs->setBackTarget($this->lng->txt(
"qpl"), $this->ctrl->getLinkTargetByClass(
"ilobjquestionpoolgui",
"questions"));