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

getField() public static method

Get a field.
public static getField ( integer $id ) : array
$id integer Id of a field.
return array
    public static function getField($id)
    {
        $field = (array) BackendModel::getContainer()->get('database')->getRecord('SELECT ff.id, ff.form_id, ff.type, ff.settings
             FROM forms_fields AS ff
             WHERE ff.id = ?', (int) $id);
        // unserialize settings
        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 $field;
    }

Usage Example

Esempio n. 1
0
 /**
  * Execute the action
  */
 public function execute()
 {
     parent::execute();
     // get parameters
     $formId = \SpoonFilter::getPostValue('form_id', null, '', 'int');
     $newIdSequence = trim(\SpoonFilter::getPostValue('new_id_sequence', null, '', 'string'));
     // invalid form id
     if (!BackendFormBuilderModel::exists($formId)) {
         $this->output(self::BAD_REQUEST, null, 'form does not exist');
     } else {
         // list id
         $ids = (array) explode('|', rtrim($newIdSequence, '|'));
         // loop id's and set new sequence
         foreach ($ids as $i => $id) {
             $id = (int) $id;
             // get field
             $field = BackendFormBuilderModel::getField($id);
             // from this form and not a submit button
             if (!empty($field) && $field['form_id'] == $formId && $field['type'] != 'submit') {
                 BackendFormBuilderModel::updateField($id, array('sequence' => $i + 1));
             }
         }
         $this->output(self::OK, null, 'sequence updated');
     }
 }
All Usage Examples Of Backend\Modules\FormBuilder\Engine\Model::getField