/** * Save new field * * @param array $fields * @return void */ public function save(array $fields) { if (!empty($fields['group_fields'])) { foreach ($fields['group_fields'] as $k => $v) { if (substr($v, 0, 1) == '_') { $fields['group_fields'][$k] = substr($v, 1); } } } if (!empty($fields['single_fields'])) { foreach ($fields['single_fields'] as $k => $v) { if (substr($v, 0, 1) == '_') { $fields['single_fields'][$k] = substr($v, 1); } } } $view = new Table\Views(['name' => $fields['name'], 'group_fields' => !empty($fields['group_fields']) ? implode('|', $fields['group_fields']) : null, 'group_style' => !empty($fields['group_style']) ? $fields['group_style'] : null, 'group_headers' => isset($_POST['group_headers']) && isset($_POST['group_headers'][0]) ? 1 : 0, 'single_fields' => !empty($fields['single_fields']) ? implode('|', $fields['single_fields']) : null, 'single_style' => !empty($fields['single_style']) ? $fields['single_style'] : null, 'single_headers' => isset($_POST['single_headers']) && isset($_POST['single_headers'][0]) ? 1 : 0, 'models' => serialize($this->getModels())]); $view->save(); $this->data = array_merge($this->data, $view->getColumns()); }