55 $keys = $this->forms_helper->transformArray($a_value,
'key', $this->
refinery->kindlyTo()->string());
56 $points = $this->forms_helper->transformPoints($a_value);
59 foreach ($keys as $index => $key) {
62 $a_value[
'value'][$index] ??
'',
63 $points[$index] ?? 0.0
75 $this->key_size = $a_size;
95 $this->value_size = $a_size;
115 $this->key_maxlength = $a_maxlength;
135 $this->value_maxlength = $a_maxlength;
155 $this->value_name = $a_name;
175 $this->key_name = $a_name;
195 $this->values = $a_values;
214 $kindlyTo = $this->
refinery->kindlyTo();
217 if (!is_array(
$data)) {
218 $this->
setAlert($this->
lng->txt(
'errortext_info'));
223 $points = $this->forms_helper->checkPointsInput(
$data, $this->
getRequired());
224 if (!is_array($points)) {
228 foreach ($points as $point) {
230 $this->
setAlert($this->
lng->txt(
'positive_numbers_required'));
236 $keys = $this->forms_helper->transformArray(
$data,
'key', $kindlyTo->string());
237 $values = $this->forms_helper->transformArray(
$data,
'value', $kindlyTo->string());
238 if (empty($keys) || empty(
$values)) {
239 $this->
setAlert($this->
lng->txt(
'msg_input_is_required'));
242 foreach ([$keys,
$values] as $array) {
243 foreach ($array as $item) {
245 $this->
setAlert($this->
lng->txt(
'msg_input_is_required'));
263 $tpl =
new ilTemplate(
"tpl.prop_errortextwizardinput.html",
true,
true,
"components/ILIAS/TestQuestionPool");
265 foreach ($this->values as
$value) {
266 if (is_object($value)) {
267 if (strlen($value->getTextWrong())) {
268 $tpl->setCurrentBlock(
"prop_key_propval");
270 $tpl->parseCurrentBlock();
272 if (strlen($value->getTextCorrect())) {
273 $tpl->setCurrentBlock(
"prop_value_propval");
278 $tpl->parseCurrentBlock();
280 if (strlen($value->getPoints())) {
281 $tpl->setCurrentBlock(
"prop_points_propval");
283 $tpl->parseCurrentBlock();
287 $tpl->setCurrentBlock(
"row");
288 $class = ($i % 2 == 0) ?
"even" :
"odd";
292 if ($i == count($this->values) - 1) {
295 $tpl->setVariable(
"ROW_CLASS", $class);
296 $tpl->setVariable(
"ROW_NUMBER", $i);
298 $tpl->setVariable(
"KEY_SIZE", $this->
getKeySize());
299 $tpl->setVariable(
"KEY_ID", $this->
getPostVar() .
"[key][$i]");
303 $tpl->setVariable(
"VALUE_ID", $this->
getPostVar() .
"[value][$i]");
306 $tpl->setVariable(
"POST_VAR", $this->
getPostVar());
308 $tpl->parseCurrentBlock();
312 $tpl->setVariable(
"ELEMENT_ID", $this->
getPostVar());
313 $tpl->setVariable(
"KEY_TEXT", $this->
getKeyName());
315 $tpl->setVariable(
"POINTS_TEXT",
$lng->
txt(
'points'));
parseCurrentBlock(string $part=ilGlobalTemplateInterface::DEFAULT_BLOCK)
setKeySize($a_size)
Set key size.
getKeyName()
Get key name.
txt(string $a_topic, string $a_default_lang_fallback_mod="")
gets the text for a given topic if the topic is not in the list, the topic itself with "-" will be re...
setValueName($a_name)
Set value name.
__construct($a_title="", $a_postvar="")
Constructor.
checkInput()
Check input, strip slashes etc.
getKeySize()
Get key size.
setKeyMaxlength($a_maxlength)
Set key maxlength.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
setValueMaxlength($a_maxlength)
Set value maxlength.
setKeyName($a_name)
Set key name.
setVariable($variable, $value='')
Sets a variable value.
ilTestLegacyFormsHelper $forms_helper
getValueName()
Get value name.
getValueSize()
Get value size.
setCurrentBlock(string $part=ilGlobalTemplateInterface::DEFAULT_BLOCK)
getValueMaxlength()
Get value maxlength.
__construct(Container $dic, ilPlugin $plugin)
This class represents a key value pair wizard property in a property form.
setValueSize($a_size)
Set value size.
getKeyMaxlength()
Get key maxlength.
setValues($a_values)
Set Values.
insert(ilTemplate $a_tpl)
Insert property html.