MediaWiki  1.27.1
Html Class Reference

This class is a collection of static functions that serve two purposes: More...

Static Public Member Functions

static buttonAttributes (array $attrs, array $modifiers=[])
 Modifies a set of attributes meant for button elements and apply a set of default attributes when $wgUseMediaWikiUIEverywhere enabled. More...
 
static check ($name, $checked=false, array $attribs=[])
 Convenience function to produce a checkbox (input element with type=checkbox) More...
 
static closeElement ($element)
 Returns "</$element>". More...
 
static element ($element, $attribs=[], $contents= '')
 Identical to rawElement(), but HTML-escapes $contents (like Xml::element()). More...
 
static expandAttributes (array $attribs)
 Given an associative array of element attributes, generate a string to stick after the element name in HTML output. More...
 
static getTextInputAttributes (array $attrs)
 Modifies a set of attributes meant for text input elements and apply a set of default attributes. More...
 
static hidden ($name, $value, array $attribs=[])
 Convenience function to produce an input element with type=hidden. More...
 
static htmlHeader (array $attribs=[])
 Constructs the opening html-tag with necessary doctypes depending on global variables. More...
 
static infoBox ($text, $icon, $alt, $class= '')
 Get HTML for an info box with an icon. More...
 
static inlineScript ($contents)
 Output a "<script>" tag with the given contents. More...
 
static inlineStyle ($contents, $media= 'all')
 Output a "<style>" tag with the given contents for the given media type (if any). More...
 
static input ($name, $value= '', $type= 'text', array $attribs=[])
 Convenience function to produce an "<input>" element. More...
 
static isXmlMimeType ($mimetype)
 Determines if the given MIME type is xml. More...
 
static label ($label, $id, array $attribs=[])
 Convenience function for generating a label for inputs. More...
 
static linkButton ($contents, array $attrs, array $modifiers=[])
 Returns an HTML link element in a string styled as a button (when $wgUseMediaWikiUIEverywhere is enabled). More...
 
static linkedScript ($url)
 Output a "<script>" tag linking to the given URL, e.g., "<script src=foo.js></script>". More...
 
static linkedStyle ($url, $media= 'all')
 Output a "<link rel=stylesheet>" linking to the given URL for the given media type (if any). More...
 
static namespaceSelector (array $params=[], array $selectAttribs=[])
 Build a drop-down box for selecting a namespace. More...
 
static namespaceSelectorOptions (array $params=[])
 Helper for Html::namespaceSelector(). More...
 
static openElement ($element, $attribs=[])
 Identical to rawElement(), but has no third parameter and omits the end tag (and the self-closing '/' in XML mode for empty elements). More...
 
static radio ($name, $checked=false, array $attribs=[])
 Convenience function to produce a radio button (input element with type=radio) More...
 
static rawElement ($element, $attribs=[], $contents= '')
 Returns an HTML element in a string. More...
 
static srcSet (array $urls)
 Generate a srcset attribute value. More...
 
static submitButton ($contents, array $attrs, array $modifiers=[])
 Returns an HTML link element in a string styled as a button (when $wgUseMediaWikiUIEverywhere is enabled). More...
 
static textarea ($name, $value= '', array $attribs=[])
 Convenience function to produce a <textarea> element. More...
 

Static Private Member Functions

static dropDefaults ($element, array $attribs)
 Given an element name and an associative array of element attributes, return an array that is functionally identical to the input array, but possibly smaller. More...
 

Static Private Attributes

static $boolAttribs
 
static $voidElements
 

Detailed Description

This class is a collection of static functions that serve two purposes:

1) Implement any algorithms specified by HTML5, or other HTML specifications, in a convenient and self-contained way.

2) Allow HTML elements to be conveniently and safely generated, like the current Xml class but a) less confused (Xml supports HTML-specific things, but only sometimes!) and b) not necessarily confined to XML-compatible output.

There are two important configuration options this class uses:

$wgMimeType: If this is set to an xml MIME type then output should be valid XHTML5.

This class is meant to be confined to utility functions that are called from trusted code paths. It does not do enforcement of policy like not allowing elements.

Since
1.16

Definition at line 48 of file Html.php.

Member Function Documentation

static Html::buttonAttributes ( array  $attrs,
array  $modifiers = [] 
)
static

Modifies a set of attributes meant for button elements and apply a set of default attributes when $wgUseMediaWikiUIEverywhere enabled.

Parameters
array$attrsHTML attributes in an associative array
string[]$modifiers classes to add to the button
See also
https://tools.wmflabs.org/styleguide/desktop/index.html for guidance on available modifiers
Returns
array $attrs A modified attribute array

