init($args); $this->opt['args'] = array_map('trim', explode('|',array_shift($args))); $this->standardArgs($args); if (isset($this->opt['value'])) { $this->opt['value'] = array_map('trim', explode(',', $this->opt['value'])); } else { $this->opt['value'] = array(); } } /** * Render the field as XHTML * * Outputs the represented field using the passed Doku_Form object. * Additional parameters (CSS class & HTML name) are passed in $params. * * @params array $params Additional HTML specific parameters * @params Doku_Form $form The target Doku_Form object * @params int $formid unique identifier of the form which contains this field */ public function renderfield($params, Doku_Form $form, $formid) { $this->_handlePreload(); if(!$form->_infieldset){ $form->startFieldset(''); } if ($this->error) { $params['class'] = 'bureaucracy_error'; } $params = array_merge($this->opt, $params); $form->addElement(call_user_func_array('form_makeListboxField', $this->_parse_tpl( array( '@@NAME@@[]', $params['args'], $this->opt['value'], '@@DISPLAY@@', '@@ID@@', '@@CLASS@@', array('multiple' => 'multiple') ), $params ))); } }