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