ILIAS  release_4-4 Revision
ilMatchingPairWizardInputGUI Class Reference

This class represents a key value pair wizard property in a property form. More...

+ Inheritance diagram for ilMatchingPairWizardInputGUI:
+ Collaboration diagram for ilMatchingPairWizardInputGUI:

Public Member Functions

 __construct ($a_title="", $a_postvar="")
 Constructor. More...
 
 setValue ($a_value)
 Set Value. More...
 
 setTerms ($a_terms)
 Set terms. More...
 
 setDefinitions ($a_definitions)
 Set definitions. More...
 
 setPairs ($a_pairs)
 Set pairs. More...
 
 setAllowMove ($a_allow_move)
 Set allow move. More...
 
 getAllowMove ()
 Get allow move. More...
 
 checkInput ()
 Check input, strip slashes etc. More...
 
 insert (&$a_tpl)
 Insert property html. More...
 
- Public Member Functions inherited from ilTextInputGUI
 __construct ($a_title="", $a_postvar="")
 Constructor. More...
 
 setValue ($a_value)
 Set Value. More...
 
 getValue ()
 Get Value. More...
 
 setValidationFailureMessage ($a_msg)
 Set message string for validation failure. More...
 
 getValidationFailureMessage ()
 
 setValidationRegexp ($a_value)
 Set validation regexp. More...
 
 getValidationRegexp ()
 Get validation regexp. More...
 
 setMaxLength ($a_maxlength)
 Set Max Length. More...
 
 getMaxLength ()
 Get Max Length. More...
 
 setSize ($a_size)
 Set Size. More...
 
 setInlineStyle ($a_style)
 Set inline style. More...
 
 getInlineStyle ()
 Get inline style. More...
 
 setCssClass ($a_class)
 
 getCssClass ()
 
 setValueByArray ($a_values)
 Set value by array. More...
 
 getSize ()
 Get Size. More...
 
 setSuffix ($a_value)
 Set suffix. More...
 
 getSuffix ()
 Get suffix. More...
 
 setInputType ($a_type)
 set input type More...
 
 getInputType ()
 get input type More...
 
 setSubmitFormOnEnter ($a_val)
 Set submit form on enter. More...
 
 getSubmitFormOnEnter ()
 Get submit form on enter. More...
 
 checkInput ()
 Check input, strip slashes etc. More...
 
 getDataSource ()
 get datasource link for js autocomplete More...
 
 setDataSource ($href, $a_delimiter=null)
 set datasource link for js autocomplete More...
 
 setMultiValues (array $a_values)
 
 render ($a_mode="")
 Render item. More...
 
 insert (&$a_tpl)
 Insert property html. More...
 
 getTableFilterHTML ()
 Get HTML for table filter. More...
 
 getToolbarHTML ()
 Get HTML for toolbar. More...
 
 setDisableHtmlAutoComplete ($autocomplete)
 
 isHtmlAutoCompleteDisabled ()
 
- Public Member Functions inherited from ilSubEnabledFormPropertyGUI
 addSubItem ($a_item)
 Add Subitem. More...
 
 getSubItems ()
 Get Subitems. More...
 
 getSubInputItemsRecursive ()
 returns a flat array of possibly existing subitems recursively More...
 
 checkSubItemsInput ()
 Check SubItems. More...
 
 getSubForm ()
 Get sub form html. More...
 
 getItemByPostVar ($a_post_var)
 Get item by post var. More...
 
- Public Member Functions inherited from ilFormPropertyGUI
 __construct ($a_title="", $a_postvar="")
 Constructor. More...
 
