ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
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 
4 include_once "./Modules/TestQuestionPool/classes/class.ilSingleChoiceWizardInputGUI.php";
5 
7 {
13  function setValue($a_value)
14  {
15  $this->values = array();
16  if (is_array( $a_value ))
17  {
18  if (is_array( $a_value['answer'] ))
19  {
20  foreach ($a_value['answer'] as $index => $value)
21  {
22  include_once "./Modules/TestQuestionPool/classes/class.assAnswerMultipleResponseImage.php";
23  $answer = new ASS_AnswerMultipleResponseImage($value, $a_value['points'][$index], $index, $a_value['points_unchecked'][$index], $a_value['imagename'][$index]);
24  array_push( $this->values, $answer );
25  }
26  }
27  }
28  }
29 
35  function checkInput()
36  {
37  global $lng;
38 
39  include_once "./Services/AdvancedEditing/classes/class.ilObjAdvancedEditing.php";
40  if (is_array( $_POST[$this->getPostVar()] ))
41  {
42  $_POST[$this->getPostVar()] = ilUtil::stripSlashesRecursive( $_POST[$this->getPostVar()], false,
44  )
45  );
46  }
47  $foundvalues = $_POST[$this->getPostVar()];
48  if (is_array( $foundvalues ))
49  {
50  // check answers
51  if (is_array( $foundvalues['answer'] ))
52  {
53  foreach ($foundvalues['answer'] as $aidx => $answervalue)
54  {
55  if (((strlen( $answervalue )) == 0) && (strlen( $foundvalues['imagename'][$aidx] ) == 0))
56  {
57  $this->setAlert( $lng->txt( "msg_input_is_required" ) );
58  return FALSE;
59  }
60  }
61  }
62  // check points
63  $max = 0;
64  if (is_array( $foundvalues['points'] ))
65  {
66  foreach ($foundvalues['points'] as $points)
67  {
68  if ($points > $max)
69  {
70  $max = $points;
71  }
72  if (((strlen( $points )) == 0) || (!is_numeric( $points )))
73  {
74  $this->setAlert( $lng->txt( "form_msg_numeric_value_required" ) );
75  return FALSE;
76  }
77  }
78  }
79  if ($max == 0)
80  {
81  $this->setAlert( $lng->txt( "enter_enough_positive_points" ) );
82  return false;
83  }
84  }
85  else
86  {
87  $this->setAlert( $lng->txt( "msg_input_is_required" ) );
88  return FALSE;
89  }
90 
91  return $this->checkSubItemsInput();
92  }
93 
99  function insert($a_tpl)
100  {
101  global $lng;
102 
103  $tpl = new ilTemplate("tpl.prop_essaykeywordswizardinput.html", true, true, "Modules/TestQuestionPool");
104  $i = 0;
105  foreach ($this->values as $value)
106  {
107  if ($this->getSingleline())
108  {
109  if (is_object( $value ))
110  {
111  $tpl->setCurrentBlock( "prop_text_propval" );
112  $tpl->setVariable( "PROPERTY_VALUE", ilUtil::prepareFormOutput( $value->getAnswertext() ) );
113  $tpl->parseCurrentBlock();
114  $tpl->setCurrentBlock( "prop_points_propval" );
115  $tpl->setVariable( "PROPERTY_VALUE", ilUtil::prepareFormOutput( $value->getPointsChecked() ) );
116  $tpl->parseCurrentBlock();
117  }
118  $tpl->setCurrentBlock( 'singleline' );
119  $tpl->setVariable( "SIZE", $this->getSize() );
120  $tpl->setVariable( "SINGLELINE_ID", $this->getPostVar() . "[answer][$i]" );
121  $tpl->setVariable( "SINGLELINE_ROW_NUMBER", $i );
122  $tpl->setVariable( "SINGLELINE_POST_VAR", $this->getPostVar() );
123  $tpl->setVariable( "MAXLENGTH", $this->getMaxLength() );
124  if ($this->getDisabled())
125  {
126  $tpl->setVariable( "DISABLED_SINGLELINE", " disabled=\"disabled\"" );
127  }
128  $tpl->parseCurrentBlock();
129  }
130  else {
131  if (!$this->getSingleline())
132  {
133  if (is_object( $value ))
134  {
135  $tpl->setCurrentBlock( "prop_points_propval" );
136  $tpl->setVariable( "PROPERTY_VALUE", ilUtil::prepareFormOutput( $value->getPoints() ) );
137  $tpl->parseCurrentBlock();
138  }
139  }
140  }
141 
142  $tpl->setCurrentBlock( "row" );
143  $tpl->setVariable( "POST_VAR", $this->getPostVar() );
144  $tpl->setVariable( "ROW_NUMBER", $i );
145  $tpl->setVariable( "ID", $this->getPostVar() . "[answer][$i]" );
146  $tpl->setVariable( "POINTS_ID", $this->getPostVar() . "[points][$i]" );
147  $tpl->setVariable( "CMD_ADD", "cmd[add" . $this->getFieldId() . "][$i]" );
148  $tpl->setVariable( "CMD_REMOVE", "cmd[remove" . $this->getFieldId() . "][$i]" );
149  if ($this->getDisabled())
150  {
151  $tpl->setVariable( "DISABLED_POINTS", " disabled=\"disabled\"" );
152  }
153  $tpl->setVariable( "ADD_BUTTON", ilGlyphGUI::get(ilGlyphGUI::ADD) );
154  $tpl->setVariable( "REMOVE_BUTTON", ilGlyphGUI::get(ilGlyphGUI::REMOVE) );
155  $tpl->parseCurrentBlock();
156  $i++;
157  }
158 
159  $tpl->setVariable( "ELEMENT_ID", $this->getPostVar() );
160  $tpl->setVariable( "TEXT_YES", $lng->txt( 'yes' ) );
161  $tpl->setVariable( "TEXT_NO", $lng->txt( 'no' ) );
162  $tpl->setVariable( "DELETE_IMAGE_HEADER", $lng->txt( 'delete_image_header' ) );
163  $tpl->setVariable( "DELETE_IMAGE_QUESTION", $lng->txt( 'delete_image_question' ) );
164  $tpl->setVariable( "ANSWER_TEXT", $lng->txt( 'answer_text' ) );
165  $tpl->setVariable( "POINTS_TEXT", $lng->txt( 'points' ) );
166  $tpl->setVariable( "COMMANDS_TEXT", $lng->txt( 'actions' ) );
167  $tpl->setVariable( "POINTS_CHECKED_TEXT", $lng->txt( 'checkbox_checked' ) );
168 
169  $a_tpl->setCurrentBlock( "prop_generic" );
170  $a_tpl->setVariable( "PROP_GENERIC", $tpl->get() );
171  $a_tpl->parseCurrentBlock();
172 
173  global $tpl;
174  $tpl->addJavascript("./Services/Form/js/ServiceFormWizardInput.js");
175  $tpl->addJavascript("./Modules/TestQuestionPool/templates/default/essaykeywordwizard.js");
176  }
177 
178 }
static prepareFormOutput($a_str, $a_strip=false)
prepares string output for html forms public
getMaxLength()
Get Max Length.
static _getUsedHTMLTagsAsString($a_module="")
Returns a string of all allowed HTML tags for text editing.
getPostVar()
Get Post Variable.
ASS_AnswerBinaryStateImage is a class for answers with a binary state indicator (checked/unchecked, set/unset) and an image file.
static get($a_glyph, $a_text="")
Get glyph html.
checkInput()
Check input, strip slashes etc.
setAlert($a_alert)
Set Alert Text.
global $tpl
Definition: ilias.php:8
getFieldId()
Get Post Variable.
special template class to simplify handling of ITX/PEAR
static stripSlashesRecursive($a_data, $a_strip_html=true, $a_allow="")
Strip slashes from array and sub-arrays.
Create styles array
The data for the language used.
This class represents a single choice wizard property in a property form.
global $lng
Definition: privfeed.php:17
$_POST["username"]