ILIAS  release_5-0 Revision 5.0.0-1144-gc4397b1f870
All Data Structures Namespaces Files Functions Variables Modules Pages
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 ()
 
- 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...
 

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

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

References ilFormPropertyGUI\setType().

30  {
31  parent::__construct($a_title, $a_postvar);
32  $this->setType("select");
33  }
setType($a_type)
Set Type.
+ 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.

Referenced by setHideSubForm().

135  {
136  $this->cust_attr[] = $a_attr;
137  }
+ 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

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

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

101  {
102  global $lng;
103 
104  $valid = true;
105  if(!$this->getMulti())
106  {
107  $_POST[$this->getPostVar()] = ilUtil::stripSlashes($_POST[$this->getPostVar()]);
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  }
$_POST['username']
Definition: cron.php:12
getPostVar()
Get Post Variable.
$valid
setAlert($a_alert)
Set Alert Text.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
global $lng
Definition: privfeed.php:40
+ Here is the call graph for this function:

◆ getCustomAttributes()

ilSelectInputGUI::getCustomAttributes ( )

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

References $cust_attr.

Referenced by render().

140  {
141  return (array) $this->cust_attr;
142  }
+ Here is the caller graph for this function:

◆ getOptions()

ilSelectInputGUI::getOptions ( )

Get Options.

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

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

Referenced by render().

51  {
52  return $this->options ? $this->options : array();
53  }
+ 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.

References render().

248  {
249  $html = $this->render();
250  return $html;
251  }
render($a_mode="")
Render item.
+ 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.

References render().

257  {
258  $html = $this->render("toolbar");
259  return $html;
260  }
render($a_mode="")
Render item.
+ 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.

References $value.

Referenced by render().

76  {
77  return $this->value;
78  }
+ Here is the caller graph for this function:

◆ hideSubForm()

ilSelectInputGUI::hideSubForm ( )

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.

References render().

238  {
239  $a_tpl->setCurrentBlock("prop_generic");
240  $a_tpl->setVariable("PROP_GENERIC", $this->render());
241  $a_tpl->parseCurrentBlock();
242  }
render($a_mode="")
Render item.
+ Here is the call graph for this function:

◆ render()

ilSelectInputGUI::render (   $a_mode = "")

Render item.

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

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().

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  }
static prepareFormOutput($a_str, $a_strip=false)
prepares string output for html forms public
getHiddenTag($a_post_var, $a_value)
Get hidden tag (used for disabled properties)
getPostVar()
Get Post Variable.
getMultiIconsHTML()
Get HTML for multiple value icons.
global $tpl
Definition: ilias.php:8
getMultiValues()
Get multi values.
getFieldId()
Get Post Variable.
special template class to simplify handling of ITX/PEAR
+ 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.

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

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  }
getFieldId()
Get Post Variable.
+ Here is the call graph for this function:

◆ setOptions()

ilSelectInputGUI::setOptions (   $a_options)

Set Options.

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

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

