public function update($section_id) { $section = Section::find($section_id, 'id'); $section->name = $_POST['name']; $section->slug = Functions::URLSafe($_POST['name']); $section->save(); // delete fields not in the POST data foreach ($section->fields() as $field) { $del = true; if (isset($_POST['field-id'])) { for ($f = 1; $f < count($_POST['field-id']); $f++) { if (intval($field->id) == intval($_POST['field-id'][$f])) { $del = false; } } } if ($del) { $field->delete(); } } // add/update fields in the POST data if (count($_POST['field-name']) > 1) { for ($f = 0; $f < count($_POST['field-id']); $f++) { $field = new Field(); $field->id = $_POST['field-id'][$f] != '' ? $_POST['field-id'][$f] : null; $field->section = $section->id; $field->name = $_POST['field-name'][$f]; $field->type = $_POST['field-type'][$f]; $field->order = $_POST['field-order'][$f]; $field->list = $_POST['field-list'][$f]; $field->slug = $_POST['field-slug'][$f]; $field->save(); } } Functions::redirect(Settings::cloutURL() . '/settings/sections/' . $section->id); }
public function __construct() { if (GRAFT_CONFIG['DBHost'] == '' || GRAFT_CONFIG['DBName'] == '' || GRAFT_CONFIG['DBUser'] == '') { die('A database connection is required to run clout.'); } // instance everything so the db gets setup // probably need a better way to do this // in the future #TODO \GraftPHP\Clout\Data::build(); \GraftPHP\Clout\Field::build(); \GraftPHP\Clout\FieldType::build(); \GraftPHP\Clout\Record::build(); \GraftPHP\Clout\Section::build(); \GraftPHP\Clout\User::build(); $this->data['sections'] = Section::all(); }
public function slugField() { return Field::where('section', '=', $this->id)->get()->first(); }