return $p;
}
- print_r( $value );
-
$validOptions = HTMLFormField::flattenOptions( $this->mParams['options'] );
if ( in_array( $value, $validOptions ) )
$select->setAttribute( 'disabled', 'disabled' );
}
- if ( !empty( $this->mParams['multiple'] ) ) {
- $select->setAttribute( 'name', $this->mName . '[]' );
- $select->setAttribute( 'multiple', 'multiple' );
-
- if ( !empty( $this->mParams['size'] ) ) {
- $select->setAttribute( 'size', $this->mParams['size'] );
- }
- }
-
$select->addOptions( $this->mParams['options'] );
return $select->getHTML();
}
-
- /**
- * @param $request WebRequest
- * @return String
- */
- function loadDataFromRequest( $request ) {
- if ( $this->mParent->getMethod() == 'post' ) {
- if( $request->wasPosted() ){
- # Checkboxes are just not added to the request arrays if they're not checked,
- # so it's perfectly possible for there not to be an entry at all
- return $request->getArray( $this->mName, array() );
- } else {
- # That's ok, the user has not yet submitted the form, so show the defaults
- return $this->getDefault();
- }
- } else {
- # This is the impossible case: if we look at $_GET and see no data for our
- # field, is it because the user has not yet submitted the form, or that they
- # have submitted it with all the options unchecked? We will have to assume the
- # latter, which basically means that you can't specify 'positive' defaults
- # for GET forms.
- # @todo FIXME...
- return $request->getArray( $this->mName, array() );
- }
- }
-
- public static function keysAreValues( $array ) {
- $resultArray = array();
-
- foreach ( $array as $name => $value ) {
- $resultArray[$value] = $value;
- }
-
- return $resultArray;
- }
}
/**
$this->mParent->addHiddenField(
$this->mName,
- $value,
+ $this->mDefault,
$params
);