Referenced by FormMailCodesGUI\__construct(), ilSurveyEvaluationGUI\addApprSelectionToToolbar(), ilPaymentStatisticGUI\addCustomer(), ilObjPaymentSettingsGUI\addCustomerObject(), ilMemberAgreementGUI\addCustomFields(), ilTestExpressPageObjectGUI\addQuestion(), ilObjTestGUI\addQuestionObject(), ilSurveyPageGUI\addQuestionToolbarForm(), ilUserProfile\addStandardFieldsToForm(), ilTestSkillEvaluationToolbarGUI\build(), ilObjQuestionPoolGUI\buildCreateQuestionForm(), ilObjTestDynamicQuestionSetConfigGUI\buildForm(), ilSurveyEvaluationGUI\competenceEval(), ilSurveyConstraintsGUI\constraintForm(), ilSurveyEditorGUI\copyQuestionsToPoolObject(), ilSurveyEditorGUI\createQuestionObject(), ilObjTestGUI\createQuestionObject(), ilSessionStatisticsGUI\current(), ilPCTableGUI\editCellAlignment(), ilObjPaymentSettingsGUI\editDetailsObject(), ilObjExternalToolsSettingsGUI\editMapsObject(), ilObjHelpSettingsGUI\editSettings(), ilObjNewsSettingsGUI\editSettings(), ilPDNewsBlockGUI\editSettings(), ilTestEvaluationGUI\exportFileUploadsForAllParticipants(), ilNotificationAdminSettingsForm\getChannelForm(), ilNotificationAdminSettingsForm\getGeneralSettingsForm(), ilObjectTranslationGUI\getMultiLangForm(), ilPCIIMTriggerEditorGUI\getToolbar(), ilImageMapEditorGUI\getToolbar(), ilNotificationAdminSettingsForm\getTypeForm(), ilObjStyleSettingsGUI\initAddPageLayoutForm(), ilAdvancedSearchGUI\initAdvancedMetaDataForm(), ilObjExerciseGUI\initAssignmentForm(), ilSetupGUI\initBasicSettingsForm(), ilECSSettingsGUI\initCategoryMappingForm(), ilObjStyleSheetGUI\initCharacteristicForm(), ilObjGlossaryGUI\initCreateForm(), ilTestManScoringParticipantsBySelectedQuestionAndPassTableGUI\initFilter(), ilTestManScoringParticipantsTableGUI\initFilter(), ilTestDynamicQuestionSetStatisticTableGUI\initFilter(), ilTestParticipantsTableGUI\initFilter(), ilRoleTableGUI\initFilter(), ilRegistrationCodesTableGUI\initFilter(), ilUserTableGUI\initFilter(), ilObjMailGUI\initForm(), ilPCTabsGUI\initForm(), ilPageLayoutGUI\initForm(), ilCalendarAppointmentGUI\initForm(), ilLDAPSettingsGUI\initForm(), ilObjUserGUI\initForm(), ilObjLinkResourceGUI\initFormLink(), ilCourseObjectivesGUI\initFormRandom(), ilConsultationHoursGUI\initFormSequence(), ilCASSettingsGUI\initFormSettings(), ilObjCalendarSettingsGUI\initFormSettings(), ilPersonalSettingsGUI\initGeneralSettingsForm(), ilSurveyEditorGUI\initHeadingForm(), ilObjSurveyGUI\initImportForm(), ilObjTestGUI\initImportForm(), ilObjSystemFolderGUI\initJavaServerIniForm(), ilPCListGUI\initListForm(), ilPersonalSettingsGUI\initMailOptionsForm(), ilMailOptionsGUI\initMailOptionsForm(), ilObjSCORM2004LearningModuleGUI\initPropertiesEditableForm(), ilPCTableGUI\initPropertiesForm(), ilObjSCORM2004LearningModuleGUI\initPropertiesForm(), ilObjContentObjectGUI\initPropertiesForm(), ilPCSourceCodeGUI\initPropertyForm(), ilObjRepositorySettingsGUI\initSettingsForm(), ilCalendarUserSettingsGUI\initSettingsForm(), ilECSSettingsGUI\initSettingsForm(), ilObjTaxonomyGUI\initSettingsForm(), ilObjContentObjectGUI\initStylePropertiesForm(), ilObjPortfolioBaseGUI\initStylePropertiesForm(), ilObjSCORM2004LearningModuleGUI\initStylePropertiesForm(), ilObjWikiGUI\initStylePropertiesForm(), ilObjGlossaryGUI\initStylePropertiesForm(), ilObjBlogGUI\initStylePropertiesForm(), ilContainerGUI\initStylePropertiesForm(), ilObjStyleSheetGUI\initTagStyleForm(), ilObjStyleSheetGUI\initTemplateGenerationForm(), ilObjSAHSLearningModuleGUI\initUploadForm(), ilPCQuestionGUI\insert(), assFormulaQuestionGUI\isSaveCommand(), ilSessionStatisticsGUI\long(), ilSurveyPageGUI\movePageForm(), ilObjTestGUI\movePageFormObject(), ilTermsOfServiceAcceptanceHistoryTableGUI\numericOrdering(), assKprimChoiceGUI\populateQuestionSpecificFormPart(), assMatchingQuestionGUI\populateQuestionSpecificFormPart(), assTextSubsetGUI\populateQuestionSpecificFormPart(), ilObjSCORMLearningModuleGUI\properties(), ilSurveyEditorGUI\questionsObject(), ilTestEvaluationGUI\resetfilterEvaluation(), ilPaymentObjectGUI\resetObjectFilter(), ilObjOrgUnitSettingsFormGUI\saveObject(), ilMailAddressbookGUI\search(), ilSurveyEditorGUI\setBrowseForQuestionsSubtabs(), ilRadiusSettingsGUI\settings(), ilOpenIdSettingsGUI\settings(), ilObjCertificateSettingsGUI\settings(), ilSessionStatisticsGUI\short(), ilMailingListsGUI\showAssignmentForm(), ilChatroomHistoryTask\showMessages(), ilStartUpGUI\showOpenIdLoginForm(), ilPurchaseBMFGUI\showPersonalData(), ilPurchaseBaseGUI\showPersonalData(), ilPaymentObjectGUI\showSelectedObject(), ilPDNotesGUI\view(), and ilWikiStatGUI\viewToolbar().

41  {
42  $this->options = $a_options;
43  }
+ Here is the caller graph for this function:

◆ setValue()

ilSelectInputGUI::setValue (   $a_value)

Set Value.

Parameters
string$a_valueValue

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

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

Referenced by ilUserProfile\addStandardFieldsToForm(), ilObjPaymentSettingsGUI\getSubTabs(), ilECSSettingsGUI\initCategoryMappingForm(), ilOrgUnitTypeFormGUI\initForm(), ilCalendarAppointmentGUI\initForm(), ilObjSearchSettingsGUI\initFormSettings(), ilAuthLoginPageEditorGUI\initLoginForm(), ilECSSettingsGUI\initMappingsForm(), ilObjPaymentSettingsGUI\InvoiceNumberObject(), ilTaxAssignInputGUI\setCurrentValues(), setValueByArray(), and ilShopTopicsGUI\showTopicsSettings().

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.
+ 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.

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

87  {
88  $this->setValue($a_values[$this->getPostVar()]);
89  foreach($this->getSubItems() as $item)
90  {
91  $item->setValueByArray($a_values);
92  }
93  }
getPostVar()
Get Post Variable.
setValue($a_value)
Set Value.
+ 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: