50 $this->
object->loadFromDb(
$id);
52 $this->linecolor =
'#' . (
new ilSetting(
'assessment'))->
get(
'imap_line_color') ??
'FF0000';
57 $this->
object->deleteImage();
58 $this->
object->saveToDb();
59 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
'saved_successfully'),
true);
60 $this->
ctrl->redirect($this,
'editQuestion');
69 $form->setValuesByPost();
71 if (!$always && !$form->checkInput()) {
72 $this->edit_form = $form;
87 if ($this->
ctrl->getCmd() !==
'deleteImage') {
88 $this->
object->flushAnswers();
90 $image = $this->request_data_collector->raw(
'image', 4);
91 if (isset($image[
'coords'][
'name'])) {
92 foreach ($image[
'coords'][
'name'] as $idx => $name) {
93 if ($this->
object->getIsMultipleChoice() && isset($image[
'coords'][
'points_unchecked'])) {
94 $points_unchecked = $this->
refinery->kindlyTo()->float()->transform($image[
'coords'][
'points_unchecked'][$idx]);
96 $points_unchecked = 0.0;
99 $this->
object->addAnswer(
101 $image[
'coords'][
'points'][$idx],
103 $image[
'coords'][
'coords'][$idx],
104 $image[
'coords'][
'shape'][$idx],
110 if ($_FILES[
'imagemapfile'][
'tmp_name'] !==
'') {
111 if ($this->
object->getId() < 1) {
112 $this->
object->createNewQuestion();
115 $this->
object->uploadImagemap($form->
getItemByPostVar(
'imagemapfile')?->getShapes());
122 if ($this->
ctrl->getCmd() !==
'deleteImage' && $_FILES[
'image'][
'tmp_name'] ===
'') {
123 $this->
object->setImageFilename($this->request_data_collector->string(
'image_name'));
125 if ($_FILES[
'image'][
'tmp_name'] !==
'') {
126 if ($this->
object->getId() < 1) {
127 $this->
object->createNewQuestion();
129 $this->
object->setImageFilename($_FILES[
'image'][
'name'], $_FILES[
'image'][
'tmp_name']);
152 bool $checkonly =
false,
153 ?
bool $is_save_cmd =
null 156 if ($form ===
null) {
174 $radioGroup->
setValue((
string) ((
int) ($this->
object->getIsMultipleChoice())));
176 $this->
lng->txt(
'tst_imap_qst_mode_sc'),
180 $this->
lng->txt(
'tst_imap_qst_mode_mc'),
183 $radioGroup->addOption($modeSingleChoice);
184 $radioGroup->addOption($modeMultipleChoice);
189 $image->setRequired(
true);
191 if ($this->
object->getImageFilename() !==
'') {
192 $image->setImage($this->
object->getImagePathWeb() . $this->
object->getImageFilename());
193 $image->setValue($this->
object->getImageFilename());
194 $image->setAreas($this->
object->getAnswers());
195 $assessmentSetting =
new ilSetting(
"assessment");
196 $linecolor = $assessmentSetting->get(
"imap_line_color") !==
null 197 ?
'"#' . $assessmentSetting->get(
'imap_line_color') .
'"' :
'"#FF0000"';
198 $image->setLineColor($linecolor);
199 $image->setImagePath($this->
object->getImagePath());
200 $image->setImagePathWeb($this->
object->getImagePathWeb());
229 $shape = $this->request_data_collector->string(
'shape');
230 $shape_title = $this->request_data_collector->string(
'shapetitle');
231 $image = $this->request_data_collector->raw(
'image', 2);
235 $coords = implode(
',', $image[
'mapcoords']);
236 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
'msg_rect_added'),
true);
239 if (preg_match(
"/(\d+)\s*,\s*(\d+)\s+(\d+)\s*,\s*(\d+)/", $image[
'mapcoords'][0] .
' ' . $image[
'mapcoords'][1], $matches)) {
240 $coords =
"$matches[1],$matches[2]," . (
int) sqrt((($matches[3] - $matches[1]) * ($matches[3] - $matches[1])) + (($matches[4] - $matches[2]) * ($matches[4] - $matches[2])));
242 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
'msg_circle_added'),
true);
245 $coords = implode(
',', $image[
'mapcoords']);
246 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
'msg_poly_added'),
true);
250 $this->
object->addAnswer($shape_title, 0, count($this->
object->getAnswers()), $coords, $shape);
251 $this->
object->saveToDb();
252 $this->
ctrl->redirect($this,
'editQuestion');
258 $editor_tpl =
new ilTemplate(
'tpl.il_as_qpl_imagemap_question.html',
true,
true,
'components/ILIAS/TestQuestionPool');
260 $shape = $shape !==
'' ? $shape : $this->request_data_collector->string(
'shape');
261 $shape_title = $this->request_data_collector->string(
'shapetitle');
262 $image = $this->request_data_collector->raw(
'image', 2);
263 $coords = $image[
'mapcoords'] ?? [];
265 $cmd = $this->request_data_collector->raw(
'cmd');
266 if ($cmd !==
null && array_key_exists(
'areaEditor', $cmd) && is_array($cmd[
'areaEditor'][
'image'])) {
267 $coords[] = $cmd[
'areaEditor'][
'image'][0] .
',' . $cmd[
'areaEditor'][
'image'][1];
269 foreach ($coords as $value) {
270 $editor_tpl->setCurrentBlock(
'hidden');
271 $editor_tpl->setVariable(
'HIDDEN_NAME',
'image[mapcoords][]');
272 $editor_tpl->setVariable(
'HIDDEN_VALUE', $value);
273 $editor_tpl->parseCurrentBlock();
276 $editor_tpl->setCurrentBlock(
'hidden');
277 $editor_tpl->setVariable(
'HIDDEN_NAME',
'shape');
278 $editor_tpl->setVariable(
282 $editor_tpl->parseCurrentBlock();
285 foreach ($this->
object->answers as $index => $answer) {
286 $preview->
addArea($index, $answer->getArea(), $answer->getCoords(), $answer->getAnswertext(),
'',
'',
true,
$this->linecolor);
289 $disabled_save =
' disabled=\"disabled\"';
291 $coords_count = count($coords);
294 switch ($coords_count) {
296 $this->tpl->setOnScreenMessage(
'info', $this->
lng->txt(
'rectangle_click_tl_corner'));
299 $this->tpl->setOnScreenMessage(
'info', $this->
lng->txt(
'rectangle_click_br_corner'));
300 $preview->addPoint($preview->getAreaCount(), implode(
',', $coords),
true,
'blue');
303 $c = implode(
',', $coords);
310 switch ($coords_count) {
312 $this->tpl->setOnScreenMessage(
'info', $this->
lng->txt(
'circle_click_center'));
315 $this->tpl->setOnScreenMessage(
'info', $this->
lng->txt(
'circle_click_circle'));
316 $preview->addPoint($preview->getAreaCount(), implode(
',', $coords),
true,
'blue');
319 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])));
328 switch ($coords_count) {
330 $this->tpl->setOnScreenMessage(
'info', $this->
lng->txt(
'polygon_click_starting_point'));
333 $this->tpl->setOnScreenMessage(
'info', $this->
lng->txt(
'polygon_click_next_point'));
334 $preview->addPoint($preview->getAreaCount(), implode(
',', $coords),
true,
'blue');
337 $this->tpl->setOnScreenMessage(
'info', $this->
lng->txt(
'polygon_click_next_or_save'));
339 $c = implode(
',', $coords);
346 $preview->addArea($preview->getAreaCount(), $shape,
$c, $shape_title,
'',
'',
true,
'blue');
348 $preview->createPreview();
349 $image_path = $this->
object->getImagePathWeb() . $preview->getPreviewFilename($this->
object->getImagePath(), $this->
object->getImageFilename()) .
'?img=' . time();
351 $editor_tpl->setCurrentBlock(
'maparea');
352 $editor_tpl->setVariable(
'IMAGEMAP_NAME',
'image');
354 $editor_tpl->setCurrentBlock(
'imagearea');
355 $editor_tpl->setVariable(
'ALT_IMAGE', $this->
lng->txt(
'imagemap'));
362 $editor_tpl->parseCurrentBlock();
364 if ($shape_title !==
'') {
365 $editor_tpl->setCurrentBlock(
'shapetitle');
366 $editor_tpl->setVariable(
'VALUE_SHAPETITLE', $shape_title);
367 $editor_tpl->parseCurrentBlock();
370 $editor_tpl->setVariable(
'TEXT_IMAGEMAP', $this->
lng->txt(
'imagemap'));
371 $editor_tpl->setVariable(
'TEXT_SHAPETITLE', $this->
lng->txt(
'ass_imap_hint'));
372 $editor_tpl->setVariable(
'CANCEL', $this->
lng->txt(
'cancel'));
373 $editor_tpl->setVariable(
'SAVE', $this->
lng->txt(
'save'));
374 $editor_tpl->setVariable(
'DISABLED_SAVE', $disabled_save);
377 $editor_tpl->setVariable(
'FORMACTION', $this->
ctrl->getFormaction($this,
'add' . ucfirst($shape)));
380 $this->tpl->setVariable(
'QUESTION_DATA', $editor_tpl->get());
385 $this->tpl->setOnScreenMessage(
'info', $this->
lng->txt(
'msg_cancel'),
true);
386 $this->
ctrl->redirect($this,
'editQuestion');
394 $info = $this->
object->getTestOutputSolutions($active_id, $pass);
395 return $form_action . (($info !== [] && $info[0][
'value1'] !==
'') ?
'&selImage=' . $info[0][
'value1'] :
'');
401 bool $graphical_output =
false,
402 bool $result_output =
false,
403 bool $show_question_only =
true,
404 bool $show_feedback =
false,
405 bool $show_correct_solution =
false,
406 bool $show_manual_scoring =
false,
407 bool $show_question_text =
true,
408 bool $show_inline_feedback =
true 410 $user_solutions = [];
411 if (($active_id > 0) && (!$show_correct_solution)) {
412 $user_solutions = $this->
object->getSolutionValues($active_id, $pass);
414 if (!$this->
object->getIsMultipleChoice()) {
417 foreach ($this->
object->answers as $index => $answer) {
418 if ($answer->getPoints() > $max_points) {
419 $max_points = $answer->getPoints();
420 $found_index = $index;
423 array_push($user_solutions, [
"value1" => $found_index]);
426 foreach ($this->
object->answers as $index => $answer) {
427 $points_checked = $answer->getPoints();
428 $points_unchecked = $answer->getPointsUnchecked();
429 if ($points_checked > $points_unchecked) {
430 if ($points_checked > 0) {
431 array_push($user_solutions, [
"value1" => $index]);
446 $show_correct_solution,
447 $show_manual_scoring,
450 $show_inline_feedback,
455 mixed $user_solutions,
458 bool $graphical_output =
false,
459 bool $result_output =
false,
460 bool $show_question_only =
true,
461 bool $show_feedback =
false,
462 bool $show_correct_solution =
false,
463 bool $show_manual_scoring =
false,
464 bool $show_question_text =
true,
465 bool $show_autosave_title =
false,
466 bool $show_inline_feedback =
false,
468 $imagepath = $this->
object->getImagePathWeb() . $this->
object->getImageFilename();
470 if (is_array($user_solutions)) {
472 foreach ($user_solutions as $idx => $solution_value) {
473 $value1 = $solution_value[
"value1"];
476 !isset($this->
object->answers[$value1])
482 $shape = $this->
object->answers[$value1];
487 $shape->getAnswertext(),
494 $solution_id = $value1;
496 $preview->createPreview();
497 $imagepath = implode(
'', [
498 $this->
object->getImagePathWeb(),
499 $preview->getPreviewFilename(
500 $this->
object->getImagePath(),
501 $this->
object->getImageFilename()
507 $template =
new ilTemplate(
"tpl.il_as_qpl_imagemap_question_output_solution.html",
true,
true,
"components/ILIAS/TestQuestionPool");
508 $solutiontemplate =
new ilTemplate(
"tpl.il_as_tst_solution_output.html",
true,
true,
"components/ILIAS/TestQuestionPool");
509 if ($show_question_text ==
true) {
510 $template->setVariable(
"QUESTIONTEXT", $this->
object->getQuestionForHTMLOutput());
518 $template->setVariable(
"IMG_ALT", $this->
lng->txt(
"imagemap"));
519 $template->setVariable(
"IMG_TITLE", $this->
lng->txt(
"imagemap"));
520 if (($active_id > 0) && (!$show_correct_solution)) {
521 if ($graphical_output) {
523 $reached_points = $this->
object->getReachedPoints($active_id, $pass);
524 if ($reached_points == $this->
object->getMaximumPoints()) {
528 if ($reached_points > 0) {
531 $template->setCurrentBlock(
"icon_ok");
532 $template->setVariable(
"ICON_OK", $correctness_icon);
533 $template->parseCurrentBlock();
537 if ($show_feedback) {
538 $fb = $this->
object->feedbackOBJ->getSpecificAnswerFeedbackTestPresentation(
545 $template->setCurrentBlock(
"feedback");
546 $template->setVariable(
"FEEDBACK", $fb);
547 $template->parseCurrentBlock();
551 $questionoutput = $template->get();
553 if (strlen($feedback)) {
559 $solutiontemplate->setVariable(
"ILC_FB_CSS_CLASS", $cssClass);
562 $solutiontemplate->setVariable(
"SOLUTION_OUTPUT", $questionoutput);
564 $solutionoutput = $solutiontemplate->get();
565 if (!$show_question_only) {
569 return $solutionoutput;
573 bool $show_question_only =
false,
574 bool $show_inline_feedback =
false 580 $user_solution = array_values($this->
getPreviewSession()->getParticipantsSolution());
584 foreach ($user_solution as $idx => $solution_value) {
585 if ($solution_value !==
'') {
586 $preview->
addArea($solution_value, $this->
object->answers[$solution_value]->getArea(), $this->
object->answers[$solution_value]->getCoords(), $this->
object->answers[$solution_value]->getAnswertext(),
"",
"",
true,
$this->linecolor);
589 $preview->createPreview();
590 $imagepath = $this->
object->getImagePathWeb() . $preview->getPreviewFilename($this->
object->getImagePath(), $this->
object->getImageFilename());
593 $imagepath = $this->
object->getImagePathWeb() . $this->
object->getImageFilename();
597 $template =
new ilTemplate(
"tpl.il_as_qpl_imagemap_question_output.html",
true,
true,
"components/ILIAS/TestQuestionPool");
605 foreach ($this->
object->answers as $answer_id => $answer) {
606 $parameter =
"&selImage=$answer_id";
607 if (is_array($user_solution) && in_array($answer_id, $user_solution)) {
608 $parameter =
"&remImage=$answer_id";
612 $template->setCurrentBlock(
"imagemap_area_href");
613 $template->setVariable(
"HREF_AREA", $hrefArea . $parameter);
614 $template->parseCurrentBlock();
617 $template->setCurrentBlock(
"imagemap_area");
618 $template->setVariable(
"SHAPE", $answer->getArea());
619 $template->setVariable(
"COORDS", $answer->getCoords());
622 $template->parseCurrentBlock();
624 $template->setVariable(
"QUESTIONTEXT", $this->
object->getQuestionForHTMLOutput());
630 $template->setVariable(
"IMG_ALT", $this->
lng->txt(
"imagemap"));
631 $template->setVariable(
"IMG_TITLE", $this->
lng->txt(
"imagemap"));
632 $questionoutput = $template->get();
633 if (!$show_question_only) {
636 return $questionoutput;
642 bool $is_question_postponed =
false,
643 array|
bool $user_post_solutions =
false,
644 bool $show_specific_inline_feedback =
false 647 $solutions = $this->
object->getTestOutputSolutions($active_id, $pass);
655 foreach ($solutions as $idx => $solution_value) {
656 if ($solution_value[
"value1"] !==
null) {
657 $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);
658 $userSelection[$selectionIndex] = $solution_value[
"value1"];
660 $selectionIndex = $this->
object->getIsMultipleChoice() ? ++$selectionIndex : $selectionIndex;
664 $preview->createPreview();
666 $imagepath = $this->
object->getImagePathWeb() . $preview->getPreviewFilename($this->
object->getImagePath(), $this->
object->getImageFilename());
668 $imagepath = $this->
object->getImagePathWeb() . $this->
object->getImageFilename();
672 $template =
new ilTemplate(
"tpl.il_as_qpl_imagemap_question_output.html",
true,
true,
"components/ILIAS/TestQuestionPool");
674 foreach ($this->
object->answers as $answer_id => $answer) {
675 $template->setCurrentBlock(
"imagemap_area");
676 $template->setVariable(
"HREF_AREA", $this->
buildAreaLinkTarget($userSelection, $answer_id));
677 $template->setVariable(
"SHAPE", $answer->getArea());
678 $template->setVariable(
"COORDS", $answer->getCoords());
681 $template->parseCurrentBlock();
682 if ($show_specific_inline_feedback) {
683 if (!$this->
object->getIsMultipleChoice() && count($userSelection) && current($userSelection) == $answer_id) {
684 $feedback = $this->
object->feedbackOBJ->getSpecificAnswerFeedbackTestPresentation(
689 if ($feedback !==
'') {
690 $template->setCurrentBlock(
"feedback");
691 $template->setVariable(
"FEEDBACK", $feedback);
692 $template->parseCurrentBlock();
697 $template->setVariable(
"QUESTIONTEXT", $this->
object->getQuestionForHTMLOutput());
703 $template->setVariable(
"IMG_ALT", $this->
lng->txt(
"imagemap"));
704 $template->setVariable(
"IMG_TITLE", $this->
lng->txt(
"imagemap"));
705 $questionoutput = $template->get();
706 $pageoutput = $this->
outQuestionPage(
"", $is_question_postponed, $active_id, $questionoutput);
713 $href = $this->
ctrl->getLinkTargetByClass(
728 if ($this->
object->getTestPresentationConfig()->isSolutionInitiallyPrefilled()) {
729 $reuseSelection = [];
731 if ($areaIndex ===
null) {
732 $reuseSelection = $currentSelection;
733 } elseif ($this->
object->getIsMultipleChoice()) {
734 if (!in_array($areaIndex, $currentSelection)) {
735 $reuseSelection[] = $areaIndex;
738 foreach (array_diff($currentSelection, [$areaIndex]) as $otherSelectedArea) {
739 $reuseSelection[] = $otherSelectedArea;
742 $reuseSelection[] = $areaIndex;
746 $action =
'reuseSelection';
747 } elseif ($areaIndex !==
null) {
748 if (!$this->
object->getIsMultipleChoice() || !in_array($areaIndex, $currentSelection)) {
749 $areaAction =
'selImage';
751 $areaAction =
'remImage';
754 $selection = $areaIndex;
755 $action = $areaAction;
760 return "{$action}={$selection}";
765 if (!$this->
object->feedbackOBJ->specificAnswerFeedbackExists()) {
769 $output =
'<table class="test_specific_feedback"><tbody>';
771 foreach ($this->
object->getAnswers() as $idx => $answer) {
772 $feedback = $this->
object->feedbackOBJ->getSpecificAnswerFeedbackTestPresentation(
778 $output .=
"<tr><td>{$answer->getAnswerText()}</td><td>{$feedback}</td></tr>";
781 $output .=
'</tbody></table>';
816 $answeringFequencies = [];
818 foreach ($existingAnswerOptions as $answerIndex => $answerOption) {
819 $answeringFequencies[$answerIndex] = 0;
822 foreach ($givenSolutionRows as $solutionRow) {
823 $answeringFequencies[$solutionRow[
'value1']]++;
826 return $answeringFequencies;
831 if (!count($this->
object->currentSolution)) {
836 $button = $DIC->ui()->factory()->link()->standard(
837 $this->
lng->txt(
'use_previous_solution'),
844 $tpl =
new ilTemplate(
'tpl.tst_question_additional_behaviour_checkbox.html',
true,
true,
'components/ILIAS/TestQuestionPool');
856 foreach ($this->
object->getAnswers() as $answerIndex => $ans) {
858 'answer' => $ans->getAnswerText(),
859 'frequency' => $agg[$answerIndex]
870 $image->setRequired(
true);
872 if (strlen($this->
object->getImageFilename())) {
873 $image->setImage($this->
object->getImagePathWeb() . $this->
object->getImageFilename());
874 $image->setValue($this->
object->getImageFilename());
875 $image->setAreas($this->
object->getAnswers());
876 $assessmentSetting =
new ilSetting(
"assessment");
877 $linecolor = (strlen(
878 $assessmentSetting->get(
"imap_line_color")
879 )) ?
"\"#" . $assessmentSetting->get(
"imap_line_color") .
"\"" :
"\"#FF0000\"";
880 $image->setLineColor($linecolor);
881 $image->setImagePath($this->
object->getImagePath());
882 $image->setImagePathWeb($this->
object->getImagePathWeb());
894 foreach ($this->
object->getAnswers() as $index => $answer) {
895 if ($this->
object->getIsMultipleChoice()) {
896 $answer->setPointsUnchecked((
float) $areas[$index]->getPointsUnchecked());
899 $answer->setPoints((
float) $areas[$index]->getPoints());
isTestPresentationContext()
getPreviousSolutionConfirmationCheckboxHtml()
hasCorrectSolution($activeId, $passIndex)
This class represents an option in a radio group.
saveCorrectionsFormProperties(ilPropertyFormGUI $form)
populateQuestionSpecificFormPart(\ilPropertyFormGUI $form)
static appendUrlParameterString(string $a_url, string $a_par, bool $xml_style=false)
generateCorrectnessIconsForCorrectness(int $correctness)
getAnswersFrequency($relevantAnswers, $questionIndex)
buildBasicEditFormObject()
addBasicQuestionFormProperties(ilPropertyFormGUI $form)
getPreview(bool $show_question_only=false, bool $show_inline_feedback=false)
populateAnswerSpecificFormPart(\ilPropertyFormGUI $form)
writePostData(bool $always=false)
{}
const CSS_CLASS_FEEDBACK_CORRECT
ilGlobalPageTemplate $tpl
buildAreaLinkTarget($currentSelection, $areaIndex)
getSolutionOutput(int $active_id, ?int $pass=null, bool $graphical_output=false, bool $result_output=false, bool $show_question_only=true, bool $show_feedback=false, bool $show_correct_solution=false, bool $show_manual_scoring=false, bool $show_question_text=true, bool $show_inline_feedback=true)
populateTaxonomyFormSection(ilPropertyFormGUI $form)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static implodeKeyValues(array $keyValues)
addQuestionFormCommandButtons(ilPropertyFormGUI $form)
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
buildSelectionParameter($currentSelection, $areaIndex=null)
writeQuestionGenericPostData()
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string.
aggregateAnswers($givenSolutionRows, $existingAnswerOptions)
getTestOutput(int $active_id, int $pass, bool $is_question_postponed=false, array|bool $user_post_solutions=false, bool $show_specific_inline_feedback=false)
writeAnswerSpecificPostData(ilPropertyFormGUI $form)
Extracts the answer specific values from the request and applies them to the data object...
writeQuestionSpecificPostData(ilPropertyFormGUI $form)
Extracts the question specific values from the request and applies them to the data object...
const MODE_MULTIPLE_CHOICE
Class for image map questions.
ilPropertyFormGUI $edit_form
const CSS_CLASS_FEEDBACK_WRONG
getSpecificFeedbackOutput(array $userSolution)
saveTaxonomyAssignments()
getILIASPage(string $html="")
Returns the ILIAS Page around a question.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
outQuestionPage($a_temp_var, $a_postponed=false, $active_id="", $html="", $inlineFeedbackEnabled=false)
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
__construct(Container $dic, ilPlugin $plugin)
static signFile(string $path_to_file)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
getAfterParticipationSuppressionQuestionPostVars()
Returns a list of postvars which will be suppressed in the form output when used in scoring adjustmen...
completeTestOutputFormAction(string $form_action, int $active_id, int $pass)
getAfterParticipationSuppressionAnswerPostVars()
Returns a list of postvars which will be suppressed in the form output when used in scoring adjustmen...
addArea( $index, $shape, $coords, $title="", $href="", $target="", $visible=true, $linecolor="red", $bordercolor="white", $fillcolor="#FFFFFFA0")
editQuestion(bool $checkonly=false, ?bool $is_save_cmd=null)
areaEditor(string $shape='')
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
__construct(int $id=-1)
assImagemapQuestionGUI constructor
populateCorrectionsFormProperties(ilPropertyFormGUI $form)
setVariable(string $variable, $value='')
Sets the given variable to the given value.
renderSolutionOutput(mixed $user_solutions, int $active_id, ?int $pass, bool $graphical_output=false, bool $result_output=false, bool $show_question_only=true, bool $show_feedback=false, bool $show_correct_solution=false, bool $show_manual_scoring=false, bool $show_question_text=true, bool $show_autosave_title=false, bool $show_inline_feedback=false,)
renderEditForm(ilPropertyFormGUI $form)
getGenericFeedbackOutput(int $active_id, ?int $pass)