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);