ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
ilSelectInputGUI Class Reference

This class represents a selection list property in a property form. More...

+ Inheritance diagram for ilSelectInputGUI:
+ Collaboration diagram for ilSelectInputGUI:

Public Member Functions

 __construct ($a_title="", $a_postvar="")
 Constructor. More...
 
 setOptions ($a_options)
 Set Options. More...
 
 getOptions ()
 Get Options. More...
 
 setValue ($a_value)
 Set Value. More...
 
 getValue ()
 Get Value. More...
 
 setValueByArray ($a_values)
 Set value by array. More...
 
 checkInput ()
 Check input, strip slashes etc. More...
 
 addCustomAttribute ($a_attr)
 
 getCustomAttributes ()
 
 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...
 
 setHideSubForm ($a_value, $a_condition=null)
 Set initial sub form visibility, optionally add dynamic value-based condition. More...
 
 hideSubForm ()
 Sub form hidden on init? More...
 
- 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...
 
 removeProhibitedCharacters ($a_text)
 Remove prohibited characters see #19159. More...
 
 stripSlashesAddSpaceFallback ($a_str)
 Strip slashes with add space fallback, see https://www.ilias.de/mantis/view.php?id=19727. More...
 
 getTableFilterHTML ()
 Get input item HTML to be inserted into table filters. More...
 
 getToolbarHTML ()
 Get input item HTML to be inserted into ilToolbarGUI. More...
 

Protected Attributes

 $cust_attr = array()
 
 $options = array()
 
 $value
 
- 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 selection list property in a property form.

Author
Alex Killing alex..nosp@m.kill.nosp@m.ing@g.nosp@m.mx.d.nosp@m.e
Version
$Id$

Definition at line 17 of file class.ilSelectInputGUI.php.

Constructor & Destructor Documentation

◆ __construct()

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

Constructor.

Parameters
string$a_titleTitle
string$a_postvarPost Variable

Reimplemented from ilFormPropertyGUI.

Reimplemented in ilCountrySelectInputGUI.

Definition at line 29 of file class.ilSelectInputGUI.php.

30 {
31 parent::__construct($a_title, $a_postvar);
32 $this->setType("select");
33 }
setType($a_type)
Set Type.

References ilFormPropertyGUI\setType().

+ Here is the call graph for this function:

Member Function Documentation

◆ addCustomAttribute()

ilSelectInputGUI::addCustomAttribute (   $a_attr)

Definition at line 134 of file class.ilSelectInputGUI.php.

135 {
136 $this->cust_attr[] = $a_attr;
137 }

Referenced by setHideSubForm().

+ Here is the caller graph for this function:

◆ checkInput()

ilSelectInputGUI::checkInput ( )

Check input, strip slashes etc.

set alert, if input is not ok.

Returns
boolean Input ok, true/false

Reimplemented from ilFormPropertyGUI.

Definition at line 100 of file class.ilSelectInputGUI.php.

101 {
102 global $lng;
103
104 $valid = true;
105 if(!$this->getMulti())
106 {
108 if($this->getRequired() && trim($_POST[$this->getPostVar()]) == "")
109 {
110 $valid = false;
111 }
112 }
113 else
114 {
115 foreach($_POST[$this->getPostVar()] as $idx => $value)
116 {
117 $_POST[$this->getPostVar()][$idx] = ilUtil::stripSlashes($value);
118 }
119 $_POST[$this->getPostVar()] = array_unique($_POST[$this->getPostVar()]);
120
121 if($this->getRequired() && !trim(implode("", $_POST[$this->getPostVar()])))
122 {
123 $valid = false;
124 }
125 }
126 if (!$valid)
127 {
128 $this->setAlert($lng->txt("msg_input_is_required"));
129 return false;
130 }
131 return $this->checkSubItemsInput();
132 }
getPostVar()
Get Post Variable.
setAlert($a_alert)
Set Alert Text.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
$_POST['username']
Definition: cron.php:12
$valid
global $lng
Definition: privfeed.php:40

References $_POST, $lng, $valid, $value, ilSubEnabledFormPropertyGUI\checkSubItemsInput(), ilFormPropertyGUI\getMulti(), ilFormPropertyGUI\getPostVar(), ilFormPropertyGUI\getRequired(), ilFormPropertyGUI\setAlert(), and ilUtil\stripSlashes().

+ Here is the call graph for this function:

◆ getCustomAttributes()

ilSelectInputGUI::getCustomAttributes ( )

Definition at line 139 of file class.ilSelectInputGUI.php.

140 {
141 return (array) $this->cust_attr;
142 }

