MediaWiki
1.27.4
|
The parent class to generate form fields. More...
Public Member Functions | |
__construct ($params) | |
Initialise the object. More... | |
cancelSubmit ($value, $alldata) | |
Override this function if the control can somehow trigger a form submission that shouldn't actually submit the HTMLForm. More... | |
canDisplayErrors () | |
True if this field type is able to display errors; false if validation errors need to be displayed in the main HTMLForm error area. More... | |
filter ($value, $alldata) | |
getAttributes (array $list) | |
Returns the given attributes from the parameters. More... | |
getDefault () | |
getDiv ($value) | |
Get the complete div for the input, including help text, labels, and whatever. More... | |
getErrorsAndErrorClass ($value) | |
Determine form errors to display and their classes. More... | |
getErrorsRaw ($value) | |
Determine form errors to display, returning them in an array. More... | |
getHelpText () | |
Determine the help text to display. More... | |
getHelpTextHtmlDiv ($helptext) | |
Generate help text HTML in div format. More... | |
getHelpTextHtmlRaw ($helptext) | |
Generate help text HTML formatted for raw output. More... | |
getHelpTextHtmlTable ($helptext) | |
Generate help text HTML in table format. More... | |
getInline ($value) | |
Get the complete field as an inline element. More... | |
getInputHTML ($value) | |
This function must be implemented to return the HTML to generate the input object itself. More... | |
getInputOOUI ($value) | |
Same as getInputHTML, but returns an OOUI object. More... | |
getLabel () | |
getLabelHtml ($cellAttributes=[]) | |
getOOUI ($value) | |
Get the OOUI version of the div. More... | |
getOptions () | |
Fetch the array of options from the field's parameters. More... | |
getOptionsOOUI () | |
Get options and make them into arrays suitable for OOUI. More... | |
getRaw ($value) | |
Get the complete raw fields for the input, including help text, labels, and whatever. More... | |
getTableRow ($value) | |
Get the complete table row for the input, including help text, labels, and whatever. More... | |
getTooltipAndAccessKey () | |
Returns the attributes required for the tooltip and accesskey. More... | |
getVForm ($value) | |
Get the complete field for the input, including help text, labels, and whatever. More... | |
hasVisibleOutput () | |
If this field has a user-visible output or not. More... | |
isHidden ($alldata) | |
Test whether this field is supposed to be hidden, based on the values of the other form fields. More... | |
loadDataFromRequest ($request) | |
Get the value that this input has been set to from a posted form, or the input's default value if it has not been set. More... | |
msg () | |
Get a translated interface message. More... | |
setShowEmptyLabel ($show) | |
Tell the field whether to generate a separate label element if its label is blank. More... | |
skipLoadData ($request) | |
Skip this field when collecting data. More... | |
validate ($value, $alldata) | |
Override this function to add specific validation checks on the field input. More... | |
Static Public Member Functions | |
static | flattenOptions ($options) |
flatten an array of options to a single array, for instance, a set of "<options>" inside "<optgroups>". More... | |
static | forceToStringRecursive ($array) |
Recursively forces values in an array to strings, because issues arise with integer 0 as a value. More... | |
Public Attributes | |
$mParams | |
HTMLForm null | $mParent |
Protected Member Functions | |
getFieldLayoutOOUI ($inputField, $config) | |
Get a FieldLayout (or subclass thereof) to wrap this field in when using OOUI output. More... | |
getLabelAlignOOUI () | |
Get label alignment when generating field for OOUI. More... | |
getMessage ($value) | |
Turns a *-message parameter (which could be a MessageSpecifier, or a message name, or a name + parameters array) into a Message. More... | |
getNearestFieldByName ($alldata, $name) | |
Fetch a field value from $alldata for the closest field matching a given name. More... | |
isHiddenRecurse (array $alldata, array $params) | |
Helper function for isHidden to handle recursive data structures. More... | |
needsLabel () | |
Should this field have a label, or is there no input element with the appropriate id for the label to point to? More... | |
Static Protected Member Functions | |
static | formatErrors ($errors) |
Formats one or more errors as accepted by field validation-callback. More... | |
Protected Attributes | |
$mClass = '' | |
$mDefault | |
$mDir | |
$mFilterCallback | |
$mHelpClass = false | |
$mHideIf = null | |
$mID | |
$mLabel | |
$mName | |
$mOptions = false | |
$mOptionsLabelsNotFromMessage = false | |
bool | $mShowEmptyLabels = true |
If true will generate an empty div element with no label. More... | |
$mValidationCallback | |
$mVFormClass = '' | |
Private Member Functions | |
lookupOptionsKeys ($options) | |
Given an array of msg-key => value mappings, returns an array with keys being the message texts. More... | |
The parent class to generate form fields.
Any field type should be a subclass of this.
Definition at line 7 of file HTMLFormField.php.
HTMLFormField::__construct | ( | $params | ) |
Initialise the object.
array | $params | Associative Array. See HTMLForm doc for syntax. |
MWException |
Definition at line 375 of file HTMLFormField.php.
References $params, Sanitizer\escapeId(), and getMessage().
HTMLFormField::cancelSubmit | ( | $value, | |
$alldata | |||
) |
Override this function if the control can somehow trigger a form submission that shouldn't actually submit the HTMLForm.
string | array | $value | The value the field was submitted with |
array | $alldata | The data collected from the form |
Definition at line 287 of file HTMLFormField.php.
HTMLFormField::canDisplayErrors | ( | ) |
True if this field type is able to display errors; false if validation errors need to be displayed in the main HTMLForm error area.
Definition at line 63 of file HTMLFormField.php.
HTMLFormField::filter | ( | $value, | |
$alldata | |||
) |
Definition at line 321 of file HTMLFormField.php.
References $value.
|
static |
flatten an array of options to a single array, for instance, a set of "<options>" inside "<optgroups>".
array | $options | Associative Array with values either Strings or Arrays |
Definition at line 1045 of file HTMLFormField.php.
References $options, $value, and as.
Referenced by Preferences\datetimePreferences(), HTMLMultiSelectField\filterDataForSubmit(), HTMLCheckMatrix\filterDataForSubmit(), HTMLSelectOrOtherField\getInputHTML(), HTMLAutoCompleteSelectField\getInputHTML(), Preferences\getOptionFromUser(), User\getOptionKinds(), HTMLSelectField\validate(), HTMLMultiSelectField\validate(), HTMLRadioField\validate(), and HTMLAutoCompleteSelectField\validate().
|
static |
Recursively forces values in an array to strings, because issues arise with integer 0 as a value.
array | $array |
Definition at line 958 of file HTMLFormField.php.
Referenced by HTMLMultiSelectField\filterDataForSubmit(), and HTMLMultiSelectField\getInputHTML().
|
staticprotected |
Formats one or more errors as accepted by field validation-callback.
Definition at line 1066 of file HTMLFormField.php.
References $lines, as, and Html\rawElement().
HTMLFormField::getAttributes | ( | array | $list | ) |
Returns the given attributes from the parameters.
array | $list | List of attributes to get |
Definition at line 916 of file HTMLFormField.php.
References $key, $ret, and as.
Referenced by HTMLMultiSelectField\formatOptions(), HTMLRadioField\formatOptions(), HTMLCheckField\getInputHTML(), HTMLSelectField\getInputHTML(), HTMLSelectAndOtherField\getInputHTML(), HTMLTextAreaField\getInputHTML(), HTMLTextField\getInputHTML(), HTMLFormFieldWithButton\getInputHTML(), HTMLButtonField\getInputHTML(), HTMLCheckMatrix\getInputHTML(), HTMLRadioField\getInputOOUI(), HTMLSelectField\getInputOOUI(), HTMLCheckField\getInputOOUI(), HTMLFormFieldWithButton\getInputOOUI(), HTMLTextAreaField\getInputOOUI(), HTMLButtonField\getInputOOUI(), and HTMLTextField\getInputOOUI().
HTMLFormField::getDefault | ( | ) |
Definition at line 889 of file HTMLFormField.php.
References $mDefault.
Referenced by HTMLButtonField\getInputHTML(), HTMLButtonField\getInputOOUI(), HTMLAutoCompleteSelectField\loadDataFromRequest(), HTMLSelectAndOtherField\loadDataFromRequest(), HTMLSelectOrOtherField\loadDataFromRequest(), HTMLCheckField\loadDataFromRequest(), and loadDataFromRequest().
HTMLFormField::getDiv | ( | $value | ) |
Get the complete div for the input, including help text, labels, and whatever.
string | $value | The value to set the input to. |
Definition at line 523 of file HTMLFormField.php.
References $html, $mClass, $mVFormClass, $value, FormatJson\encode(), getErrorsAndErrorClass(), getHelpText(), getHelpTextHtmlDiv(), getInputHTML(), getLabelHtml(), list, and Html\rawElement().
Referenced by getOOUI(), and getVForm().
HTMLFormField::getErrorsAndErrorClass | ( | $value | ) |
Determine form errors to display and their classes.
string | $value | The value of the input |
Definition at line 803 of file HTMLFormField.php.
References $value, and validate().
Referenced by getDiv(), getInline(), getRaw(), HTMLCheckMatrix\getTableRow(), and getTableRow().
HTMLFormField::getErrorsRaw | ( | $value | ) |
Determine form errors to display, returning them in an array.
string | $value | The value of the input |
Definition at line 824 of file HTMLFormField.php.
References $value, as, and validate().
Referenced by getOOUI().
|
protected |
Get a FieldLayout (or subclass thereof) to wrap this field in when using OOUI output.
Definition at line 630 of file HTMLFormField.php.
Referenced by getOOUI().
HTMLFormField::getHelpText | ( | ) |
Determine the help text to display.
Definition at line 769 of file HTMLFormField.php.
References as, getMessage(), and msg().
Referenced by getDiv(), getInline(), getOOUI(), getRaw(), HTMLCheckMatrix\getTableRow(), and getTableRow().
HTMLFormField::getHelpTextHtmlDiv | ( | $helptext | ) |
Generate help text HTML in div format.
string | null | $helptext |
Definition at line 733 of file HTMLFormField.php.
References FormatJson\encode(), and Html\rawElement().
Referenced by getDiv(), getHelpTextHtmlRaw(), and getInline().
HTMLFormField::getHelpTextHtmlRaw | ( | $helptext | ) |
Generate help text HTML formatted for raw output.
string | null | $helptext |
Definition at line 760 of file HTMLFormField.php.
References getHelpTextHtmlDiv().
Referenced by getRaw().
HTMLFormField::getHelpTextHtmlTable | ( | $helptext | ) |
Generate help text HTML in table format.
string | null | $helptext |
Definition at line 704 of file HTMLFormField.php.
References $mHelpClass, FormatJson\encode(), and Html\rawElement().
Referenced by HTMLCheckMatrix\getTableRow(), and getTableRow().
HTMLFormField::getInline | ( | $value | ) |
Get the complete field as an inline element.
string | $value | The value to set the input to. |
Definition at line 682 of file HTMLFormField.php.
References $html, $value, getErrorsAndErrorClass(), getHelpText(), getHelpTextHtmlDiv(), getInputHTML(), getLabelHtml(), and list.
|
abstract |
This function must be implemented to return the HTML to generate the input object itself.
It should not implement the surrounding table cells/rows, or labels/help messages.
string | $value | The value to set the input to; eg a default text for a text input. |
Referenced by getDiv(), getInline(), getRaw(), and getTableRow().
HTMLFormField::getInputOOUI | ( | $value | ) |
Same as getInputHTML, but returns an OOUI object.
Defaults to false, which getOOUI will interpret as "use the HTML version"
string | $value |
Definition at line 54 of file HTMLFormField.php.
Referenced by getOOUI().
HTMLFormField::getLabel | ( | ) |
Definition at line 846 of file HTMLFormField.php.
References $mLabel.
Referenced by getLabelHtml(), and getOOUI().
|
protected |
Get label alignment when generating field for OOUI.
Definition at line 622 of file HTMLFormField.php.
Referenced by getOOUI().
HTMLFormField::getLabelHtml | ( | $cellAttributes = [] | ) |
Definition at line 850 of file HTMLFormField.php.
References $html, $mID, getLabel(), needsLabel(), and Html\rawElement().
Referenced by getDiv(), getInline(), getRaw(), HTMLCheckMatrix\getTableRow(), and getTableRow().
|
protected |
Turns a *-message parameter (which could be a MessageSpecifier, or a message name, or a name + parameters array) into a Message.
mixed | $value |
Definition at line 1097 of file HTMLFormField.php.
References $value, and Message\newFromSpecifier().
Referenced by HTMLSelectAndOtherField\__construct(), HTMLTextAreaField\__construct(), HTMLTextField\__construct(), HTMLButtonField\__construct(), HTMLAutoCompleteSelectField\__construct(), __construct(), HTMLEditTools\formatMsg(), getHelpText(), HTMLFormFieldCloner\getInputHTML(), HTMLFormFieldCloner\getInputHTMLForKey(), and getOptions().
|
protected |
Fetch a field value from $alldata for the closest field matching a given name.
This is complex because it needs to handle array fields like the user would expect. The general algorithm is to look for $name as a sibling of $this, then a sibling of $this's parent, and so on. Keeping in mind that $name itself might be referencing an array.
array | $alldata | |
string | $name |
Definition at line 112 of file HTMLFormField.php.
References $key, $keys, $mName, $name, and string.
Referenced by isHiddenRecurse().
HTMLFormField::getOOUI | ( | $value | ) |
Get the OOUI version of the div.
Falls back to getDiv by default.
string | $value | The value to set the input to. |
Definition at line 572 of file HTMLFormField.php.
References $mClass, $value, as, getDiv(), getErrorsRaw(), getFieldLayoutOOUI(), getHelpText(), getInputOOUI(), getLabel(), and getLabelAlignOOUI().
HTMLFormField::getOptions | ( | ) |
Fetch the array of options from the field's parameters.
In order, this checks 'options-messages', 'options', then 'options-message'.
Definition at line 972 of file HTMLFormField.php.
References $mOptions, $value, as, getMessage(), and lookupOptionsKeys().
Referenced by HTMLSelectOrOtherField\__construct(), HTMLSelectAndOtherField\__construct(), HTMLAutoCompleteSelectField\__construct(), HTMLMultiSelectField\filterDataForSubmit(), HTMLAutoCompleteSelectField\getAttributes(), HTMLSelectField\getInputHTML(), HTMLSelectOrOtherField\getInputHTML(), HTMLComboboxField\getInputHTML(), HTMLMultiSelectField\getInputHTML(), HTMLRadioField\getInputHTML(), HTMLAutoCompleteSelectField\getInputHTML(), HTMLRadioField\getInputOOUI(), getOptionsOOUI(), HTMLRadioField\validate(), HTMLMultiSelectField\validate(), HTMLSelectField\validate(), and HTMLAutoCompleteSelectField\validate().
HTMLFormField::getOptionsOOUI | ( | ) |
Get options and make them into arrays suitable for OOUI.
Definition at line 1019 of file HTMLFormField.php.
References $options, as, getOptions(), and string.
Referenced by HTMLComboboxField\getInputOOUI(), and HTMLSelectField\getInputOOUI().
HTMLFormField::getRaw | ( | $value | ) |
Get the complete raw fields for the input, including help text, labels, and whatever.
string | $value | The value to set the input to. |
Definition at line 647 of file HTMLFormField.php.
References $html, $value, getErrorsAndErrorClass(), getHelpText(), getHelpTextHtmlRaw(), getInputHTML(), getLabelHtml(), and list.
HTMLFormField::getTableRow | ( | $value | ) |
Get the complete table row for the input, including help text, labels, and whatever.
string | $value | The value to set the input to. |
Definition at line 465 of file HTMLFormField.php.
References $html, $value, FormatJson\encode(), getErrorsAndErrorClass(), getHelpText(), getHelpTextHtmlTable(), getInputHTML(), getLabelHtml(), list, and Html\rawElement().
HTMLFormField::getTooltipAndAccessKey | ( | ) |
Returns the attributes required for the tooltip and accesskey.
Definition at line 902 of file HTMLFormField.php.
References Linker\tooltipAndAccesskeyAttribs().
Referenced by HTMLCheckField\getInputHTML(), HTMLTextAreaField\getInputHTML(), HTMLTextField\getInputHTML(), HTMLCheckField\getInputOOUI(), HTMLTextAreaField\getInputOOUI(), and HTMLTextField\getInputOOUI().
HTMLFormField::getVForm | ( | $value | ) |
Get the complete field for the input, including help text, labels, and whatever.
Fall back from 'vform' to 'div' when not overridden.
string | $value | The value to set the input to. |
Definition at line 670 of file HTMLFormField.php.
HTMLFormField::hasVisibleOutput | ( | ) |
If this field has a user-visible output or not.
If not, it will not be rendered
Definition at line 95 of file HTMLFormField.php.
HTMLFormField::isHidden | ( | $alldata | ) |
Test whether this field is supposed to be hidden, based on the values of the other form fields.
array | $alldata | The data collected from the form |
Definition at line 269 of file HTMLFormField.php.
References isHiddenRecurse().
Referenced by validate().
Helper function for isHidden to handle recursive data structures.
array | $alldata | |
array | $params |
MWException |
Definition at line 162 of file HTMLFormField.php.
References $params, $value, as, getNearestFieldByName(), and list.
Referenced by isHidden().
HTMLFormField::loadDataFromRequest | ( | $request | ) |
Get the value that this input has been set to from a posted form, or the input's default value if it has not been set.
WebRequest | $request |
Definition at line 359 of file HTMLFormField.php.
References $request, and getDefault().
|
private |
Given an array of msg-key => value mappings, returns an array with keys being the message texts.
It also forces values to strings.
array | $options |
Definition at line 940 of file HTMLFormField.php.
References $key, $options, $ret, $value, as, and msg().
Referenced by getOptions().
HTMLFormField::msg | ( | ) |
Get a translated interface message.
This is a wrapper around $this->mParent->msg() if $this->mParent is set and wfMessage() otherwise.
Parameters are the same as wfMessage().
Definition at line 77 of file HTMLFormField.php.
References $args, and $mParent.
Referenced by HTMLSelectAndOtherField\__construct(), HTMLAutoCompleteSelectField\__construct(), Licenses\__construct(), HTMLEditTools\formatMsg(), getHelpText(), HTMLFormFieldCloner\getInputHTMLForKey(), HTMLSelectAndOtherField\loadDataFromRequest(), lookupOptionsKeys(), Licenses\makeLicenses(), Licenses\outputOption(), HTMLSelectField\validate(), HTMLMultiSelectField\validate(), HTMLRadioField\validate(), HTMLIntField\validate(), HTMLFloatField\validate(), HTMLUserTextField\validate(), HTMLTitleTextField\validate(), HTMLCheckMatrix\validate(), HTMLAutoCompleteSelectField\validate(), HTMLSelectAndOtherField\validate(), HTMLFormFieldCloner\validate(), and validate().
|
protected |
Should this field have a label, or is there no input element with the appropriate id for the label to point to?
Definition at line 335 of file HTMLFormField.php.
Referenced by getLabelHtml().
HTMLFormField::setShowEmptyLabel | ( | $show | ) |
Tell the field whether to generate a separate label element if its label is blank.
bool | $show | Set to false to not generate a label. |
Definition at line 348 of file HTMLFormField.php.
Referenced by HTMLButtonField\__construct().
HTMLFormField::skipLoadData | ( | $request | ) |
Skip this field when collecting data.
WebRequest | $request |
Definition at line 1113 of file HTMLFormField.php.
HTMLFormField::validate | ( | $value, | |
$alldata | |||
) |
Override this function to add specific validation checks on the field input.
Don't forget to call parent::validate() to ensure that the user-defined callback mValidationCallback is still run
string | array | $value | The value the field was submitted with |
array | $alldata | The data collected from the form |
Definition at line 302 of file HTMLFormField.php.
References $value, isHidden(), and msg().
Referenced by getErrorsAndErrorClass(), getErrorsRaw(), HtmlCheckMatrixTest\validate(), and EditWatchlistCheckboxSeriesField\validate().
|
protected |
Definition at line 16 of file HTMLFormField.php.
Referenced by getDiv(), HTMLCheckField\getInputHTML(), HTMLSelectOrOtherField\getInputHTML(), HTMLSelectAndOtherField\getInputHTML(), HTMLTextAreaField\getInputHTML(), HTMLTextField\getInputHTML(), HTMLAutoCompleteSelectField\getInputHTML(), HTMLComboboxField\getInputOOUI(), HTMLSelectField\getInputOOUI(), HTMLCheckField\getInputOOUI(), HTMLTextAreaField\getInputOOUI(), HTMLTextField\getInputOOUI(), and getOOUI().
|
protected |
Definition at line 19 of file HTMLFormField.php.
Referenced by HTMLMultiSelectField\getDefault(), HTMLCheckMatrix\getDefault(), getDefault(), and HTMLHiddenField\getHiddenFieldData().
|
protected |
Definition at line 13 of file HTMLFormField.php.
Referenced by HTMLTextField\getInputHTML().
|
protected |
Definition at line 11 of file HTMLFormField.php.
|
protected |
Definition at line 18 of file HTMLFormField.php.
Referenced by getHelpTextHtmlTable().
|
protected |
Definition at line 22 of file HTMLFormField.php.
|
protected |
Definition at line 15 of file HTMLFormField.php.
Referenced by HTMLHiddenField\getHiddenFieldData(), HTMLCheckField\getInputHTML(), HTMLSelectAndOtherField\getInputHTML(), HTMLTextAreaField\getInputHTML(), HTMLTextField\getInputHTML(), HTMLButtonField\getInputHTML(), Licenses\getInputHTML(), HTMLCheckField\getInputOOUI(), and getLabelHtml().
|
protected |
Definition at line 14 of file HTMLFormField.php.
Referenced by HTMLCheckField\getLabel(), and getLabel().
|
protected |
Definition at line 12 of file HTMLFormField.php.
Referenced by HTMLHiddenField\getHiddenFieldData(), HTMLTextField\getInputHTML(), HTMLButtonField\getInputHTML(), Licenses\getInputHTML(), HTMLCheckField\getInputOOUI(), and getNearestFieldByName().
|
protected |
Definition at line 20 of file HTMLFormField.php.
Referenced by HTMLSelectOrOtherField\__construct(), HTMLSelectAndOtherField\__construct(), and getOptions().
|
protected |
Definition at line 21 of file HTMLFormField.php.
HTMLFormField::$mParams |
Definition at line 8 of file HTMLFormField.php.
HTMLForm null HTMLFormField::$mParent |
Definition at line 33 of file HTMLFormField.php.
Referenced by msg().
|
protected |
If true will generate an empty div element with no label.
Definition at line 28 of file HTMLFormField.php.
|
protected |
Definition at line 10 of file HTMLFormField.php.
|
protected |
Definition at line 17 of file HTMLFormField.php.
Referenced by getDiv().