Definition at line 110 of file Html.php.

References $wgUseMediaWikiUIEverywhere, and global.

Referenced by PreferencesForm\getButtons(), and EditPage\getCancelLink().

static Html::check (   $name,
  $checked = false,
array  $attribs = [] 
)
static

Convenience function to produce a checkbox (input element with type=checkbox)

Parameters
string$nameName attribute
bool$checkedWhether the checkbox is checked or not
array$attribsArray of additional attributes
Returns
string Raw HTML

Definition at line 697 of file Html.php.

References $attribs, $name, and $value.

Referenced by HtmlTest\testWrapperCheck().

static Html::closeElement (   $element)
static

Returns "</$element>".

Since
1.17
Parameters
string$elementName of the element, e.g., 'a'
Returns
string A closing tag

Definition at line 306 of file Html.php.

Referenced by CategoryViewer\columnList(), Article\confirmDelete(), SpecialListGrants\execute(), SpecialTrackingCategories\execute(), SpecialCategories\execute(), TablePager\formatRow(), SpecialLog\getActionButtons(), SpecialChangeCredentials\getAuthForm(), EditPage\getCheckboxes(), OracleInstaller\getConnectForm(), PostgresInstaller\getConnectForm(), MysqlInstaller\getConnectForm(), MssqlInstaller\getConnectForm(), SpecialVersion\getCreditsForExtension(), SpecialVersion\getEntryPointInfo(), SpecialVersion\getExternalLibraries(), ApiHelp\getHelpInternal(), DatabaseInstaller\getInstallUserBox(), TablePager\getNavigationBar(), HTMLMultiSelectField\getOneCheckbox(), HTMLCheckMatrix\getOneCheckbox(), EditPage\getPreviewLimitReport(), MssqlInstaller\getSettingsForm(), DatabaseInstaller\getWebUserBox(), SpecialVersion\getWgHooks(), OutputPage\headElement(), ImagePage\imageLinks(), SpecialBookSources\makeForm(), ChangesListSpecialPage\makeLegend(), ApiMain\modifyHelp(), SpecialPasswordReset\onSuccess(), SpecialVersion\openExtType(), WebInstallerOutput\outputFooter(), SpecialSpecialpages\outputPageList(), MediaStatisticsPage\outputTableEnd(), SpecialAllPages\showChunk(), SpecialExpandTemplates\showHtmlPreview(), SpecialPrefixindex\showPrefixChunk(), SpecialChangeCredentials\showSubpageList(), UserrightsPage\switchForm(), SpecialEmailUser\userForm(), and wfHtmlValidationHandler().

static Html::dropDefaults (   $element,
array  $attribs 
)
staticprivate

Given an element name and an associative array of element attributes, return an array that is functionally identical to the input array, but possibly smaller.

In particular, attributes might be stripped if they are given their default values.

This method is not guaranteed to remove all redundant attributes, only some common ones and some others selected arbitrarily at random. It only guarantees that the output array should be functionally identical to the input array (currently per the HTML 5 draft as of 2009-09-06).

Parameters
string$elementName of the element, e.g., 'a'
array$attribsAssociative array of attributes, e.g., array( 'href' => 'http://www.mediawiki.org/' ). See expandAttributes() for further documentation.
Returns
array An array of attributes functionally identical to $attribs

Definition at line 329 of file Html.php.

References $attribs, $type, $value, and as.

static Html::element (   $element,
  $attribs = [],
  $contents = '' 
)
static

Identical to rawElement(), but HTML-escapes $contents (like Xml::element()).

Parameters
string$element
array$attribs
string$contents
Returns
string

Definition at line 230 of file Html.php.

References $attribs.