References $cust_attr.

Referenced by render().

+ Here is the caller graph for this function:

◆ getOptions()

ilSelectInputGUI::getOptions ( )

Get Options.

Returns
array Options. Array ("value" => "option_text")

Reimplemented in ilCountrySelectInputGUI, and ilTaxAssignInputGUI.

Definition at line 50 of file class.ilSelectInputGUI.php.

51 {
52 return $this->options ? $this->options : array();
53 }

Referenced by render().

+ Here is the caller graph for this function:

◆ getTableFilterHTML()

ilSelectInputGUI::getTableFilterHTML ( )

Get HTML for table filter.

Implements ilTableFilterItem.

Definition at line 247 of file class.ilSelectInputGUI.php.

248 {
249 $html = $this->render();
250 return $html;
251 }
render($a_mode="")
Render item.
$html
Definition: example_001.php:87

References $html, and render().

+ Here is the call graph for this function:

◆ getToolbarHTML()

ilSelectInputGUI::getToolbarHTML ( )

Get HTML for toolbar.

Implements ilToolbarItem.

Definition at line 256 of file class.ilSelectInputGUI.php.

257 {
258 $html = $this->render("toolbar");
259 return $html;
260 }

References $html, and render().

+ Here is the call graph for this function:

◆ getValue()

ilSelectInputGUI::getValue ( )

Get Value.

Returns
string Value

Definition at line 75 of file class.ilSelectInputGUI.php.

76 {
77 return $this->value;
78 }

References $value.

Referenced by render().

+ Here is the caller graph for this function:

◆ hideSubForm()

ilSelectInputGUI::hideSubForm ( )

Sub form hidden on init?

Reimplemented from ilFormPropertyGUI.

Definition at line 281 of file class.ilSelectInputGUI.php.

282 {
283 return (bool)$this->hide_sub;
284 }

◆ insert()

ilSelectInputGUI::insert ( $a_tpl)

Insert property html.

Returns
int Size

Definition at line 237 of file class.ilSelectInputGUI.php.

238 {
239 $a_tpl->setCurrentBlock("prop_generic");
240 $a_tpl->setVariable("PROP_GENERIC", $this->render());
241 $a_tpl->parseCurrentBlock();
242 }

References render().

+ Here is the call graph for this function:

◆ render()

ilSelectInputGUI::render (   $a_mode = "")

Render item.

Reimplemented in ilMailTemplateSelectInputGUI.

Definition at line 147 of file class.ilSelectInputGUI.php.

148 {
149 $tpl = new ilTemplate("tpl.prop_select.html", true, true, "Services/Form");
150
151 foreach($this->getCustomAttributes() as $attr)
152 {
153 $tpl->setCurrentBlock('cust_attr');
154 $tpl->setVariable('CUSTOM_ATTR',$attr);
155 $tpl->parseCurrentBlock();
156 }
157
158 // determin value to select. Due to accessibility reasons we
159 // should always select a value (per default the first one)
160 $first = true;
161 foreach($this->getOptions() as $option_value => $option_text)
162 {
163 if ($first)
164 {
165 $sel_value = $option_value;
166 }
167 $first = false;
168 if ((string) $option_value == (string) $this->getValue())
169 {
170 $sel_value = $option_value;
171 }
172 }
173 foreach($this->getOptions() as $option_value => $option_text)
174 {
175 $tpl->setCurrentBlock("prop_select_option");
176 $tpl->setVariable("VAL_SELECT_OPTION", ilUtil::prepareFormOutput($option_value));
177 if((string) $sel_value == (string) $option_value)
178 {
179 $tpl->setVariable("CHK_SEL_OPTION",
180 'selected="selected"');
181 }
182 $tpl->setVariable("TXT_SELECT_OPTION", $option_text);
183 $tpl->parseCurrentBlock();
184 }
185 $tpl->setVariable("ID", $this->getFieldId());
186
187 $postvar = $this->getPostVar();
188 if($this->getMulti() && substr($postvar, -2) != "[]")
189 {
190 $postvar .= "[]";
191 }
192
193 if ($this->getDisabled())
194 {
195 if($this->getMulti())
196 {
197 $value = $this->getMultiValues();
198 $hidden = "";
199 if(is_array($value))
200 {
201 foreach($value as $item)
202 {
203 $hidden .= $this->getHiddenTag($postvar, $item);
204 }
205 }
206 }
207 else
208 {
209 $hidden = $this->getHiddenTag($postvar, $this->getValue());
210 }
211 if($hidden)
212 {
213 $tpl->setVariable("DISABLED", " disabled=\"disabled\"");
214 $tpl->setVariable("HIDDEN_INPUT", $hidden);
215 }
216 }
217 else
218 {
219 $tpl->setVariable("POST_VAR", $postvar);
220 }
221
222 // multi icons
223 if($this->getMulti() && !$a_mode && !$this->getDisabled())
224 {
225 $tpl->touchBlock("inline_in_bl");
226 $tpl->setVariable("MULTI_ICONS", $this->getMultiIconsHTML());
227 }
228
229 return $tpl->get();
230 }
global $tpl
Definition: ilias.php:8
getMultiIconsHTML()
Get HTML for multiple value icons.
getHiddenTag($a_post_var, $a_value)
Get hidden tag (used for disabled properties)
getMultiValues()
Get multi values.
getFieldId()
Get Post Variable.
special template class to simplify handling of ITX/PEAR
static prepareFormOutput($a_str, $a_strip=false)
prepares string output for html forms @access public

