Backend\Modules\FormBuilder\Engine\Model::getFields PHP Method

getFields() public static method

Get all fields of a form.
public static getFields ( integer $id ) : array
$id integer Id of a form.
return array
    public static function getFields($id)
    {
        $fields = (array) BackendModel::getContainer()->get('database')->getRecords('SELECT ff.id, ff.type, ff.settings
             FROM forms_fields AS ff
             WHERE ff.form_id = ?
             ORDER BY ff.sequence ASC', (int) $id);
        foreach ($fields as &$field) {
            // unserialize
            if ($field['settings'] !== null) {
                $field['settings'] = unserialize($field['settings']);
            }
            // get validation
            $field['validations'] = (array) BackendModel::getContainer()->get('database')->getRecords('SELECT ffv.type, ffv.parameter, ffv.error_message
                 FROM forms_fields_validation AS ffv
                 WHERE ffv.field_id = ?', $field['id'], 'type');
        }
        return $fields;
    }

Usage Example

Exemplo n.º 1
0
 /**
  * Parse the fields
  */
 private function parseFields()
 {
     $fieldsHTML = array();
     // get fields
     $fields = BackendFormBuilderModel::getFields($this->id);
     // loop fields
     foreach ($fields as $field) {
         // submit button
         if ($field['type'] == 'submit') {
             // assign
             $this->tpl->assign('submitId', $field['id']);
             // add field
             $btn = $this->frm->addButton('submit_field', \SpoonFilter::htmlspecialcharsDecode($field['settings']['values']), 'button');
             $btn->setAttribute('disabled', 'disabled');
             // skip
             continue;
         }
         // parse field to html
         $fieldsHTML[]['field'] = FormBuilderHelper::parseField($field);
     }
     // assign iteration
     $this->tpl->assign('fields', $fieldsHTML);
 }