mParams[ 'options' ] ); if ( in_array( $value, $validOptions ) ) { return true; } else { return $this->msg( 'htmlform-select-badoption' )->parse(); } } function getInputHTML( $value ) { $select = new XmlSelect( $this->mName, $this->mID, strval( $value ) ); # If one of the options' 'name' is int(0), it is automatically selected. # because PHP sucks and thinks int(0) == 'some string'. # Working around this by forcing all of them to strings. foreach ( $this->mParams[ 'options' ] as &$opt ) { if ( is_int( $opt ) ) { $opt = strval( $opt ); } } unset( $opt ); # PHP keeps $opt around as a reference, which is a bit scary if ( ! empty( $this->mParams[ 'disabled' ] ) ) { $select->setAttribute( 'disabled', 'disabled' ); } if ( $this->mClass !== '' ) { $select->setAttribute( 'class', $this->mClass ); } $select->addOptions( $this->mParams[ 'options' ] ); return $select->getHTML(); } }