Referenced by OutputPage\addElement(), JsonContent\arrayTable(), OutputPage\buildCssLinks(), ListToggle\checkboxLink(), ApiFormatBase\closePrinter(), Article\confirmDelete(), MWDebug\deprecated(), WebInstallerDBConnect\execute(), SpecialPreferences\execute(), SpecialListGrants\execute(), SpecialVersion\execute(), OutputPage\feedLink(), ChangesList\flag(), Parser\formatHeadings(), PageQueryPage\formatResult(), FewestrevisionsPage\formatResult(), MostlinkedCategoriesPage\formatResult(), UnwatchedpagesPage\formatResult(), MostcategoriesPage\formatResult(), ShortPagesPage\formatResult(), MostinterwikisPage\formatResult(), MostlinkedTemplatesPage\formatResult(), MostlinkedPage\formatResult(), SpecialPagesWithProp\formatResult(), SpecialProtectedtitles\formatRow(), SpecialNewpages\formatRow(), ProtectedPagesPager\formatValue(), SpecialLog\getActionButtons(), SpecialChangeCredentials\getAuthForm(), LoginSignupSpecialPage\getAuthForm(), VFormHTMLForm\getButtons(), HTMLForm\getButtons(), WebInstallerOptions\getCCChooser(), WebInstallerOptions\getCCDoneBox(), PostgresInstaller\getConnectForm(), OracleInstaller\getConnectForm(), MysqlInstaller\getConnectForm(), MssqlInstaller\getConnectForm(), SpecialVersion\getCreditsForExtension(), UploadForm\getDescriptionSection(), FeedUtils\getDiffLink(), TablePager\getEmptyBody(), SpecialVersion\getEntryPointInfo(), SpecialVersion\getExternalLibraries(), LoginSignupSpecialPage\getFieldDefinitions(), OutputPage\getHeadLinksArray(), ApiHelp\getHelpInternal(), DBConnectionError\getHTML(), HTMLButtonField\getInputHTML(), HTMLCheckMatrix\getInputHTML(), DatabaseInstaller\getInstallUserBox(), UploadSourceField\getLabelHtml(), HTMLCheckMatrix\getOneCheckbox(), WebInstaller\getPageListItem(), SpecialVersion\getParserTags(), HistoryPager\getRevisionButton(), MssqlInstaller\getSettingsForm(), TablePager\getStartBody(), DBQueryError\getTextContent(), SpecialVersion\getVersionLinkedGit(), DatabaseInstaller\getWebUserBox(), SpecialVersion\getWgHooks(), OutputPage\headElement(), Linker\makeExternalImage(), Skin\makeFooterIcon(), SpecialBookSources\makeForm(), InfoAction\makeHeader(), ChangesListSpecialPage\makeLegend(), SpecialBookSources\makeListItem(), OutputPage\makeResourceLoaderLink(), BaseTemplate\makeSearchButton(), BaseTemplate\makeSearchInput(), ApiMain\modifyHelp(), Language\numLink(), JsonContent\objectRow(), JsonContent\objectTable(), InfoAction\onView(), SpecialVersion\openExtType(), Xml\option(), MediaStatisticsPage\outputMediaType(), SpecialListGroupRights\outputNamespaceProtectionInfo(), MediaStatisticsPage\outputTableRow(), InfoAction\pageInfo(), ImportReporter\reportNotice(), JsonContent\rootValueTable(), ChangesList\showCharacterDifference(), SpecialAllPages\showChunk(), DifferenceEngine\showDiffPage(), SpecialImport\showForm(), SpecialUndelete\showHistory(), SpecialBlockList\showList(), SpecialUndelete\showList(), SpecialPrefixindex\showPrefixChunk(), EditPage\showStandardInputs(), SpecialChangeCredentials\showSubpageList(), SpecialUploadStash\showUploads(), WebInstaller\startPageWrapper(), Xml\submitButton(), HtmlTest\testDropDefaults(), HtmlTest\testElementBasics(), HtmlTest\testHtmlElementAcceptsNewHtml5TypesInHtml5Mode(), JsonContent\valueCell(), and wfHtmlValidationHandler().

static Html::expandAttributes ( array  $attribs)
static

Given an associative array of element attributes, generate a string to stick after the element name in HTML output.

Like array( 'href' => 'http://www.mediawiki.org/' ) becomes something like ' href="http://www.mediawiki.org"'. Again, this is like Xml::expandAttributes(), but it implements some HTML-specific logic.

Attributes that can contain space-separated lists ('class', 'accesskey' and 'rel') array values are allowed as well, which will automagically be normalized and converted to a space-separated string. In addition to a numerical array, the attribute value may also be an associative array. See the example below for how that works.

Numerical array
'class' => array( 'foo', 'bar' )
) );
// gives '<em class="foo bar"></em>'
Associative array
'class' => array( 'foo', 'bar', 'foo' => false, 'quux' => true )
) );
// gives '<em class="bar quux"></em>'
Parameters
array$attribsAssociative array of attributes, e.g., array( 'href' => 'http://www.mediawiki.org/' ). Values will be HTML-escaped. A value of false means to omit the attribute. For boolean attributes, you can omit the key, e.g., array( 'checked' ) instead of array( 'checked' => 'checked' ) or such.
Exceptions
MWExceptionIf an attribute that doesn't allow lists is set to an array
Returns
string HTML fragment that goes between element name and '>' (starting with a space if at least one attribute is output)

