*/
public static function expandAttributes( $attribs ) {
$out = '';
- if( empty( $attribs ) ) {
+ if( is_null( $attribs ) ) {
return null;
} elseif( is_array( $attribs ) ) {
foreach( $attribs as $name => $val )
/**
* Convenience function to build an HTML form label
* @param $label text of the label
- * @param $id
+ * @param $id
+ * @param $attribs Array, other attributes
* @return string HTML
*/
- public static function label( $label, $id ) {
- return self::element( 'label', array( 'for' => $id ), $label );
+ public static function label( $label, $id, $attribs=array() ) {
+ $a = array( 'for' => $id );
+ if( isset( $attribs['class'] ) ){
+ $a['class'] = $attribs['class'];
+ }
+ return self::element( 'label', $a, $label );
}
/**
*/
public static function inputLabelSep( $label, $name, $id, $size=false, $value=false, $attribs=array() ) {
return array(
- Xml::label( $label, $id ),
+ Xml::label( $label, $id, $attribs ),
self::input( $name, $size, $value, array( 'id' => $id ) + $attribs )
);
}
public static function checkLabel( $label, $name, $id, $checked=false, $attribs=array() ) {
return self::check( $name, $checked, array( 'id' => $id ) + $attribs ) .
' ' .
- self::label( $label, $id );
+ self::label( $label, $id, $attribs );
}
/**
public static function radioLabel( $label, $name, $value, $id, $checked=false, $attribs=array() ) {
return self::radio( $name, $value, $checked, array( 'id' => $id ) + $attribs ) .
' ' .
- self::label( $label, $id );
+ self::label( $label, $id, $attribs );
}
/**
public function __construct( $name = false, $id = false, $default = false ) {
if ( $name ) $this->setAttribute( 'name', $name );
if ( $id ) $this->setAttribute( 'id', $id );
- if ( $default ) $this->default = $default;
+ if ( $default !== false ) $this->default = $default;
}
public function setDefault( $default ) {