Exemple #1
0
 /**
  * Load the form
  */
 private function loadForm()
 {
     $this->frm = new FrontendForm('feedback');
     $this->frm->addHidden('question_id', $this->record['id']);
     $this->frm->addTextarea('message');
     $this->frm->addRadiobutton('useful', array(array('label' => FL::lbl('Yes'), 'value' => 'Y'), array('label' => FL::lbl('No'), 'value' => 'N')));
 }
Exemple #2
0
 /**
  * Load the form.
  */
 private function loadForm()
 {
     // create form
     $this->frm = new FrontendForm('form' . $this->item['id']);
     // exists and has fields
     if (!empty($this->item) && !empty($this->item['fields'])) {
         // loop fields
         foreach ($this->item['fields'] as $field) {
             // init
             $item['name'] = 'field' . $field['id'];
             $item['type'] = $field['type'];
             $item['label'] = isset($field['settings']['label']) ? $field['settings']['label'] : '';
             $item['required'] = isset($field['validations']['required']);
             $item['html'] = '';
             // form values
             $values = isset($field['settings']['values']) ? $field['settings']['values'] : null;
             $defaultValues = isset($field['settings']['default_values']) ? $field['settings']['default_values'] : null;
             // dropdown
             if ($field['type'] == 'dropdown') {
                 // values and labels are the same
                 $values = array_combine($values, $values);
                 // get index of selected item
                 $defaultIndex = array_search($defaultValues, $values, true);
                 if ($defaultIndex === false) {
                     $defaultIndex = null;
                 }
                 // create element
                 $ddm = $this->frm->addDropdown($item['name'], $values, $defaultIndex);
                 // empty default element
                 $ddm->setDefaultElement('');
                 // get content
                 $item['html'] = $ddm->parse();
             } elseif ($field['type'] == 'radiobutton') {
                 // reset
                 $newValues = array();
                 // rebuild values
                 foreach ($values as $value) {
                     $newValues[] = array('label' => $value, 'value' => $value);
                 }
                 // create element
                 $rbt = $this->frm->addRadiobutton($item['name'], $newValues, $defaultValues);
                 // get content
                 $item['html'] = $rbt->parse();
             } elseif ($field['type'] == 'checkbox') {
                 // reset
                 $newValues = array();
                 // rebuild values
                 foreach ($values as $value) {
                     $newValues[] = array('label' => $value, 'value' => $value);
                 }
                 // create element
                 $chk = $this->frm->addMultiCheckbox($item['name'], $newValues, $defaultValues);
                 // get content
                 $item['html'] = $chk->parse();
             } elseif ($field['type'] == 'textbox') {
                 // create element
                 $txt = $this->frm->addText($item['name'], $defaultValues);
                 // get content
                 $item['html'] = $txt->parse();
             } elseif ($field['type'] == 'textarea') {
                 // create element
                 $txt = $this->frm->addTextarea($item['name'], $defaultValues);
                 $txt->setAttribute('cols', 30);
                 // get content
                 $item['html'] = $txt->parse();
             } elseif ($field['type'] == 'heading') {
                 $item['html'] = '<h3>' . $values . '</h3>';
             } elseif ($field['type'] == 'paragraph') {
                 $item['html'] = $values;
             } elseif ($field['type'] == 'submit') {
                 $item['html'] = $values;
             }
             // add to list
             $this->fieldsHTML[] = $item;
         }
     }
 }