executeCommand ()
 Execute command. More...
 
 getType ()
 Get Type. More...
 
 setTitle ($a_title)
 Set Title. More...
 
 getTitle ()
 Get Title. More...
 
 setPostVar ($a_postvar)
 Set Post Variable. More...
 
 getPostVar ()
 Get Post Variable. More...
 
 getFieldId ()
 Get Post Variable. More...
 
 setInfo ($a_info)
 Set Information Text. More...
 
 getInfo ()
 Get Information Text. More...
 
 setAlert ($a_alert)
 Set Alert Text. More...
 
 getAlert ()
 Get Alert Text. More...
 
 setRequired ($a_required)
 Set Required. More...
 
 getRequired ()
 Get Required. More...
 
 setDisabled ($a_disabled)
 Set Disabled. More...
 
 getDisabled ()
 Get Disabled. More...
 
 checkInput ()
 Check input, strip slashes etc. More...
 
 setParentForm ($a_parentform)
 Set Parent Form. More...
 
 getParentForm ()
 Get Parent Form. More...
 
 setParent ($a_val)
 Set Parent GUI object. More...
 
 getParent ()
 Get Parent GUI object. More...
 
 getSubForm ()
 Get sub form html. More...
 
 hideSubForm ()
 Sub form hidden on init? More...
 
 setHiddenTitle ($a_val)
 Set hidden title (for screenreaders) More...
 
 getHiddenTitle ()
 Get hidden title. More...
 
 getItemByPostVar ($a_post_var)
 Get item by post var. More...
 
 serializeData ()
 serialize data More...
 
 unserializeData ($a_data)
 unserialize data More...
 
 writeToSession ()
 Write to session. More...
 
 clearFromSession ()
 Clear session value. More...
 
 readFromSession ()
 Read from session. More...
 
 getHiddenTag ($a_post_var, $a_value)
 Get hidden tag (used for disabled properties) More...
 
 setMulti ($a_multi, $a_sortable=false, $a_addremove=true)
 Set Multi. More...
 
 getMulti ()
 Get Multi. More...
 
 setMultiValues (array $a_values)
 Set multi values. More...
 
 getMultiValues ()
 Get multi values. More...
 
 getContentOutsideFormTag ()
 Get content that has to reside outside of the parent form tag, e.g. More...
 

Protected Attributes

 $pairs = array()
 
 $allowMove = false
 
 $terms = array()
 
 $definitions = array()
 
- Protected Attributes inherited from ilTextInputGUI
 $value
 
 $maxlength = 200
 
 $size = 40
 
 $validationRegexp
 
 $validationFailureMessage = ''
 
 $suffix
 
 $style_css
 
 $css_class
 
 $ajax_datasource
 
 $ajax_datasource_delimiter
 
 $submit_form_on_enter = false
 
 $autocomplete_disabled = false
 
- Protected Attributes inherited from ilSubEnabledFormPropertyGUI
 $sub_items = array()
 
- Protected Attributes inherited from ilFormPropertyGUI
 $type
 
 $title
 
 $postvar
 
 $info
 
 $alert
 
 $required = false
 
 $parentgui
 
 $parentform
 
 $hidden_title = ""
 
 $multi = false
 
 $multi_sortable = false
 
 $multi_addremove = true
 
 $multi_values
 

Additional Inherited Members

- Protected Member Functions inherited from ilFormPropertyGUI
 setType ($a_type)
 Set Type. More...
 
 getMultiIconsHTML ()
 Get HTML for multiple value icons. More...
 

Detailed Description

This class represents a key value pair wizard property in a property form.

Author
Helmut Schottmüller ilias.nosp@m.@aur.nosp@m.ealis.nosp@m..de
Version
$Id$

Definition at line 11 of file class.ilMatchingPairWizardInputGUI.php.

Constructor & Destructor Documentation

◆ __construct()

ilMatchingPairWizardInputGUI::__construct (   $a_title = "",
  $a_postvar = "" 
)

Constructor.

Parameters
string$a_titleTitle
string$a_postvarPost Variable

Definition at line 24 of file class.ilMatchingPairWizardInputGUI.php.

25  {
26  parent::__construct($a_title, $a_postvar);
27  }

Member Function Documentation

◆ checkInput()

ilMatchingPairWizardInputGUI::checkInput ( )

Check input, strip slashes etc.

set alert, if input is not ok.

Returns
boolean Input ok, true/false

Definition at line 119 of file class.ilMatchingPairWizardInputGUI.php.

References $_POST, $lng, ilSubEnabledFormPropertyGUI\checkSubItemsInput(), ilFormPropertyGUI\getPostVar(), ilFormPropertyGUI\getRequired(), ilFormPropertyGUI\setAlert(), and ilUtil\stripSlashesRecursive().