Definition at line 472 of file Html.php.

References $key, $ret, $value, and as.

Referenced by LanguageConverter\autoConvert(), HtmlTest\testExpandAttributes_ArrayOnNonListValueAttribute_ThrowsException(), HtmlTest\testExpandAttributesForBooleans(), HtmlTest\testExpandAttributesForNumbers(), HtmlTest\testExpandAttributesForObjects(), HtmlTest\testExpandAttributesListValueAttributes(), HtmlTest\testExpandAttributesSkipsNullAndFalse(), HtmlTest\testExpandAttributesSpaceSeparatedAttributesWithBoolean(), HtmlTest\testExpandAttributesVariousExpansions(), HtmlTest\testFormValidationBlacklist(), and HtmlTest\testValueIsAuthoritativeInSpaceSeparatedAttributesArrays().

static Html::getTextInputAttributes ( array  $attrs)
static

Modifies a set of attributes meant for text input elements and apply a set of default attributes.

Removes size attribute when $wgUseMediaWikiUIEverywhere enabled.

Parameters
array$attrsAn attribute array.
Returns
array $attrs A modified attribute array

Definition at line 137 of file Html.php.

References $wgUseMediaWikiUIEverywhere, and global.

Referenced by Xml\input(), and Xml\textarea().

static Html::hidden (   $name,
  $value,
array  $attribs = [] 
)
static

Convenience function to produce an input element with type=hidden.

Parameters
string$nameName attribute
string$valueValue attribute
array$attribsAssociative array of miscellaneous extra attributes, passed to Html::element()
Returns
string Raw HTML

Definition at line 759 of file Html.php.

References $attribs, $name, and $value.

Referenced by SpecialEditTags\buildCheckBoxes(), AllMessagesTablePager\buildForm(), ProtectionForm\buildForm(), ChangeTags\buildTagFilterSelector(), Article\confirmDelete(), Preferences\datetimePreferences(), SpecialRecentChanges\doHeader(), SpecialWatchlist\doHeader(), ImagePage\doRenderLangOpt(), WebInstallerPage\endForm(), WebInstallerLanguage\execute(), WebInstallerOptions\execute(), SpecialNewpages\form(), SpecialLog\getActionButtons(), LogEventsList\getFilterLinks(), TablePager\getHiddenFields(), HTMLForm\getHiddenFields(), HTMLFormFieldCloner\getInputHTMLForKey(), MIMEsearchPage\getPageHeader(), ActiveUsersPager\getPageHeader(), UsersPager\getPageHeader(), HistoryPager\getStartBody(), CategoryPager\getStartForm(), SpecialBookSources\makeForm(), SpecialPrefixindex\namespacePrefixForm(), HistoryAction\onView(), ImagePage\openShowImage(), SpecialSearch\powerSearchBox(), SpecialWatchlist\setTopText(), SpecialSearch\shortDialog(), EditPage\showEditForm(), UserrightsPage\showEditUserGroupsForm(), MovePageForm\showForm(), SpecialEditTags\showForm(), FileDeleteForm\showForm(), SpecialImport\showForm(), SpecialRevisionDelete\showForm(), EditPage\showFormAfterText(), EditPage\showFormBeforeText(), SpecialMergeHistory\showHistory(), SpecialUndelete\showHistory(), SpecialMergeHistory\showMergeForm(), LogEventsList\showOptions(), SpecialProtectedpages\showOptions(), SpecialProtectedtitles\showOptions(), SpecialUndelete\showSearchForm(), UserrightsPage\switchForm(), SpecialEmailUser\userForm(), and SpecialWhatLinksHere\whatlinkshereForm().

static Html::htmlHeader ( array  $attribs = [])
static

Constructs the opening html-tag with necessary doctypes depending on global variables.

Parameters
array$attribsAssociative array of miscellaneous extra attributes, passed to Html::element() of html tag.
Returns
string Raw HTML

Definition at line 920 of file Html.php.

References $attribs, $html, $ret, $tag, $wgHtml5Version, $wgMimeType, $wgXhtmlNamespaces, as, and global.

Referenced by OutputPage\headElement(), WebInstallerOutput\outputHeader(), WebInstallerOutput\outputShortHeader(), and wfHtmlValidationHandler().

static Html::infoBox (   $text,
  $icon,
  $alt,
  $class = '' 
)
static

Get HTML for an info box with an icon.

