* Given an array of ('attributename' => 'value'), it generates the code
* to set the XML attributes : attributename="value".
* The values are passed to Sanitizer::encodeAttribute.
- * Return null if no attributes given.
- * @param array $attribs Array of attributes for an XML element
+ * Returns null or empty string if no attributes given.
+ * @param array|null $attribs Array of attributes for an XML element
* @throws MWException
* @return null|string
*/
. Xml::closeElement( 'select' );
}
- /**
- * Converts textual drop-down list to array
- *
- * @param string $list Correctly formatted text (newline delimited) to be
- * used to generate the options.
- * @return array
- */
- public static function getArrayFromWikiTextList( $list = '' ) {
- $options = [];
-
- foreach ( explode( "\n", $list ) as $option ) {
- $value = trim( $option );
- if ( $value == '' ) {
- continue;
- } elseif ( substr( $value, 0, 1 ) == '*' && substr( $value, 1, 1 ) != '*' ) {
- // A new group is starting ...
- $value = trim( substr( $value, 1 ) );
- $options[] = $value;
- } elseif ( substr( $value, 0, 2 ) == '**' ) {
- // groupmember
- $value = trim( substr( $value, 2 ) );
- $options[] = $value;
- } else {
- // groupless reason list
- $options[] = $value;
- }
- }
- return $options;
- }
-
/**
* Shortcut for creating fieldsets.
*
}
}
-/**
- * A wrapper class which causes Xml::encodeJsVar() and Xml::encodeJsCall() to
- * interpret a given string as being a JavaScript expression, instead of string
- * data.
- *
- * Example:
- *
- * Xml::encodeJsVar( new XmlJsCode( 'a + b' ) );
- *
- * Returns "a + b".
- *
- * @note As of 1.21, XmlJsCode objects cannot be nested inside objects or arrays. The sole
- * exception is the $args argument to Xml::encodeJsCall() because Xml::encodeJsVar() is
- * called for each individual element in that array.
- *
- * @since 1.17
- */
-class XmlJsCode {
- public $value;
-
- function __construct( $value ) {
- $this->value = $value;
- }
-}