private function _add() { $data = $_POST['page']; Flash::set('post_data', (object) $data); if (empty($data['title'])) { Flash::set('error', __('You have to specify a title!')); redirect(get_url('page/add')); } $page = new Page($data); // save page data if ($page->save()) { // get data from user $data_parts = $_POST['part']; Flash::set('post_parts_data', (object) $data_parts); foreach ($data_parts as $data) { $data['page_id'] = $page->id; $data['name'] = trim($data['name']); $page_part = new PagePart($data); $page_part->save(); } // save tags $page->saveTags($_POST['page_tag']['tags']); Flash::set('success', __('Page has been saved!')); /* Successfully saved so notify. */ Observer::notify('page_add_after_save', $page); } else { Flash::set('error', __('Page has not been saved!')); redirect(get_url('page/add')); } // save and quit or save and continue editing ? if (isset($_POST['commit'])) { redirect(get_url('page')); } else { redirect(get_url('page/edit/' . $page->id)); } }