Example #1
0
 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));
     }
 }