MediaWiki  REL1_23
HTMLFormField Class Reference

The parent class to generate form fields. More...

Inheritance diagram for HTMLFormField:
Collaboration diagram for HTMLFormField:

List of all members.

Public Member Functions

 __construct ($params)
 Initialise the object.
 filter ($value, $alldata)
 getAttributes (array $list)
 Returns the given attributes from the parameters.
 getDefault ()
 getDiv ($value)
 Get the complete div for the input, including help text, labels, and whatever.
 getErrorsAndErrorClass ($value)
 Determine form errors to display and their classes.
 getHelpText ()
 Determine the help text to display.
 getHelpTextHtmlDiv ($helptext)
 Generate help text HTML in div format.
 getHelpTextHtmlRaw ($helptext)
 Generate help text HTML formatted for raw output.
 getHelpTextHtmlTable ($helptext)
 Generate help text HTML in table format.
 getInputHTML ($value)
 This function must be implemented to return the HTML to generate the input object itself.
 getLabel ()
 getLabelHtml ($cellAttributes=array())
 getOptions ()
 Fetch the array of options from the field's parameters.
 getRaw ($value)
 Get the complete raw fields for the input, including help text, labels, and whatever.
 getTableRow ($value)
 Get the complete table row for the input, including help text, labels, and whatever.
 getTooltipAndAccessKey ()
 Returns the attributes required for the tooltip and accesskey.
 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.
 msg ()
 Get a translated interface message.
 setShowEmptyLabel ($show)
 Tell the field whether to generate a separate label element if its label is blank.
 validate ($value, $alldata)
 Override this function to add specific validation checks on the field input.

Static Public Member Functions

static flattenOptions ($options)
 flatten an array of options to a single array, for instance, a set of "<options>" inside "<optgroups>".
static forceToStringRecursive ($array)
 Recursively forces values in an array to strings, because issues arise with integer 0 as a value.

Public Attributes

 $mParams
HTMLForm $mParent

Protected Member Functions

 needsLabel ()
 Should this field have a label, or is there no input element with the appropriate id for the label to point to?

Static Protected Member Functions

static formatErrors ($errors)
 Formats one or more errors as accepted by field validation-callback.

Protected Attributes

 $mClass = ''
 $mDefault
 $mFilterCallback
 $mID
 $mLabel
 $mName
 $mOptions = false
 $mOptionsLabelsNotFromMessage = false
bool $mShowEmptyLabels = true
 If true will generate an empty div element with no label.
 $mValidationCallback

Private Member Functions

 lookupOptionsKeys ($options)
 Given an array of msg-key => value mappings, returns an array with keys being the message texts.

Detailed Description

The parent class to generate form fields.

Any field type should be a subclass of this.

Definition at line 7 of file HTMLFormField.php.


Constructor & Destructor Documentation

Initialise the object.

Parameters:
array$paramsAssociative Array. See HTMLForm doc for syntax.
Since:
1.22 The 'label' attribute no longer accepts raw HTML, use 'label-raw' instead
Exceptions:
MWException

Reimplemented in Licenses, HTMLCheckMatrix, HTMLSelectAndOtherField, HTMLButtonField, HTMLInfoField, HTMLSelectOrOtherField, and HTMLHiddenField.

Definition at line 142 of file HTMLFormField.php.


Member Function Documentation

HTMLFormField::filter ( value,
alldata 
)

Definition at line 88 of file HTMLFormField.php.

static HTMLFormField::flattenOptions ( options) [static]

flatten an array of options to a single array, for instance, a set of "<options>" inside "<optgroups>".

Parameters:
array$optionsAssociative Array with values either Strings or Arrays
Returns:
array Flattened input

Definition at line 601 of file HTMLFormField.php.

Referenced by HTMLSelectAndOtherField\__construct(), Preferences\datetimePreferences(), HTMLMultiSelectField\filterDataForSubmit(), HTMLCheckMatrix\filterDataForSubmit(), HTMLSelectOrOtherField\getInputHTML(), Preferences\getOptionFromUser(), HTMLRadioField\validate(), HTMLSelectField\validate(), and HTMLMultiSelectField\validate().

static HTMLFormField::forceToStringRecursive ( array) [static]

Recursively forces values in an array to strings, because issues arise with integer 0 as a value.

Parameters:
array$array
Returns:
array

Definition at line 536 of file HTMLFormField.php.

Referenced by HTMLMultiSelectField\filterDataForSubmit(), and HTMLMultiSelectField\getInputHTML().

static HTMLFormField::formatErrors ( errors) [static, protected]

Formats one or more errors as accepted by field validation-callback.

Parameters:
string | Message | array$errorsString|Message|Array of strings or Message instances
Returns:
string HTML
Since:
1.18

Definition at line 622 of file HTMLFormField.php.

HTMLFormField::getDiv ( value)

Get the complete div for the input, including help text, labels, and whatever.

Since:
1.20
Parameters:
string$valueThe value to set the input to.
Returns:
string Complete HTML table row.

Reimplemented in HTMLInfoField, HTMLHiddenField, HTMLEditTools, and HTMLApiField.

Definition at line 270 of file HTMLFormField.php.

Determine form errors to display and their classes.

Since:
1.20
Parameters:
string$valueThe value of the input
Returns:
array

Definition at line 409 of file HTMLFormField.php.

Referenced by HTMLCheckMatrix\getTableRow().

Determine the help text to display.

Since:
1.20
Returns:
string

Definition at line 374 of file HTMLFormField.php.

Referenced by HTMLCheckMatrix\getTableRow().

Generate help text HTML in div format.

Since:
1.20
Parameters:
string | null$helptext
Returns:
String

Definition at line 348 of file HTMLFormField.php.

