function neu_form() { $this->form_scripts(); $required = array(); for ($i = 0; $i < count($this->fields); $i++) { if ($this->fields[$i]['required']) { $required[] = preg_replace('#[^\\w\\.]#', '_', $this->fields[$i]['name']); } } $required = General::array2js('required', $required); $form_tag = Form::form_tag(SELF . '?input', 'post', 'multipart/form-data', array('onsubmit' => 'return checkform()')); $form_close = Form::close_form(); $this->scripts .= Html::script($required); //$this->scripts .= Html::script('',array('src'=>'/'.INSTALL_PATH.'/Module/BuddyListe/BuddyListe.js')); $spalten = 2; $table = new Table($spalten, array('id' => 'formtable')); $table->id_tbody('form_tbody'); foreach ($this->fields as $field) { $show_name = $field['show_name'] != '' ? $field['show_name'] : $field['name']; $show_name = $field['required'] ? $show_name . Html::span('*', array('style' => 'color:red;cursor:help', 'title' => 'Dieses Feld muss ausgefüllt werden.')) : $show_name; $encoded_name = rawurlencode($field['name']); $id = Html::html_legal_id($field['name']); switch ($field['input_type']) { case 'text': $parameters = array(); $parameters['id'] = $id; if (isset($field['length'])) { $parameters['size'] = $field['length']; $parameters['maxlength'] = $field['length']; } else { $parameters['size'] = 40; } $input = Form::add_input('text', $encoded_name, '', $parameters); break; case 'select': $select = new Select($encoded_name, array('id' => $id)); $select->add_option('--Bitte auswählen--'); foreach ($field['options'] as $option) { $select->add_option(rawurlencode($option), $option); } if ($field['sonstiges']) { $select->add_option('', 'Sonstige:', array('onclick' => 'sonstig_input(this,\'' . rawurlencode($encoded_name) . '\')')); } $input = $select->flush_select(); break; case 'check': $input = ''; foreach ($field['options'] as $option) { $input .= Form::add_input('checkbox', $encoded_name . '[]', rawurlencode($option)) . ' ' . $option . '<br />'; } break; case 'textarea': $input = Form::add_textarea($encoded_name, '', array('id' => $id, 'cols' => '35', 'rows' => '2', 'onfocus' => 'textarea_grow(\'' . $id . '\')', 'onblur' => 'textarea_shrink(\'' . $id . '\')')); break; } $table->add_td(array($show_name, $input)); } $fileinput = Form::add_input('file', 'bild[0]'); $table->add_td(array('Bild 1', $fileinput . Html::a('javascript:;', Html::img('/RheinaufCMS/Module/BuddyListe/edit_add.png', 'Plus', array('title' => 'Noch ein Bild', 'onclick' => 'add_file_upload()'))))); $table->add_td(array(Form::add_input('submit', 'submit_new_buddyentry', 'Eintragen')), array('style' => 'border-top:1px solid #33466B')); $page = new Template(INSTALL_PATH . '/Module/BuddyListe/Templates/Form.template.html'); $vars['form'] = $form_tag . $table->flush_table() . $form_close; return $page->parse_template('TEMPLATE', $vars); }