120  {
121  global $lng;
122 
123  if (is_array($_POST[$this->getPostVar()])) $_POST[$this->getPostVar()] = ilUtil::stripSlashesRecursive($_POST[$this->getPostVar()]);
124  $foundvalues = $_POST[$this->getPostVar()];
125  if (is_array($foundvalues))
126  {
127  // check answers
128  if (is_array($foundvalues['term']))
129  {
130  foreach ($foundvalues['term'] as $val)
131  {
132  if ($this->getRequired() && $val < 1)
133  {
134  $this->setAlert($lng->txt("msg_input_is_required"));
135  return FALSE;
136  }
137  }
138  foreach ($foundvalues['definition'] as $val)
139  {
140  if ($this->getRequired() && $val < 1)
141  {
142  $this->setAlert($lng->txt("msg_input_is_required"));
143  return FALSE;
144  }
145  }
146  $max = 0;
147  foreach ($foundvalues['points'] as $val)
148  {
149  if ($val > 0) $max += $val;
150  if ($this->getRequired() && (strlen($val)) == 0)
151  {
152  $this->setAlert($lng->txt("msg_input_is_required"));
153  return FALSE;
154  }
155  }
156  if ($max <= 0)
157  {
158  $this->setAlert($lng->txt("enter_enough_positive_points"));
159  return FALSE;
160  }
161  }
162  else
163  {
164  if ($this->getRequired())
165  {
166  $this->setAlert($lng->txt("msg_input_is_required"));
167  return FALSE;
168  }
169  }
170  }
171  else
172  {
173  if ($this->getRequired())
174  {
175  $this->setAlert($lng->txt("msg_input_is_required"));
176  return FALSE;
177  }
178  }
179  return $this->checkSubItemsInput();
180  }
$_POST['username']
Definition: cron.php:12
getPostVar()
Get Post Variable.
setAlert($a_alert)
Set Alert Text.
static stripSlashesRecursive($a_data, $a_strip_html=true, $a_allow="")
Strip slashes from array and sub-arrays.
global $lng
Definition: privfeed.php:40
+ Here is the call graph for this function:

◆ getAllowMove()

ilMatchingPairWizardInputGUI::getAllowMove ( )

Get allow move.

Returns
boolean Allow move

Definition at line 109 of file class.ilMatchingPairWizardInputGUI.php.

References $allowMove.

Referenced by insert().

+ Here is the caller graph for this function:

◆ insert()

ilMatchingPairWizardInputGUI::insert ( $a_tpl)

Insert property html.

Returns
int Size

Definition at line 187 of file class.ilMatchingPairWizardInputGUI.php.

References $lng, $tpl, getAllowMove(), ilFormPropertyGUI\getFieldId(), ilUtil\getImagePath(), ilFormPropertyGUI\getPostVar(), ilYuiUtil\initDomEvent(), and ilUtil\prepareFormOutput().