Generate help text HTML formatted for raw output.

Since:
1.20
Parameters:
string | null$helptext
Returns:
String

Definition at line 365 of file HTMLFormField.php.

Generate help text HTML in table format.

Since:
1.20
Parameters:
string | null$helptext
Returns:
string

Definition at line 329 of file HTMLFormField.php.

Referenced by HTMLCheckMatrix\getTableRow().

HTMLFormField::getInputHTML ( value) [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.

Parameters:
string$valuethe value to set the input to; eg a default text for a text input.
Returns:
string Valid HTML.

Reimplemented in Licenses, HTMLCheckMatrix, HTMLHiddenField, HTMLRadioField, HTMLSelectAndOtherField, HTMLMultiSelectField, HTMLSelectField, HTMLSelectOrOtherField, HTMLButtonField, HTMLApiField, HTMLTextAreaField, HTMLInfoField, HTMLTextField, HTMLCheckField, and HTMLEditTools.

Reimplemented in HTMLCheckField.

Definition at line 425 of file HTMLFormField.php.

HTMLFormField::getLabelHtml ( cellAttributes = array())

Reimplemented in UploadSourceField.

Definition at line 429 of file HTMLFormField.php.

Referenced by HTMLCheckMatrix\getTableRow().

HTMLFormField::getRaw ( value)

Get the complete raw fields for the input, including help text, labels, and whatever.

Since:
1.20
Parameters:
string$valueThe value to set the input to.
Returns:
string Complete HTML table row.

Reimplemented in HTMLInfoField, HTMLHiddenField, HTMLEditTools, and HTMLApiField.

Definition at line 307 of file HTMLFormField.php.

Get the complete table row for the input, including help text, labels, and whatever.

Parameters:
string$valueThe value to set the input to.
Returns:
string Complete HTML table row.

Reimplemented in HTMLCheckMatrix, HTMLInfoField, HTMLHiddenField, HTMLEditTools, and HTMLApiField.

Definition at line 224 of file HTMLFormField.php.

Returns the attributes required for the tooltip and accesskey.

Returns:
array Attributes

Definition at line 479 of file HTMLFormField.php.

Referenced by HTMLCheckField\getInputHTML(), HTMLTextField\getInputHTML(), and HTMLTextAreaField\getInputHTML().

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.

Parameters:
WebRequest$request
Returns:
String the value

Reimplemented in HTMLCheckMatrix, HTMLMultiSelectField, HTMLSelectOrOtherField, HTMLSelectAndOtherField, and HTMLCheckField.

Definition at line 126 of file HTMLFormField.php.

HTMLFormField::lookupOptionsKeys ( options) [private]

Given an array of msg-key => value mappings, returns an array with keys being the message texts.

It also forces values to strings.

Parameters:
array$options
Returns:
array

Definition at line 518 of file HTMLFormField.php.

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

Returns:
Message object

Definition at line 51 of file HTMLFormField.php.

Referenced by HTMLEditTools\formatMsg(), HTMLSelectAndOtherField\loadDataFromRequest(), HTMLIntField\validate(), HTMLSelectField\validate(), HTMLMultiSelectField\validate(), HTMLRadioField\validate(), HTMLFloatField\validate(), HTMLCheckMatrix\validate(), and HTMLSelectAndOtherField\validate().

HTMLFormField::needsLabel ( ) [protected]

Should this field have a label, or is there no input element with the appropriate id for the label to point to?

Returns:
bool True to output a label, false to suppress

Reimplemented in HTMLMultiSelectField, HTMLRadioField, HTMLCheckField, HTMLInfoField, and HTMLButtonField.

Definition at line 102 of file HTMLFormField.php.

Tell the field whether to generate a separate label element if its label is blank.

Since:
1.22
Parameters:
bool$showSet to false to not generate a label.
Returns:
void

Definition at line 115 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

Parameters:
string$valueThe value the field was submitted with
array$alldataThe data collected from the form
Returns:
Mixed Bool true on success, or String error to display.

Reimplemented in EditWatchlistCheckboxSeriesField, HTMLBlockedUsersItemSelect, HTMLSelectAndOtherField, HTMLCheckMatrix, HTMLButtonField, HTMLFloatField, HTMLIntField, HTMLMultiSelectField, HTMLRadioField, and HTMLSelectField.

Definition at line 73 of file HTMLFormField.php.

Referenced by HtmlCheckMatrixTest\validate().


Member Data Documentation

HTMLFormField::$mClass = '' [protected]

Definition at line 15 of file HTMLFormField.php.

HTMLFormField::$mDefault [protected]

Definition at line 16 of file HTMLFormField.php.

HTMLFormField::$mFilterCallback [protected]

Definition at line 11 of file HTMLFormField.php.

HTMLFormField::$mID [protected]

Definition at line 14 of file HTMLFormField.php.

HTMLFormField::$mLabel [protected]

Definition at line 13 of file HTMLFormField.php.

HTMLFormField::$mName [protected]

Definition at line 12 of file HTMLFormField.php.

HTMLFormField::$mOptions = false [protected]

Definition at line 17 of file HTMLFormField.php.

HTMLFormField::$mOptionsLabelsNotFromMessage = false [protected]

Definition at line 18 of file HTMLFormField.php.

HTMLFormField::$mParams

Definition at line 8 of file HTMLFormField.php.

HTMLForm HTMLFormField::$mParent

Definition at line 27 of file HTMLFormField.php.

bool HTMLFormField::$mShowEmptyLabels = true [protected]

If true will generate an empty div element with no label.

Since:
1.22

Definition at line 23 of file HTMLFormField.php.

HTMLFormField::$mValidationCallback [protected]

Definition at line 10 of file HTMLFormField.php.


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