Parameters
string$textWikitext, get this with wfMessage()->plain()
string$iconPath to icon file (used as 'src' attribute)
string$altAlternate text for the icon
string$classAdditional class name to add to the wrapper div
Returns
string

Definition at line 983 of file Html.php.

References $s.

Referenced by WebInstaller\getInfoBox().

static Html::inlineScript (   $contents)
static

Output a "<script>" tag with the given contents.

Todo:
do some useful escaping as well, like if $contents contains literal "</script>" or (for XML) literal "]]>".
Parameters
string$contentsJavaScript
Returns
string Raw HTML

Definition at line 597 of file Html.php.

Referenced by OutputPage\addInlineScript(), and OutputPage\getInlineHeadScripts().

static Html::inlineStyle (   $contents,
  $media = 'all' 
)
static

Output a "<style>" tag with the given contents for the given media type (if any).

Parameters
string$contentsCSS
string$mediaA media type string, like 'screen'
Returns
string Raw HTML

Definition at line 628 of file Html.php.

Referenced by OutputPage\addInlineStyle(), OutputPage\buildCssLinks(), OutputPage\makeResourceLoaderLink(), and wfHtmlValidationHandler().

static Html::input (   $name,
  $value = '',
  $type = 'text',
array  $attribs = [] 
)
static

Convenience function to produce an "<input>" element.

This supports the new HTML5 input types and attributes.

Parameters
string$nameName attribute
string$valueValue attribute
string$typeType attribute
array$attribsAssociative array of miscellaneous extra attributes, passed to Html::element()
Returns
string Raw HTML

Definition at line 676 of file Html.php.

References $attribs, $name, $type, and $value.

Referenced by Article\confirmDelete(), Xml\dateMenu(), HTMLSelectOrOtherField\getInputHTML(), HTMLSelectAndOtherField\getInputHTML(), HTMLTextField\getInputHTML(), HTMLFormFieldWithButton\getInputHTML(), UsersPager\getPageHeader(), EditPage\getSummaryInput(), SpecialImport\showForm(), HtmlTest\testWrapperInput(), and SpecialEmailUser\userForm().

static Html::isXmlMimeType (   $mimetype)
static

Determines if the given MIME type is xml.

Parameters
string$mimetypeMIME type
Returns
bool

Definition at line 965 of file Html.php.

Referenced by OutputPage\headElement(), and HtmlTest\testXmlMimeType().

static Html::label (   $label,
  $id,
array  $attribs = [] 
)
static

Convenience function for generating a label for inputs.

Parameters
string$labelContents of the label
string$idID of the element being labeled
array$attribsAdditional attributes
Returns
string Raw HTML

Definition at line 743 of file Html.php.

References $attribs.

Referenced by Article\confirmDelete(), HtmlTest\testWrapperLabel(), and SpecialEmailUser\userForm().

static Html::linkButton (   $contents,
array  $attrs,
array  $modifiers = [] 
)
static

Returns an HTML link element in a string styled as a button (when $wgUseMediaWikiUIEverywhere is enabled).

Parameters
string$contentsThe raw HTML contents of the element: not escaped!
array$attrsAssociative array of attributes, e.g., array( 'href' => 'http://www.mediawiki.org/' ). See expandAttributes() for further documentation.
string[]$modifiers classes to add to the button
See also
http://tools.wmflabs.org/styleguide/desktop/index.html for guidance on available modifiers
Returns
string Raw HTML

Definition at line 166 of file Html.php.

Referenced by EditPage\showStandardInputs().

static Html::linkedScript (   $url)
static

Output a "<script>" tag linking to the given URL, e.g., "<script src=foo.js></script>".

Parameters
string$url
Returns
string Raw HTML

Definition at line 614 of file Html.php.

Referenced by OutputPage\addScriptFile(), WebInstallerOutput\getJQuery(), WebInstallerOutput\outputHeader(), WebInstallerOutput\outputShortHeader(), and SpecialJavaScriptTest\plainQUnit().

static Html::linkedStyle (   $url,
  $media = 'all' 
)
static

Output a "<link rel=stylesheet>" linking to the given URL for the given media type (if any).

Parameters
string$url
string$mediaA media type string, like 'screen'
Returns
string Raw HTML

Definition at line 657 of file Html.php.

Referenced by WebInstallerOutput\getCssUrl(), OutputPage\makeResourceLoaderLink(), and OutputPage\styleLink().

static Html::namespaceSelector ( array  $params = [],
array  $selectAttribs = [] 
)
static

Build a drop-down box for selecting a namespace.