188  {
189  global $lng;
190 
191  $tpl = new ilTemplate("tpl.prop_matchingpairinput.html", true, true, "Modules/TestQuestionPool");
192  $i = 0;
193 
194  foreach ($this->pairs as $pair)
195  {
196  $counter = 1;
197  $tpl->setCurrentBlock("option_term");
198  $tpl->setVariable("TEXT_OPTION", ilUtil::prepareFormOutput($lng->txt('please_select')));
199  $tpl->setVariable("VALUE_OPTION", 0);
200  $tpl->parseCurrentBlock();
201  foreach ($this->terms as $term)
202  {
203  $tpl->setCurrentBlock("option_term");
204  $tpl->setVariable("VALUE_OPTION", ilUtil::prepareFormOutput($term->identifier));
205  $tpl->setVariable("TEXT_OPTION", $lng->txt('term') . " " . $counter);
206  if ($pair->term->identifier == $term->identifier) $tpl->setVariable('SELECTED_OPTION', ' selected="selected"');
207  $tpl->parseCurrentBlock();
208  $counter++;
209  }
210  $counter = 1;
211  $tpl->setCurrentBlock("option_definition");
212  $tpl->setVariable("TEXT_OPTION", ilUtil::prepareFormOutput($lng->txt('please_select')));
213  $tpl->setVariable("VALUE_OPTION", 0);
214  $tpl->parseCurrentBlock();
215  foreach ($this->definitions as $definition)
216  {
217  $tpl->setCurrentBlock("option_definition");
218  $tpl->setVariable("VALUE_OPTION", ilUtil::prepareFormOutput($definition->identifier));
219  $tpl->setVariable("TEXT_OPTION", $lng->txt('definition') . " " . $counter);
220  if ($pair->definition->identifier == $definition->identifier) $tpl->setVariable('SELECTED_OPTION', ' selected="selected"');
221  $tpl->parseCurrentBlock();
222  $counter++;
223  }
224 
225  if (strlen($pair->points))
226  {
227  $tpl->setCurrentBlock('points_value');
228  $tpl->setVariable('POINTS_VALUE', $pair->points);
229  $tpl->parseCurrentBlock();
230  }
231  if ($this->getAllowMove())
232  {
233  $tpl->setCurrentBlock("move");
234  $tpl->setVariable("CMD_UP", "cmd[up" . $this->getFieldId() . "][$i]");
235  $tpl->setVariable("CMD_DOWN", "cmd[down" . $this->getFieldId() . "][$i]");
236  $tpl->setVariable("ID", $this->getPostVar() . "[$i]");
237  $tpl->setVariable("UP_BUTTON", ilUtil::getImagePath('a_up.png'));
238  $tpl->setVariable("DOWN_BUTTON", ilUtil::getImagePath('a_down.png'));
239  $tpl->parseCurrentBlock();
240  }
241 
242  $tpl->setCurrentBlock("row");
243  $class = ($i % 2 == 0) ? "even" : "odd";
244  if ($i == 0) $class .= " first";
245  if ($i == count($this->values)-1) $class .= " last";
246  $tpl->setVariable("ROW_CLASS", $class);
247  $tpl->setVariable("ROW_NUMBER", $i);
248 
249  $tpl->setVariable("ID", $this->getPostVar() . "[$i]");
250  $tpl->setVariable("CMD_ADD", "cmd[add" . $this->getFieldId() . "][$i]");
251  $tpl->setVariable("CMD_REMOVE", "cmd[remove" . $this->getFieldId() . "][$i]");
252  $tpl->setVariable("ADD_BUTTON", ilUtil::getImagePath('edit_add.png'));
253  $tpl->setVariable("REMOVE_BUTTON", ilUtil::getImagePath('edit_remove.png'));
254 
255  $tpl->setVariable("POST_VAR", $this->getPostVar());
256 
257  $tpl->parseCurrentBlock();
258 
259  $i++;
260  }
261 
262  $tpl->setCurrentBlock('term_ids');
263  $ids = array();
264  foreach ($this->terms as $term)
265  {
266  array_push($ids, $term->identifier);
267  }
268  $tpl->setVariable("POST_VAR", $this->getPostVar());
269  $tpl->setVariable("TERM_IDS", join($ids, ","));
270  $tpl->parseCurrentBlock();
271 
272  $tpl->setCurrentBlock('definition_ids');
273  $ids = array();
274  foreach ($this->definitions as $definition)
275  {
276  array_push($ids, $definition->identifier);
277  }
278  $tpl->setVariable("POST_VAR", $this->getPostVar());
279  $tpl->setVariable("DEFINITION_IDS", join($ids, ","));
280  $tpl->parseCurrentBlock();
281 
282  $tpl->setVariable("ELEMENT_ID", $this->getPostVar());
283  $tpl->setVariable("TEXT_POINTS", $lng->txt('points'));
284  $tpl->setVariable("TEXT_DEFINITION", $lng->txt('definition'));
285  $tpl->setVariable("TEXT_TERM", $lng->txt('term'));
286 
287  $a_tpl->setCurrentBlock("prop_generic");
288  $a_tpl->setVariable("PROP_GENERIC", $tpl->get());
289  $a_tpl->parseCurrentBlock();
290 
291  global $tpl;
292  include_once "./Services/YUI/classes/class.ilYuiUtil.php";
294  $tpl->addJavascript("./Modules/TestQuestionPool/templates/default/matchingpairwizard.js");
295  }
static prepareFormOutput($a_str, $a_strip=false)
prepares string output for html forms public
getPostVar()
Get Post Variable.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
getFieldId()
Get Post Variable.
special template class to simplify handling of ITX/PEAR
static initDomEvent()
Init YUI DomEvent.
if(isset($_FILES['img_file']['size']) && $_FILES['img_file']['size'] > 0) $tpl
global $lng
Definition: privfeed.php:40
+ Here is the call graph for this function:

