public function post_create() { $validation = Pages\Model\Page::validate(Input::all()); if ($validation->passes()) { $is_home_post = Input::get('is_home'); // If post comming from duplicate // we have parend_id and parent_slug $slug = Input::get('slug'); $parent_slug = Input::get('parent_slug'); if (isset($parent_slug) and !empty($parent_slug)) { $slug = $parent_slug . '/' . $slug; } $parent_id = Input::get('parent_id'); $parent_id = $parent_id != 0 ? $parent_id : 0; $restricted_to = Input::get('restricted_to'); if ($restricted_to == null) { $restricted_to = array('0' => '0'); } $restricted_to = implode(',', $restricted_to); $page = new Pages\Model\Page(); $page->parent_id = $parent_id; $page->title = Input::get('title'); $page->slug = $slug; $page->status = Input::get('status'); $page->meta_title = Input::get('meta_title'); $page->meta_keywords = Input::get('meta_keywords'); $page->meta_description = Input::get('meta_description'); $page->body = Input::get('body'); $page->restricted_to = $restricted_to; $page->is_home = (isset($is_home_post) and $is_home_post == 1) ? 1 : 0; $page->strict_uri = Input::get('strict_uri'); $page->save(); // the user want to create a navigation link? $navigation_id = Input::get('navigation_group_id'); if (is_numeric($navigation_id) and $navigation_id != 0) { // If the user want to create a link // for this page, we need to set this // page as live or it will break navigation $page->status = 'live'; $page->save(); $link = new Navigation\Model\Link(); // add a link for this page to the navigation $link->title = Str::title($page->title); $link->link_type = 'page'; $link->page_id = $page->id; $link->group_id = $navigation_id; $link->save(); } $this->data['message'] = Lang::line('pages::lang.Page was successfully created')->get(ADM_LANG); $this->data['message_type'] = 'success'; return Redirect::to(ADM_URI . '/pages')->with($this->data); } else { return Redirect::to(ADM_URI . '/pages/new')->with_errors($validation)->with_input(); } }