Parameters
array$paramsParams to set.
  • selected: [optional] Id of namespace which should be pre-selected
  • all: [optional] Value of item for "all namespaces". If null or unset, no "<option>" is generated to select all namespaces.
  • label: text for label to add before the field.
  • exclude: [optional] Array of namespace ids to exclude.
  • disable: [optional] Array of namespace ids for which the option should be disabled in the selector.
array$selectAttribsHTML attributes for the generated select element.
  • id: [optional], default: 'namespace'.
  • name: [optional], default: 'namespace'.
Returns
string HTML code to select a namespace.

Definition at line 847 of file Html.php.

References $options, $params, $ret, and as.

Referenced by SpecialWatchlist\doHeader(), HTMLSelectNamespace\getInputHTML(), SpecialImport\getMappingFormPart(), SpecialProtectedpages\getNamespaceMenu(), SpecialProtectedtitles\getNamespaceMenu(), SpecialRecentChanges\namespaceFilterForm(), SpecialPrefixindex\namespacePrefixForm(), HtmlTest\testCanDisableANamespaces(), HtmlTest\testCanFilterOutNamespaces(), HtmlTest\testNamespaceSelector(), and SpecialWhatLinksHere\whatlinkshereForm().

static Html::namespaceSelectorOptions ( array  $params = [])
static

Helper for Html::namespaceSelector().

Parameters
array$paramsSee Html::namespaceSelector()
Returns
array

Definition at line 795 of file Html.php.

References $options, $params, $wgContLang, as, global, NS_MAIN, and wfMessage().

Referenced by MediaWiki\Widget\NamespaceInputWidget\getNamespaceDropdownOptions().

static Html::openElement (   $element,
  $attribs = [] 
)
static

Identical to rawElement(), but has no third parameter and omits the end tag (and the self-closing '/' in XML mode for empty elements).

Parameters
string$element
array$attribs
Returns
string

Definition at line 248 of file Html.php.

References $attribs, and array().

Referenced by DifferenceEngine\addHeader(), CategoryViewer\columnList(), Article\confirmDelete(), WebInstallerDBConnect\execute(), SpecialListGrants\execute(), SpecialTrackingCategories\execute(), SpecialCategories\execute(), TablePager\formatRow(), SpecialLog\getActionButtons(), SpecialChangeCredentials\getAuthForm(), EditPage\getCheckboxes(), OracleInstaller\getConnectForm(), PostgresInstaller\getConnectForm(), MysqlInstaller\getConnectForm(), MssqlInstaller\getConnectForm(), SpecialVersion\getCreditsForExtension(), SpecialVersion\getEntryPointInfo(), SpecialVersion\getExternalLibraries(), ApiHelp\getHelpInternal(), CategoryViewer\getHTML(), DatabaseInstaller\getInstallUserBox(), TablePager\getNavigationBar(), HTMLMultiSelectField\getOneCheckbox(), HTMLCheckMatrix\getOneCheckbox(), EditPage\getPreviewLimitReport(), MssqlInstaller\getSettingsForm(), TablePager\getStartBody(), HistoryPager\getStartBody(), DatabaseInstaller\getWebUserBox(), SpecialVersion\getWgHooks(), OutputPage\headElement(), ImagePage\imageLinks(), SpecialBookSources\makeForm(), ChangesListSpecialPage\makeLegend(), ApiMain\modifyHelp(), SpecialPasswordReset\onSuccess(), SpecialVersion\openExtType(), WebInstallerOutput\outputHeader(), SpecialSpecialpages\outputPageList(), MediaStatisticsPage\outputTableStart(), EnhancedChangesList\recentChangesBlockLine(), SpecialAllPages\showChunk(), EditPage\showEditForm(), SpecialExpandTemplates\showHtmlPreview(), SpecialPrefixindex\showPrefixChunk(), SpecialChangeCredentials\showSubpageList(), WebInstallerPage\startForm(), UserrightsPage\switchForm(), SpecialEmailUser\userForm(), and wfHtmlValidationHandler().

static Html::radio (   $name,
  $checked = false,
array  $attribs = [] 
)
static

Convenience function to produce a radio button (input element with type=radio)

Parameters
string$nameName attribute
bool$checkedWhether the radio button is checked or not
array$attribsArray of additional attributes
Returns
string Raw HTML

Definition at line 720 of file Html.php.

References $attribs, $name, and $value.

Referenced by HtmlTest\testWrapperRadio().

static Html::rawElement (   $element,
  $attribs = [],
  $contents = '' 
)
static

Returns an HTML element in a string.

The major advantage here over manually typing out the HTML is that it will escape all attribute values.

