Esempio n. 1
0
 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();
     }
 }