MediaWiki  1.23.6
HTMLCheckMatrix Class Reference

A checkbox matrix Operates similarly to HTMLMultiSelectField, but instead of using an array of options, uses an array of rows and an array of columns to dynamically construct a matrix of options. More...

Inheritance diagram for HTMLCheckMatrix:
Collaboration diagram for HTMLCheckMatrix:

Public Member Functions

 __construct ( $params)
 Initialise the object. More...
 
 filterDataForSubmit ( $data)
 Support for seperating multi-option preferences into multiple preferences Due to lack of array support. More...
 
 getDefault ()
 
 getInputHTML ( $value)
 Build a table containing a matrix of checkbox options. More...
 
 getTableRow ( $value)
 Get the complete table row for the input, including help text, labels, and whatever. More...
 
 loadDataFromRequest ( $request)
 
 validate ( $value, $alldata)
 Override this function to add specific validation checks on the field input. More...
 
- Public Member Functions inherited from HTMLFormField
 filter ( $value, $alldata)
 
 getAttributes (array $list)
 Returns the given attributes from the parameters. More...
 
 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...
 
 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...
 
 getLabel ()
 
 getLabelHtml ( $cellAttributes=array())
 
 getOptions ()
 Fetch the array of options from the field's parameters. More...
 
 getRaw ( $value)
 Get the complete raw fields for the input, including help text, labels, and whatever. More...
 
 getTooltipAndAccessKey ()
 Returns the attributes required for the tooltip and accesskey. 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...
 

Protected Member Functions

 isTagForcedOff ( $tag)
 
 isTagForcedOn ( $tag)
 
- Protected Member Functions inherited from HTMLFormField
 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 Private Attributes

static $requiredParams
 

Additional Inherited Members

- Static Public Member Functions inherited from HTMLFormField
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 inherited from HTMLFormField
 $mParams
 
HTMLForm $mParent
 
- Static Protected Member Functions inherited from HTMLFormField
static formatErrors ( $errors)
 Formats one or more errors as accepted by field validation-callback. More...
 
- Protected Attributes inherited from HTMLFormField
 $mClass = ''
 
 $mDefault
 
 $mFilterCallback
 
 $mID
 
 $mLabel
 
 $mName
 
 $mOptions = false
 
 $mOptionsLabelsNotFromMessage = false
 
bool $mShowEmptyLabels = true
 If true will generate an empty div element with no label. More...
 
 $mValidationCallback
 

Detailed Description

A checkbox matrix Operates similarly to HTMLMultiSelectField, but instead of using an array of options, uses an array of rows and an array of columns to dynamically construct a matrix of options.

The tags used to identify a particular cell are of the form "columnName-rowName"

Options:

  • columns
    • Required list of columns in the matrix.
  • rows
    • Required list of rows in the matrix.
  • force-options-on
    • Accepts array of column-row tags to be displayed as enabled but unavailable to change
  • force-options-off
    • Accepts array of column-row tags to be displayed as disabled but unavailable to change.
  • tooltips
    • Optional array mapping row label to tooltip content
  • tooltip-class
    • Optional CSS class used on tooltip container span. Defaults to mw-icon-question.

Definition at line 24 of file HTMLCheckMatrix.php.

Constructor & Destructor Documentation

◆ __construct()

HTMLCheckMatrix::__construct (   $params)

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 from HTMLFormField.

Definition at line 33 of file HTMLCheckMatrix.php.

References $params.

Member Function Documentation

◆ filterDataForSubmit()

HTMLCheckMatrix::filterDataForSubmit (   $data)

Support for seperating multi-option preferences into multiple preferences Due to lack of array support.

Parameters
$dataarray

Implements HTMLNestedFilterable.

Definition at line 222 of file HTMLCheckMatrix.php.

References $columns, $res, array(), as, HTMLFormField\flattenOptions(), isTagForcedOff(), and isTagForcedOn().

◆ getDefault()

HTMLCheckMatrix::getDefault ( )

Reimplemented from HTMLFormField.

Definition at line 214 of file HTMLCheckMatrix.php.

References HTMLFormField\$mDefault, and array().

Referenced by loadDataFromRequest().

◆ getInputHTML()

HTMLCheckMatrix::getInputHTML (   $value)

Build a table containing a matrix of checkbox options.

The value of each option is a combination of the row tag and column tag. mParams['rows'] is an array with row labels as keys and row tags as values. mParams['columns'] is an array with column labels as keys and column tags as values.

Parameters
array$valueof the options that should be checked
Returns
String

Reimplemented from HTMLFormField.

Definition at line 82 of file HTMLCheckMatrix.php.

References $attribs, $columns, $html, $value, array(), as, Xml\check(), Html\element(), HTMLFormField\getAttributes(), isTagForcedOff(), isTagForcedOn(), and Html\rawElement().

Referenced by getTableRow().

◆ getTableRow()

HTMLCheckMatrix::getTableRow (   $value)

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

We override this function since the label should always be on a separate line above the options in the case of a checkbox matrix, i.e. it's always a "vertical-label".

Parameters
string$valuethe value to set the input to
Returns
String complete HTML table row

Reimplemented from HTMLFormField.

Definition at line 166 of file HTMLCheckMatrix.php.

References $html, $value, array(), HTMLFormField\getErrorsAndErrorClass(), HTMLFormField\getHelpText(), HTMLFormField\getHelpTextHtmlTable(), getInputHTML(), HTMLFormField\getLabelHtml(), list, and Html\rawElement().

◆ isTagForcedOff()

HTMLCheckMatrix::isTagForcedOff (   $tag)
protected

Definition at line 145 of file HTMLCheckMatrix.php.

Referenced by filterDataForSubmit(), and getInputHTML().

◆ isTagForcedOn()

HTMLCheckMatrix::isTagForcedOn (   $tag)
protected

Definition at line 150 of file HTMLCheckMatrix.php.

Referenced by filterDataForSubmit(), and getInputHTML().

◆ loadDataFromRequest()

HTMLCheckMatrix::loadDataFromRequest (   $request)
Parameters
$requestWebRequest
Returns
Array

Reimplemented from HTMLFormField.

Definition at line 194 of file HTMLCheckMatrix.php.

References array(), and getDefault().

◆ validate()

HTMLCheckMatrix::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 from HTMLFormField.

Definition at line 41 of file HTMLCheckMatrix.php.

References $columns, $value, array(), as, and HTMLFormField\msg().

Member Data Documentation

◆ $requiredParams

HTMLCheckMatrix::$requiredParams
staticprivate
Initial value:
'fieldname',
'rows',
'columns'
)

Definition at line 25 of file HTMLCheckMatrix.php.


The documentation for this class was generated from the following file:
array
the array() calling protocol came about after MediaWiki 1.4rc1.
List of Api Query prop modules.