This is quite similar to Xml::tags(), but it implements some useful HTML-specific logic. For instance, there is no $allowShortTag parameter: the closing tag is magically omitted if $element has an empty content model.

Parameters
string$elementThe element's name, e.g., 'a'
array$attribsAssociative array of attributes, e.g., array( 'href' => 'http://www.mediawiki.org/' ). See expandAttributes() for further documentation.
string$contentsThe raw HTML contents of the element: not escaped!
Returns
string Raw HTML

Definition at line 210 of file Html.php.

References $attribs.

Referenced by OutputPage\addHelpLink(), InfoAction\addRow(), InfoAction\addTable(), SpecialBlock\alterForm(), JsonContent\arrayRow(), JsonContent\arrayTable(), ChangeTags\buildTagFilterSelector(), SpecialEditWatchlist\buildTools(), ApiFormatBase\closePrinter(), MWDebug\deprecated(), EditPage\displayPreviewArea(), EditPage\displayViewSourcePage(), ImagePage\doRenderLangOpt(), WebInstaller\downloadLinkHook(), SpecialApiHelp\execute(), SpecialPreferences\execute(), SpecialListGrants\execute(), SpecialListGroupRights\execute(), SpecialActiveUsers\execute(), SpecialListUsers\execute(), FormatMetadata\flattenArrayReal(), SpecialNewpages\form(), DateFormatter\formatDate(), HTMLFormField\formatErrors(), HTMLForm\formatErrors(), CategoryViewer\formatList(), HTMLMultiSelectField\formatOptions(), HTMLRadioField\formatOptions(), XmlSelect\formatOptions(), DeletedContribsPager\formatRevisionRow(), SpecialMergeHistory\formatRevisionRow(), SpecialProtectedtitles\formatRow(), CategoryPager\formatRow(), SpecialStatistics\formatRow(), ActiveUsersPager\formatRow(), UsersPager\formatRow(), TablePager\formatRow(), DeletedContribsPager\formatRow(), SpecialNewpages\formatRow(), ContribsPager\formatRow(), HTMLForm\formatSection(), BlockListPager\formatValue(), ProtectedPagesPager\formatValue(), LoginSignupSpecialPage\getAuthForm(), OOUIHTMLForm\getButtons(), VFormHTMLForm\getButtons(), HTMLForm\getButtons(), Skin\getCachedNotice(), Skin\getCategories(), SpecialVersion\getCreditsForExtension(), SpecialSearch\getDidYouMeanHtml(), SpecialSearch\getDidYouMeanRewrittenHtml(), HTMLFormField\getDiv(), Title\getEditNotices(), TablePager\getEmptyBody(), SpecialVersion\getEntryPointInfo(), HTMLForm\getErrors(), SpecialVersion\getExternalLibraries(), LoginSignupSpecialPage\getFieldDefinitions(), ApiHelp\getHelpInternal(), HTMLFormField\getHelpTextHtmlDiv(), HTMLFormField\getHelpTextHtmlTable(), ListToggle\getHTML(), XmlSelect\getHTML(), BaseTemplate\getIndicators(), HTMLCheckField\getInputHTML(), HTMLButtonField\getInputHTML(), HTMLCheckMatrix\getInputHTML(), Licenses\getInputHTML(), HTMLFormFieldCloner\getInputHTML(), HTMLFormFieldCloner\getInputHTMLForKey(), HTMLFormField\getLabelHtml(), UploadSourceField\getLabelHtml(), TablePager\getLimitForm(), RevDelFileItem\getLink(), SpecialProtectedpages\getNamespaceMenu(), TablePager\getNavigationBar(), LoginSignupSpecialPage\getPageHtml(), SpecialVersion\getParserFunctionHooks(), SpecialVersion\getParserTags(), EditPage\getPreviewLimitReport(), EditPage\getPreviewText(), Block\getRedactedName(), LogFormatter\getRestrictedElement(), DifferenceEngine\getRevisionHeader(), TablePager\getStartBody(), MediaStatisticsPage\getTableHeaderRow(), HTMLCheckMatrix\getTableRow(), HTMLFormField\getTableRow(), HistoryPager\historyLine(), ImagePage\imageLinks(), Linker\link(), LogEventsList\logLine(), Linker\makeExternalLink(), Skin\makeFooterIcon(), InfoAction\makeHeader(), ChangesListSpecialPage\makeLegend(), BaseTemplate\makeLink(), SpecialBookSources\makeListItem(), BaseTemplate\makeListItem(), Linker\makeMediaLinkFile(), OutputPage\makeResourceLoaderLink(), BaseTemplate\makeSearchButton(), ImagePage\makeSizeLink(), Linker\makeThumbLink2(), ApiMain\modifyHelp(), JsonContent\objectRow(), JsonContent\objectTable(), SpecialPasswordReset\onSuccess(), CreditsAction\onView(), SpecialVersion\openExtType(), ImagePage\openShowImage(), SpecialListGroupRights\outputNamespaceProtectionInfo(), SpecialSpecialpages\outputPageList(), MediaStatisticsPage\outputTableRow(), InfoAction\pageInfo(), SpecialBlock\postText(), CoreTagHooks\pre(), SkinTemplate\prepareQuickTemplate(), SpecialBlock\preText(), JsonContent\rootValueTable(), SpecialNewFiles\setTopText(), SpecialRecentChanges\setTopText(), SpecialAllPages\showChunk(), DifferenceEngine\showDiffPage(), EditPage\showEditForm(), OutputPage\showLagWarning(), SpecialBlockList\showList(), LogEventsList\showLogExtract(), SpecialPrefixindex\showPrefixChunk(), SpecialUndelete\showSearchForm(), SpecialChangeCredentials\showSubpageList(), SpecialUploadStash\showUploads(), LogFormatter\styleRestricedElement(), SpecialEmailUser\userForm(), JsonContent\valueCell(), wfHtmlValidationHandler(), ApiHelp\wrap(), VFormHTMLForm\wrapForm(), HTMLForm\wrapForm(), and SkinTemplate\wrapHTML().

