form field with size > 1. */ class ezcWgTplFormMultiSelectElement extends ezcWgFormFieldElement { private $properties = array(); public function __construct( ezcWgWidget $parent, ezcWgFormWidget $form, $size = 5, ezcWgTplSingleInputFilter $filter = null ) { parent::__construct( $parent, $form, "multi_select_element", true ); $this->size = $size; $this->values = array(); $this->options = array(); } /** * Sets the property $name to $value. * * @throws ezcBasePropertyNotFoundException if the property does not exist. * @param string $name * @param mixed $value * @ignore */ public function __set( $name, $value ) { switch ( $name ) { case 'options': case 'values': case 'filter': case 'size': $this->properties[$name] = $value; break; default: parent::__set( $name, $value ); break; } } /** * Returns the property $name. * * @throws ezcBasePropertyNotFoundException if the property does not exist. * @param string $name * @return mixed * @ignore */ public function __get( $name ) { switch ( $name ) { case 'options': case 'values': case 'filter': case 'size': return isset( $this->properties[$name] ) ? $this->properties[$name] : null; break; default: return parent::__get( $name ); break; } } public function addOption( $value, $text, $selected = false ) { $this->properties['options'][$value] = $text; if( $selected ) { $this->properties['values'] = $value; } } public function render() { $output = ""; return $output; } public function dataRetrievedEvent( ezcWgFormEvent $e ) { if( $this->filter !== null ) { } else // default { if( isset( $_POST[$this->name] ) ) { $this->values = $_POST[$this->name]; $this->isValid = true; } } } } ?>