References ilFormPropertyGUI\$postvar, $tpl, $value, getCustomAttributes(), ilFormPropertyGUI\getDisabled(), ilFormPropertyGUI\getFieldId(), ilFormPropertyGUI\getHiddenTag(), ilFormPropertyGUI\getMulti(), ilFormPropertyGUI\getMultiIconsHTML(), ilFormPropertyGUI\getMultiValues(), getOptions(), ilFormPropertyGUI\getPostVar(), getValue(), and ilUtil\prepareFormOutput().

Referenced by getTableFilterHTML(), getToolbarHTML(), and insert().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setHideSubForm()

ilSelectInputGUI::setHideSubForm (   $a_value,
  $a_condition = null 
)

Set initial sub form visibility, optionally add dynamic value-based condition.

See also
ilObjBookingPoolGUI
Parameters
bool$a_value
string$a_condition

Definition at line 269 of file class.ilSelectInputGUI.php.

270 {
271 $this->hide_sub = (bool)$a_value;
272
273 if($a_condition)
274 {
275 $this->addCustomAttribute('onchange="if(this.value '.$a_condition.')'.
276 ' { il.Form.showSubForm(\'subform_'.$this->getFieldId().'\', \'il_prop_cont_'.$this->getFieldId().'\'); }'.
277 ' else { il.Form.hideSubForm(\'subform_'.$this->getFieldId().'\'); };"');
278 }
279 }

References addCustomAttribute(), and ilFormPropertyGUI\getFieldId().

+ Here is the call graph for this function:

◆ setOptions()

ilSelectInputGUI::setOptions (   $a_options)

Set Options.

Parameters
array$a_optionsOptions. Array ("value" => "option_text")

Reimplemented in ilTaxAssignInputGUI.

Definition at line 40 of file class.ilSelectInputGUI.php.

41 {
42 $this->options = $a_options;
43 }

◆ setValue()

ilSelectInputGUI::setValue (   $a_value)

Set Value.

Parameters
string$a_valueValue

Definition at line 60 of file class.ilSelectInputGUI.php.

61 {
62 if($this->getMulti() && is_array($a_value))
63 {
64 $this->setMultiValues($a_value);
65 $a_value = array_shift($a_value);
66 }
67 $this->value = $a_value;
68 }
setMultiValues(array $a_values)
Set multi values.

References ilFormPropertyGUI\getMulti(), and ilFormPropertyGUI\setMultiValues().

Referenced by ilTaxAssignInputGUI\setCurrentValues(), and setValueByArray().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setValueByArray()

ilSelectInputGUI::setValueByArray (   $a_values)

Set value by array.

Parameters
array$a_valuesvalue array

Definition at line 86 of file class.ilSelectInputGUI.php.

87 {
88 $this->setValue($a_values[$this->getPostVar()]);
89 foreach($this->getSubItems() as $item)
90 {
91 $item->setValueByArray($a_values);
92 }
93 }
setValue($a_value)
Set Value.

References ilFormPropertyGUI\getPostVar(), ilSubEnabledFormPropertyGUI\getSubItems(), and setValue().

+ Here is the call graph for this function:

Field Documentation

◆ $cust_attr

ilSelectInputGUI::$cust_attr = array()
protected

Definition at line 19 of file class.ilSelectInputGUI.php.

Referenced by getCustomAttributes().

◆ $options

ilSelectInputGUI::$options = array()
protected

◆ $value

ilSelectInputGUI::$value
protected

Definition at line 21 of file class.ilSelectInputGUI.php.

Referenced by checkInput(), getValue(), and render().


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