static Html::srcSet ( array  $urls)
static

Generate a srcset attribute value.

Generates a srcset attribute value from an array mapping pixel densities to URLs. A trailing 'x' in pixel density values is optional.

Note
srcset width and height values are not supported.
See also
http://www.whatwg.org/html/embedded-content-1.html#attr-img-srcset
Example:
'1x' => 'standard.jpeg',
'1.5x' => 'large.jpeg',
'3x' => 'extra-large.jpeg',
) );
// gives 'standard.jpeg 1x, large.jpeg 1.5x, extra-large.jpeg 2x'
Parameters
string[]$urls
Returns
string

Definition at line 1030 of file Html.php.

References as.

Referenced by HtmlTest\testSrcSet(), and ThumbnailImage\toHtml().

static Html::submitButton (   $contents,
array  $attrs,
array  $modifiers = [] 
)
static

Returns an HTML link element in a string styled as a button (when $wgUseMediaWikiUIEverywhere is enabled).

Parameters
string$contentsThe raw HTML contents of the element: not escaped!
array$attrsAssociative array of attributes, e.g., array( 'href' => 'http://www.mediawiki.org/' ). See expandAttributes() for further documentation.
string[]$modifiers classes to add to the button
See also
http://tools.wmflabs.org/styleguide/desktop/index.html for guidance on available modifiers
Returns
string Raw HTML

Definition at line 186 of file Html.php.

Referenced by EditPage\getEditButtons(), CategoryPager\getStartForm(), SpecialBookSources\makeForm(), HistoryAction\onView(), HistoryPager\submitButton(), and SpecialEmailUser\userForm().

static Html::textarea (   $name,
  $value = '',
array  $attribs = [] 
)
static

Convenience function to produce a <textarea> element.

This supports leaving out the cols= and rows= which Xml requires and are required by HTML4/XHTML but not required by HTML5.

Parameters
string$nameName attribute
string$valueValue attribute
array$attribsAssociative array of miscellaneous extra attributes, passed to Html::element()
Returns
string Raw HTML

Definition at line 775 of file Html.php.

References $attribs, $name, and $value.

Referenced by HTMLTextAreaField\getInputHTML(), and EditPage\showTextbox().

Member Data Documentation

Html::$boolAttribs
staticprivate
Initial value:
= [
'async',
'autofocus',
'autoplay',
'checked',
'controls',
'default',
'defer',
'disabled',
'formnovalidate',
'hidden',
'ismap',
'itemscope',
'loop',
'multiple',
'muted',
'novalidate',
'open',
'pubdate',
'readonly',
'required',
'reversed',
'scoped',
'seamless',
'selected',
'truespeed',
'typemustmatch',
'itemscope',
]

Definition at line 71 of file Html.php.

Html::$voidElements
staticprivate
Initial value:
= [
'area',
'base',
'br',
'col',
'command',
'embed',
'hr',
'img',
'input',
'keygen',
'link',
'meta',
'param',
'source',
'track',
'wbr',
]

Definition at line 50 of file Html.php.


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