◆ setAllowMove()

ilMatchingPairWizardInputGUI::setAllowMove (   $a_allow_move)

Set allow move.

Parameters
boolean$a_allow_moveAllow move

Definition at line 99 of file class.ilMatchingPairWizardInputGUI.php.

100  {
101  $this->allowMove = $a_allow_move;
102  }

◆ setDefinitions()

ilMatchingPairWizardInputGUI::setDefinitions (   $a_definitions)

Set definitions.

Parameters
array$a_definitionsDefinitions

Definition at line 79 of file class.ilMatchingPairWizardInputGUI.php.

80  {
81  $this->definitions = $a_definitions;
82  }

◆ setPairs()

ilMatchingPairWizardInputGUI::setPairs (   $a_pairs)

Set pairs.

Parameters
array$a_pairsPairs

Definition at line 89 of file class.ilMatchingPairWizardInputGUI.php.

90  {
91  $this->pairs = $a_pairs;
92  }

◆ setTerms()

ilMatchingPairWizardInputGUI::setTerms (   $a_terms)

Set terms.

Parameters
array$a_termsTerms

Definition at line 69 of file class.ilMatchingPairWizardInputGUI.php.

70  {
71  $this->terms = $a_terms;
72  }

◆ setValue()

ilMatchingPairWizardInputGUI::setValue (   $a_value)

Set Value.

Parameters
string$a_valueValue

Definition at line 34 of file class.ilMatchingPairWizardInputGUI.php.

35  {
36  $this->pairs = array();
37  $this->terms = array();
38  $this->definitions = array();
39  if (is_array($a_value))
40  {
41  include_once "./Modules/TestQuestionPool/classes/class.assAnswerMatchingPair.php";
42  include_once "./Modules/TestQuestionPool/classes/class.assAnswerMatchingTerm.php";
43  include_once "./Modules/TestQuestionPool/classes/class.assAnswerMatchingDefinition.php";
44  if (is_array($a_value['term']))
45  {
46  foreach ($a_value['term'] as $idx => $term)
47  {
48  array_push($this->pairs, new assAnswerMatchingPair(new assAnswerMatchingTerm('', '', $term), new assAnswerMatchingDefinition('', '', $a_value['definition'][$idx]), $a_value['points'][$idx]));
49  }
50  }
51  $term_ids = split(",", $a_value['term_id']);
52  foreach ($term_ids as $id)
53  {
54  array_push($this->terms, new assAnswerMatchingTerm('', '', $id));
55  }
56  $definition_ids = split(",", $a_value['definition_id']);
57  foreach ($definition_ids as $id)
58  {
59  array_push($this->definitions, new assAnswerMatchingDefinition('', '', $id));
60  }
61  }
62  }
Class for matching question terms.
Class for matching question pairs.
Class for matching question definitions.

Field Documentation

◆ $allowMove

ilMatchingPairWizardInputGUI::$allowMove = false
protected

Definition at line 14 of file class.ilMatchingPairWizardInputGUI.php.

Referenced by getAllowMove().

◆ $definitions

ilMatchingPairWizardInputGUI::$definitions = array()
protected

Definition at line 16 of file class.ilMatchingPairWizardInputGUI.php.

◆ $pairs

ilMatchingPairWizardInputGUI::$pairs = array()
protected

Definition at line 13 of file class.ilMatchingPairWizardInputGUI.php.

◆ $terms

ilMatchingPairWizardInputGUI::$terms = array()
protected

Definition at line 15 of file class.ilMatchingPairWizardInputGUI.php.


The documentation for this class was generated from the following file: