24 include_once
"./Modules/TestQuestionPool/classes/class.assQuestionGUI.php";
25 include_once
"./Modules/Test/classes/inc.AssessmentConstants.php";
51 include_once
"./Modules/TestQuestionPool/classes/class.assOrderingQuestion.php";
55 $this->
object->loadFromDb($id);
79 $position = key(
$_POST[
"cmd"][
"addanswers"]);
80 $this->
object->addAnswer(
"", $position+1);
87 $position = key(
$_POST[
'cmd'][
'removeimageanswers']);
89 $this->
object->removeAnswerImage($position);
96 $position = key(
$_POST[
"cmd"][
"removeanswers"]);
97 $this->
object->deleteAnswer($position);
104 $position = key(
$_POST[
"cmd"][
"upanswers"]);
105 $this->
object->moveAnswerUp($position);
112 $position = key(
$_POST[
"cmd"][
"downanswers"]);
113 $this->
object->moveAnswerDown($position);
131 $hasErrors = (!$always) ? $this->
editQuestion(
true) :
false;
134 $this->
object->setTitle(
$_POST[
"title"]);
135 $this->
object->setAuthor(
$_POST[
"author"]);
136 $this->
object->setComment(
$_POST[
"comment"]);
137 include_once
"./Services/AdvancedEditing/classes/class.ilObjAdvancedEditing.php";
138 $questiontext =
$_POST[
"question"];
139 $this->
object->setQuestion($questiontext);
140 $this->
object->setThumbGeometry(
$_POST[
"thumb_geometry"]);
141 $this->
object->setElementHeight(
$_POST[
"element_height"]);
144 $this->
object->setNrOfTries(
$_POST[
'nr_of_tries']);
147 $this->
object->setEstimatedWorkingTime(
148 $_POST[
"Estimated"][
"hh"],
149 $_POST[
"Estimated"][
"mm"],
152 $ordering_type =
$_POST[
"ordering_type"];
153 $this->
object->setOrderingType($ordering_type);
156 $this->
object->flushAnswers();
162 $answers =
$_POST[
"answers"];
163 if (is_array($answers))
165 foreach ($answers as $index => $answer)
167 $this->
object->addAnswer($answer);
173 foreach (
$_POST[
'answers'][
'count'] as $index => $dummy)
176 if (strlen($_FILES[
'answers'][
'name'][
'image'][$index]))
179 $filename = $this->
object->createNewImageFileName($_FILES[
'answers'][
'name'][
'image'][$index]);
180 if ($this->object->setImageFile($_FILES[
'answers'][
'tmp_name'][
'image'][$index], $this->object->getEncryptedFilename(
$filename),
$_POST[
'answers'][
'']))
182 $picturefile = $this->
object->getEncryptedFilename(
$filename);
188 $this->
object->addAnswer($picturefile);
192 $this->
object->addAnswer(
$_POST[
'answers'][
'imagename'][$index]);
196 $this->
object->setPoints(
$_POST[
"points"]);
212 $save = ((strcmp($this->ctrl->getCmd(),
"save") == 0) || (strcmp($this->ctrl->getCmd(),
"saveEdit") == 0)) ? TRUE : FALSE;
215 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
216 $orderingtype = (array_key_exists(
'ordering_type',
$_POST)) ?
$_POST[
'ordering_type'] : $this->object->getOrderingType();
217 if (strcmp($this->ctrl->getCmd(),
'changeToText') == 0) $orderingtype =
OQ_TERMS;
218 if (strcmp($this->ctrl->getCmd(),
'changeToPictures') == 0) $orderingtype =
OQ_PICTURES;
220 $form->setFormAction($this->ctrl->getFormAction($this));
222 $form->setMultipart(($orderingtype ==
OQ_PICTURES) ? TRUE : FALSE);
223 $form->setTableWidth(
"100%");
224 $form->setId(
"ordering");
228 $hidden->setValue($orderingtype);
229 $form->addItem($hidden);
236 $element_height =
new ilNumberInputGUI($this->lng->txt(
"element_height"),
"element_height");
237 $element_height->
setValue($this->object->getElementHeight());
238 $element_height->setRequired(
false);
239 $element_height->setMaxLength(6);
240 $element_height->setMinValue(20);
241 $element_height->setSize(6);
242 $element_height->setInfo($this->lng->txt(
"element_height_info"));
243 $form->addItem($element_height);
248 $geometry =
new ilNumberInputGUI($this->lng->txt(
"thumb_geometry"),
"thumb_geometry");
249 $geometry->
setValue($this->object->getThumbGeometry());
250 $geometry->setRequired(
true);
251 $geometry->setMaxLength(6);
252 $geometry->setMinValue(20);
253 $geometry->setSize(6);
254 $geometry->setInfo($this->lng->txt(
"thumb_geometry_info"));
255 $form->addItem($geometry);
257 if (count($this->object->getAnswers()) == 0)
259 $this->
object->addAnswer();
264 include_once
"./Modules/TestQuestionPool/classes/class.ilImageWizardInputGUI.php";
267 $answers->setQuestionObject($this->
object);
268 $answers->setAllowMove(TRUE);
269 $answervalues = array();
270 foreach ($this->object->getAnswers() as $index => $answervalue)
272 $answervalues[$index] = $answervalue->getAnswertext();
274 $answers->setValues($answervalues);
275 $form->addItem($answers);
281 $answers->setAllowMove(TRUE);
282 $answervalues = array();
283 foreach ($this->object->getAnswers() as $index => $answervalue)
285 $answervalues[$index] = $answervalue->getAnswertext();
287 ksort($answervalues);
288 $answers->setValues($answervalues);
289 $form->addItem($answers);
293 $points->setValue($this->object->getPoints());
297 $points->setMinvalueShouldBeGreater(
true);
305 $form->addCommandButton(
"changeToText", $this->lng->txt(
"order_terms"));
309 $form->addCommandButton(
"changeToPictures", $this->lng->txt(
"order_pictures"));
317 $form->setValuesByPost();
318 $errors = !$form->checkInput();
319 $form->setValuesByPost();
320 if (
$errors) $checkonly =
false;
323 if (!$checkonly) $this->tpl->setVariable(
"QUESTION_DATA", $form->getHTML());
329 $test_output = $this->
getTestOutput($active_id,
$pass, $is_postponed, $user_post_solution);
330 $this->tpl->setVariable(
"QUESTION_OUTPUT", $test_output);
331 $this->tpl->setVariable(
"FORMACTION", $formaction);
350 $graphicalOutput = FALSE,
351 $result_output = FALSE,
352 $show_question_only = TRUE,
353 $show_feedback = FALSE,
354 $show_correct_solution = FALSE,
355 $show_manual_scoring = FALSE
359 $keys = array_keys($this->object->answers);
362 include_once
"./classes/class.ilTemplate.php";
363 $template =
new ilTemplate(
"tpl.il_as_qpl_ordering_output_solution.html", TRUE, TRUE,
"Modules/TestQuestionPool");
364 $solutiontemplate =
new ilTemplate(
"tpl.il_as_tst_solution_output.html",TRUE, TRUE,
"Modules/TestQuestionPool");
367 $solutions = array();
368 if (($active_id > 0) && (!$show_correct_solution))
370 $solutions =& $this->
object->getSolutionValues($active_id,
$pass);
374 foreach ($this->object->answers as $index => $answer)
376 array_push($solutions, array(
"value1" => $index,
"value2" => $index+1));
379 foreach ($keys as $idx)
381 $answer = $this->
object->answers[$idx];
382 if (($active_id > 0) && (!$show_correct_solution))
384 if ($graphicalOutput)
387 foreach ($solutions as $solution)
389 $sol[$solution[
"value1"]] = $solution[
"value2"];
392 $sol = array_keys($sol);
394 foreach ($this->object->answers as $k => $a)
399 $ans = array_keys($ans);
401 foreach ($ans as $arr_idx => $ans_idx)
403 if ($ans_idx == $idx)
405 if ($ans_idx == $sol[$arr_idx])
414 $template->setCurrentBlock(
"icon_ok");
416 $template->setVariable(
"TEXT_OK", $this->lng->txt(
"answer_is_right"));
417 $template->parseCurrentBlock();
421 $template->setCurrentBlock(
"icon_ok");
423 $template->setVariable(
"TEXT_NOT_OK", $this->lng->txt(
"answer_is_wrong"));
424 $template->parseCurrentBlock();
428 if ($this->object->getOrderingType() ==
OQ_PICTURES)
430 $template->setCurrentBlock(
"ordering_row_standard_pictures");
431 $thumbweb = $this->
object->getImagePathWeb() . $this->
object->getThumbPrefix() . $answer->getAnswertext();
432 $thumb = $this->
object->getImagePath() . $this->
object->getThumbPrefix() . $answer->getAnswertext();
433 if (!@file_exists($thumb)) $this->
object->rebuildThumbnails();
434 $template->setVariable(
"THUMB_HREF", $thumbweb);
435 list($width, $height,
$type, $attr) = getimagesize($thumb);
436 $template->setVariable(
"ATTR", $attr);
437 $template->setVariable(
"THUMB_ALT", $this->lng->txt(
"thumbnail"));
438 $template->setVariable(
"THUMB_TITLE", $this->lng->txt(
"enlarge"));
439 $template->parseCurrentBlock();
443 $template->setCurrentBlock(
"ordering_row_standard_text");
444 $template->setVariable(
"ANSWER_TEXT", $this->object->prepareTextareaOutput($answer->getAnswertext(), TRUE));
445 $template->parseCurrentBlock();
447 $template->setCurrentBlock(
"ordering_row_standard");
450 $answer = $this->
object->answers[$idx];
451 $points = $answer->getPoints();
452 $resulttext = (
$points == 1) ?
"(%s " . $this->lng->txt(
"point") .
")" :
"(%s " . $this->lng->txt(
"points") .
")";
453 $template->setVariable(
"RESULT_OUTPUT", sprintf($resulttext,
$points));
455 foreach ($solutions as $solution)
457 if (strcmp($solution[
"value1"], $idx) == 0)
459 $template->setVariable(
"ANSWER_ORDER", $solution[
"value2"]);
462 $template->parseCurrentBlock();
464 $questiontext = $this->
object->getQuestion();
465 $template->setVariable(
"QUESTIONTEXT", $this->object->prepareTextareaOutput($questiontext, TRUE));
466 $questionoutput = $template->get();
468 if (strlen($feedback)) $solutiontemplate->setVariable(
"FEEDBACK", $feedback);
469 $solutiontemplate->setVariable(
"SOLUTION_OUTPUT", $questionoutput);
471 $solutionoutput = $solutiontemplate->get();
472 if (!$show_question_only)
477 return $solutionoutput;
485 $keys = array_keys($this->object->answers);
489 include_once
"./classes/class.ilTemplate.php";
490 $template =
new ilTemplate(
"tpl.il_as_qpl_ordering_output.html", TRUE, TRUE,
"Modules/TestQuestionPool");
493 if (strcmp($this->ctrl->getCmd(),
'preview') == 0)
495 if (array_key_exists(
'js',
$_GET))
497 $ilUser->writePref(
'tst_javascript',
$_GET[
'js']);
499 $jstemplate =
new ilTemplate(
"tpl.il_as_qpl_javascript_switch.html", TRUE, TRUE,
"Modules/TestQuestionPool");
500 if ($ilUser->getPref(
"tst_javascript") == 1)
503 $jstemplate->setVariable(
"JAVASCRIPT_IMAGE_ALT", $this->lng->txt(
"disable_javascript"));
504 $jstemplate->setVariable(
"JAVASCRIPT_IMAGE_TITLE", $this->lng->txt(
"disable_javascript"));
505 $this->ctrl->setParameterByClass($this->ctrl->getCmdClass(),
"js",
"0");
506 $jstemplate->setVariable(
"JAVASCRIPT_URL", $this->ctrl->getLinkTargetByClass($this->ctrl->getCmdClass(), $this->ctrl->getCmd()));
511 $jstemplate->setVariable(
"JAVASCRIPT_IMAGE_ALT", $this->lng->txt(
"enable_javascript"));
512 $jstemplate->setVariable(
"JAVASCRIPT_IMAGE_TITLE", $this->lng->txt(
"enable_javascript"));
513 $this->ctrl->setParameterByClass($this->ctrl->getCmdClass(),
"js",
"1");
514 $jstemplate->setVariable(
"JAVASCRIPT_URL", $this->ctrl->getLinkTargetByClass($this->ctrl->getCmdClass(), $this->ctrl->getCmd()));
516 $jsswitch = $jstemplate->get();
517 if ($ilUser->getPref(
'tst_javascript')) $this->object->setOutputType(
OUTPUT_JAVASCRIPT);
523 $this->tpl->setCurrentBlock(
"AdditionalStyle");
524 $this->tpl->setVariable(
"LOCATION_ADDITIONAL_STYLESHEET",
ilUtil::getStyleSheetLocation(
"output",
"test_javascript.css",
"Modules/TestQuestionPool"));
525 $this->tpl->parseCurrentBlock();
527 include_once
"./Services/YUI/classes/class.ilYuiUtil.php";
529 $this->tpl->addJavascript(
"./Modules/TestQuestionPool/templates/default/ordering.js");
534 foreach ($keys as $idx)
536 $answer = $this->
object->answers[$idx];
537 if ($this->object->getOrderingType() ==
OQ_PICTURES)
539 $template->setCurrentBlock(
"ordering_row_standard_pictures");
540 $template->setVariable(
"PICTURE_HREF", $this->object->getImagePathWeb() . $answer->getAnswertext());
541 $thumbweb = $this->
object->getImagePathWeb() . $this->
object->getThumbPrefix() . $answer->getAnswertext();
542 $thumb = $this->
object->getImagePath() . $this->
object->getThumbPrefix() . $answer->getAnswertext();
543 if (!@file_exists($thumb)) $this->
object->rebuildThumbnails();
544 $template->setVariable(
"THUMB_HREF", $thumbweb);
545 $template->setVariable(
"THUMB_ALT", $this->lng->txt(
"thumbnail"));
546 $template->setVariable(
"THUMB_TITLE", $this->lng->txt(
"enlarge"));
547 $template->setVariable(
"ANSWER_ID", $answer->getRandomID());
548 $template->parseCurrentBlock();
552 $template->setCurrentBlock(
"ordering_row_standard_text");
553 $template->setVariable(
"ANSWER_TEXT", $this->object->prepareTextareaOutput($answer->getAnswertext(), TRUE));
554 $template->setVariable(
"ANSWER_ID", $answer->getRandomID());
555 $template->parseCurrentBlock();
557 $template->setCurrentBlock(
"ordering_row_standard");
558 $template->setVariable(
"ANSWER_ID", $answer->getRandomID());
559 $template->parseCurrentBlock();
564 foreach ($keys as $idx)
566 $answer = $this->
object->answers[$idx];
567 if ($this->object->getOrderingType() ==
OQ_PICTURES)
569 $template->setCurrentBlock(
"ordering_row_javascript_pictures");
570 $template->setVariable(
"PICTURE_HREF", $this->object->getImagePathWeb() . $answer->getAnswertext());
571 $thumbweb = $this->
object->getImagePathWeb() . $this->
object->getThumbPrefix() . $answer->getAnswertext();
572 $thumb = $this->
object->getImagePath() . $this->
object->getThumbPrefix() . $answer->getAnswertext();
573 if (!@file_exists($thumb)) $this->
object->rebuildThumbnails();
574 $template->setVariable(
"THUMB_HREF", $thumbweb);
575 $template->setVariable(
"THUMB_ALT", $this->lng->txt(
"thumbnail"));
576 $template->setVariable(
"THUMB_TITLE", $this->lng->txt(
"thumbnail"));
578 $template->setVariable(
"ENLARGE_ALT", $this->lng->txt(
"enlarge"));
579 $template->setVariable(
"ENLARGE_TITLE", $this->lng->txt(
"enlarge"));
580 $template->setVariable(
"ANSWER_ID", $answer->getRandomID());
581 $template->parseCurrentBlock();
585 $template->setCurrentBlock(
"ordering_row_javascript_text");
586 $template->setVariable(
"ANSWER_TEXT", $this->object->prepareTextareaOutput($answer->getAnswertext(), TRUE));
587 $template->setVariable(
"ANSWER_ID", $answer->getRandomID());
588 $template->parseCurrentBlock();
591 $template->setCurrentBlock(
"ordering_with_javascript");
592 if ($this->object->getOrderingType() ==
OQ_PICTURES)
594 $template->setVariable(
"RESET_POSITIONS", $this->lng->txt(
"reset_pictures"));
598 $template->setVariable(
"RESET_POSITIONS", $this->lng->txt(
"reset_definitions"));
600 $template->parseCurrentBlock();
602 $questiontext = $this->
object->getQuestion();
603 $template->setVariable(
"QUESTIONTEXT", $this->object->prepareTextareaOutput($questiontext, TRUE));
604 $questionoutput = $jsswitch . $template->get();
605 if (!$show_question_only)
610 return $questionoutput;
615 $jssolutions = array();
618 if (is_array($user_post_solution))
624 $keys = array_keys($this->object->answers);
630 include_once
"./classes/class.ilTemplate.php";
632 $template =
new ilTemplate(
"tpl.il_as_qpl_ordering_output.html", TRUE, TRUE,
"Modules/TestQuestionPool");
636 $this->tpl->setCurrentBlock(
"AdditionalStyle");
637 $this->tpl->setVariable(
"LOCATION_ADDITIONAL_STYLESHEET",
ilUtil::getStyleSheetLocation(
"output",
"test_javascript.css",
"Modules/TestQuestionPool"));
638 $this->tpl->parseCurrentBlock();
640 include_once
"./Services/YUI/classes/class.ilYuiUtil.php";
642 $this->tpl->addJavascript(
"./Modules/TestQuestionPool/templates/default/ordering.js");
649 include_once
"./Modules/Test/classes/class.ilObjTest.php";
654 if (is_array($user_post_solution))
656 $solutions = array();
657 foreach ($user_post_solution as
$key => $value)
659 if (preg_match(
"/order_(\d+)/",
$key, $matches))
661 foreach ($this->object->getAnswers() as $answeridx => $answer)
663 if ($answer->getRandomID() == $matches[1])
665 array_push($solutions, array(
"value1" => $answeridx,
"value2" => $value));
673 $solutions =& $this->
object->getSolutionValues($active_id,
$pass);
678 foreach ($solutions as $idx => $solution_value)
680 if ((strcmp($solution_value[
"value2"],
"") != 0) && (strcmp($solution_value[
"value1"],
"") != 0))
682 $jssolutions[$solution_value[
"value2"]] = $solution_value[
"value1"];
690 foreach ($keys as $idx)
692 $answer = $this->
object->answers[$idx];
693 if ($this->object->getOrderingType() ==
OQ_PICTURES)
695 $template->setCurrentBlock(
"ordering_row_standard_pictures");
696 $template->setVariable(
"PICTURE_HREF", $this->object->getImagePathWeb() . $answer->getAnswertext());
697 $thumbweb = $this->
object->getImagePathWeb() . $this->
object->getThumbPrefix() . $answer->getAnswertext();
698 $thumb = $this->
object->getImagePath() . $this->
object->getThumbPrefix() . $answer->getAnswertext();
699 if (!@file_exists($thumb)) $this->
object->rebuildThumbnails();
700 $template->setVariable(
"THUMB_HREF", $thumbweb);
701 $template->setVariable(
"THUMB_ALT", $this->lng->txt(
"thumbnail"));
702 $template->setVariable(
"THUMB_TITLE", $this->lng->txt(
"enlarge"));
703 $template->setVariable(
"ANSWER_ID", $answer->getRandomID());
704 $template->parseCurrentBlock();
708 $template->setCurrentBlock(
"ordering_row_standard_text");
709 $template->setVariable(
"ANSWER_TEXT", $this->object->prepareTextareaOutput($answer->getAnswertext(), TRUE));
710 $template->setVariable(
"ANSWER_ID", $answer->getRandomID());
711 $template->parseCurrentBlock();
713 $template->setCurrentBlock(
"ordering_row_standard");
714 $template->setVariable(
"ANSWER_ID", $answer->getRandomID());
715 if (is_array($solutions))
717 foreach ($solutions as $solution)
719 if (($solution[
"value1"] == $idx) && (strlen($solution[
"value2"])))
721 $template->setVariable(
"ANSWER_ORDER",
" value=\"" . $solution[
"value2"] .
"\"");
725 $template->parseCurrentBlock();
730 if (is_array($jssolutions) && count($jssolutions)) $keys = array_values($jssolutions);
731 foreach ($keys as $idx)
733 $answer = $this->
object->answers[$idx];
734 if ($this->object->getOrderingType() ==
OQ_PICTURES)
736 $template->setCurrentBlock(
"ordering_row_javascript_pictures");
737 $template->setVariable(
"PICTURE_HREF", $this->object->getImagePathWeb() . $answer->getAnswertext());
738 $thumbweb = $this->
object->getImagePathWeb() . $this->
object->getThumbPrefix() . $answer->getAnswertext();
739 $thumb = $this->
object->getImagePath() . $this->
object->getThumbPrefix() . $answer->getAnswertext();
740 if (!@file_exists($thumb)) $this->
object->rebuildThumbnails();
741 $template->setVariable(
"THUMB_HREF", $thumbweb);
742 $template->setVariable(
"THUMB_ALT", $this->lng->txt(
"thumbnail"));
743 $template->setVariable(
"THUMB_TITLE", $this->lng->txt(
"thumbnail"));
745 $template->setVariable(
"ENLARGE_ALT", $this->lng->txt(
"enlarge"));
746 $template->setVariable(
"ENLARGE_TITLE", $this->lng->txt(
"enlarge"));
747 $template->setVariable(
"ANSWER_ID", $answer->getRandomID());
748 $template->parseCurrentBlock();
752 $template->setCurrentBlock(
"ordering_row_javascript_text");
753 $template->setVariable(
"ANSWER_TEXT", $this->object->prepareTextareaOutput($answer->getAnswertext(), TRUE));
754 $template->setVariable(
"ANSWER_ID", $answer->getRandomID());
755 $template->parseCurrentBlock();
758 $template->setCurrentBlock(
"ordering_with_javascript");
759 if ($this->object->getOrderingType() ==
OQ_PICTURES)
761 $template->setVariable(
"RESET_POSITIONS", $this->lng->txt(
"reset_pictures"));
765 $template->setVariable(
"RESET_POSITIONS", $this->lng->txt(
"reset_definitions"));
767 $template->parseCurrentBlock();
769 $questiontext = $this->
object->getQuestion();
770 $template->setVariable(
"QUESTIONTEXT", $this->object->prepareTextareaOutput($questiontext, TRUE));
771 $questionoutput = $template->get();
772 $pageoutput = $this->
outQuestionPage(
"", $is_postponed, $active_id, $questionoutput);
783 include_once
"./Services/AdvancedEditing/classes/class.ilObjAdvancedEditing.php";
785 $this->
object->saveFeedbackGeneric(0,
$_POST[
"feedback_incomplete"]);
786 $this->
object->saveFeedbackGeneric(1,
$_POST[
"feedback_complete"]);
787 $this->
object->cleanupMediaObjectUsage();
798 global $rbacsystem, $ilTabs;
800 $this->ctrl->setParameterByClass(
"ilpageobjectgui",
"q_id",
$_GET[
"q_id"]);
801 include_once
"./Modules/TestQuestionPool/classes/class.assQuestion.php";
802 $q_type = $this->
object->getQuestionType();
806 $classname = $q_type .
"GUI";
807 $this->ctrl->setParameterByClass(strtolower($classname),
"sel_question_types", $q_type);
808 $this->ctrl->setParameterByClass(strtolower($classname),
"q_id",
$_GET[
"q_id"]);
813 if ($rbacsystem->checkAccess(
'write',
$_GET[
"ref_id"]))
816 $ilTabs->addTarget(
"edit_content",
817 $this->ctrl->getLinkTargetByClass(
"ilPageObjectGUI",
"edit"),
818 array(
"edit",
"insert",
"exec_pg"),
819 "",
"", $force_active);
823 $ilTabs->addTarget(
"preview",
824 $this->ctrl->getLinkTargetByClass(
"ilPageObjectGUI",
"preview"),
826 "ilPageObjectGUI",
"", $force_active);
829 $force_active =
false;
830 if ($rbacsystem->checkAccess(
'write',
$_GET[
"ref_id"]))
833 if ($classname) $url = $this->ctrl->getLinkTargetByClass($classname,
"editQuestion");
834 $commands =
$_POST[
"cmd"];
835 if (is_array($commands))
837 foreach ($commands as
$key => $value)
839 if (preg_match(
"/^delete_.*/",
$key, $matches))
841 $force_active =
true;
846 $ilTabs->addTarget(
"edit_properties",
848 array(
"editQuestion",
"save",
"saveEdit",
"addanswers",
"removeanswers",
"changeToPictures",
"uploadanswers",
"changeToText",
"upanswers",
"downanswers",
"originalSyncForm"),
849 $classname,
"", $force_active);
854 $ilTabs->addTarget(
"feedback",
855 $this->ctrl->getLinkTargetByClass($classname,
"feedback"),
856 array(
"feedback",
"saveFeedback"),
862 $ilTabs->addTarget(
"solution_hint",
863 $this->ctrl->getLinkTargetByClass($classname,
"suggestedsolution"),
864 array(
"suggestedsolution",
"saveSuggestedSolution",
"outSolutionExplorer",
"cancel",
865 "addSuggestedSolution",
"cancelExplorer",
"linkChilds",
"removeSuggestedSolution"
875 $ilTabs->addTarget(
"statistics",
876 $this->ctrl->getLinkTargetByClass($classname,
"assessment"),
881 if ((
$_GET[
"calling_test"] > 0) || (
$_GET[
"test_ref_id"] > 0))
885 $ilTabs->setBackTarget($this->lng->txt(
"backtocallingtest"),
"ilias.php?baseClass=ilObjTestGUI&cmd=questions&ref_id=$ref_id");
889 $ilTabs->setBackTarget($this->lng->txt(
"qpl"), $this->ctrl->getLinkTargetByClass(
"ilobjquestionpoolgui",
"questions"));