ILIAS  release_7 Revision v7.30-3-g800a261c036
class.ilEssayKeywordWizardInputGUI.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2013 ILIAS open source, Extended GPL, see docs/LICENSE */
3
4include_once "./Modules/TestQuestionPool/classes/class.ilSingleChoiceWizardInputGUI.php";
5
7{
13 public function setValue($a_value)
14 {
15 $this->values = array();
16 if (is_array($a_value)) {
17 if (is_array($a_value['answer'])) {
18 foreach ($a_value['answer'] as $index => $value) {
19 include_once "./Modules/TestQuestionPool/classes/class.assAnswerMultipleResponseImage.php";
20 $answer = new ASS_AnswerMultipleResponseImage($value, $a_value['points'][$index], $index, $a_value['points_unchecked'][$index], $a_value['imagename'][$index]);
21 array_push($this->values, $answer);
22 }
23 }
24 }
25 }
26
32 public function checkInput()
33 {
34 global $DIC;
35 $lng = $DIC['lng'];
36
37 include_once "./Services/AdvancedEditing/classes/class.ilObjAdvancedEditing.php";
38 if (is_array($_POST[$this->getPostVar()])) {
40 $_POST[$this->getPostVar()],
41 false,
43 "assessment"
44 )
45 );
46 }
47 $foundvalues = $_POST[$this->getPostVar()];
48 if (is_array($foundvalues)) {
49 // check answers
50 if (is_array($foundvalues['answer'])) {
51 foreach ($foundvalues['answer'] as $aidx => $answervalue) {
52 if (((strlen($answervalue)) == 0) && (strlen($foundvalues['imagename'][$aidx]) == 0)) {
53 $this->setAlert($lng->txt("msg_input_is_required"));
54 return false;
55 }
56 }
57 }
58 // check points
59 $max = 0;
60 if (is_array($foundvalues['points'])) {
61 foreach ($foundvalues['points'] as $points) {
62 if ($points > $max) {
63 $max = $points;
64 }
65 if (((strlen($points)) == 0) || (!is_numeric($points))) {
66 $this->setAlert($lng->txt("form_msg_numeric_value_required"));
67 return false;
68 }
69 }
70 }
71 if ($max == 0) {
72 $this->setAlert($lng->txt("enter_enough_positive_points"));
73 return false;
74 }
75 } else {
76 $this->setAlert($lng->txt("msg_input_is_required"));
77 return false;
78 }
79
80 return $this->checkSubItemsInput();
81 }
82
88 public function insert($a_tpl)
89 {
90 global $DIC;
91 $lng = $DIC['lng'];
92
93 $tpl = new ilTemplate("tpl.prop_essaykeywordswizardinput.html", true, true, "Modules/TestQuestionPool");
94 $i = 0;
95 foreach ($this->values as $value) {
96 if ($this->getSingleline()) {
97 if (is_object($value)) {
98 $tpl->setCurrentBlock("prop_text_propval");
99 $tpl->setVariable("PROPERTY_VALUE", ilUtil::prepareFormOutput($value->getAnswertext()));
100 $tpl->parseCurrentBlock();
101 $tpl->setCurrentBlock("prop_points_propval");
102 $tpl->setVariable("PROPERTY_VALUE", ilUtil::prepareFormOutput($value->getPointsChecked()));
103 $tpl->parseCurrentBlock();
104 }
105 $tpl->setCurrentBlock('singleline');
106 $tpl->setVariable("SIZE", $this->getSize());
107 $tpl->setVariable("SINGLELINE_ID", $this->getPostVar() . "[answer][$i]");
108 $tpl->setVariable("SINGLELINE_ROW_NUMBER", $i);
109 $tpl->setVariable("SINGLELINE_POST_VAR", $this->getPostVar());
110 $tpl->setVariable("MAXLENGTH", $this->getMaxLength());
111 if ($this->getDisabled()) {
112 $tpl->setVariable("DISABLED_SINGLELINE", " disabled=\"disabled\"");
113 }
114 $tpl->parseCurrentBlock();
115 } else {
116 if (!$this->getSingleline()) {
117 if (is_object($value)) {
118 $tpl->setCurrentBlock("prop_points_propval");
119 $tpl->setVariable("PROPERTY_VALUE", ilUtil::prepareFormOutput($value->getPoints()));
120 $tpl->parseCurrentBlock();
121 }
122 }
123 }
124
125 $tpl->setCurrentBlock("row");
126 $tpl->setVariable("POST_VAR", $this->getPostVar());
127 $tpl->setVariable("ROW_NUMBER", $i);
128 $tpl->setVariable("ID", $this->getPostVar() . "[answer][$i]");
129 $tpl->setVariable("POINTS_ID", $this->getPostVar() . "[points][$i]");
130 $tpl->setVariable("CMD_ADD", "cmd[add" . $this->getFieldId() . "][$i]");
131 $tpl->setVariable("CMD_REMOVE", "cmd[remove" . $this->getFieldId() . "][$i]");
132 if ($this->getDisabled()) {
133 $tpl->setVariable("DISABLED_POINTS", " disabled=\"disabled\"");
134 }
135 $tpl->setVariable("ADD_BUTTON", ilGlyphGUI::get(ilGlyphGUI::ADD));
136 $tpl->setVariable("REMOVE_BUTTON", ilGlyphGUI::get(ilGlyphGUI::REMOVE));
137 $tpl->parseCurrentBlock();
138 $i++;
139 }
140
141 $tpl->setVariable("ELEMENT_ID", $this->getPostVar());
142 $tpl->setVariable("TEXT_YES", $lng->txt('yes'));
143 $tpl->setVariable("TEXT_NO", $lng->txt('no'));
144 $tpl->setVariable("DELETE_IMAGE_HEADER", $lng->txt('delete_image_header'));
145 $tpl->setVariable("DELETE_IMAGE_QUESTION", $lng->txt('delete_image_question'));
146 $tpl->setVariable("ANSWER_TEXT", $lng->txt('answer_text'));
147 $tpl->setVariable("POINTS_TEXT", $lng->txt('points'));
148 $tpl->setVariable("COMMANDS_TEXT", $lng->txt('actions'));
149 $tpl->setVariable("POINTS_CHECKED_TEXT", $lng->txt('checkbox_checked'));
150
151 $a_tpl->setCurrentBlock("prop_generic");
152 $a_tpl->setVariable("PROP_GENERIC", $tpl->get());
153 $a_tpl->parseCurrentBlock();
154
155 global $DIC;
156 $tpl = $DIC['tpl'];
157 $tpl->addJavascript("./Services/Form/js/ServiceFormWizardInput.js");
158 $tpl->addJavascript("./Modules/TestQuestionPool/templates/default/essaykeywordwizard.js");
159 }
160}
$_POST["username"]
ASS_AnswerBinaryStateImage is a class for answers with a binary state indicator (checked/unchecked,...
An exception for terminatinating execution or to throw for unit testing.
checkInput()
Check input, strip slashes etc.
getPostVar()
Get Post Variable.
setAlert($a_alert)
Set Alert Text.
getFieldId()
Get Post Variable.
static get($a_glyph, $a_text="")
Get glyph html.
static _getUsedHTMLTagsAsString($a_module="")
Returns a string of all allowed HTML tags for text editing.
This class represents a single choice wizard property in a property form.
special template class to simplify handling of ITX/PEAR
getMaxLength()
Get Max Length.
static stripSlashesRecursive($a_data, $a_strip_html=true, $a_allow="")
Strip slashes from array and sub-arrays.
static prepareFormOutput($a_str, $a_strip=false)
prepares string output for html forms @access public
global $DIC
Definition: goto.php:24
if($DIC->http() ->request() ->getMethod()=="GET" &&isset($DIC->http() ->request() ->getQueryParams()['tex'])) $tpl
Definition: latex.php:41
$index
Definition: metadata.php:128
$i
Definition: metadata.php:24