/**
  * @param EntryStoreRequest $request
  * @return \Illuminate\Http\RedirectResponse
  */
 public function store(EntryStoreRequest $request)
 {
     $input = $request->only(['title', 'body']);
     $input['user_id'] = $this->guard->user()->id;
     $this->entry->addEntry($input);
     return redirect()->route('admin.entry.index');
 }
 /**
  * @param \Illuminate\Http\Request $request
  * @param \Closure                 $next
  * 
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     $result = $this->entry->getEntryAbility($request->route()->getParameter('entry'));
     if (!$result) {
         return redirect()->route('admin.entry.index')->with('message', '投稿者以外は編集できません');
     }
     return $next($request);
 }
 /**
  * Handle an incoming request.
  *
  * @param         $request
  * @param Closure $next
  * @param string  $for
  *
  * @return \Illuminate\Http\RedirectResponse
  */
 public function handle($request, Closure $next, $for = 'admin')
 {
     if (!$this->entry->getEntry($request->route()->getParameter('entry'))) {
         $route = $this->redirectToAdmin;
         if ($for !== 'admin') {
             $route = $this->redirectTo;
         }
         return redirect()->route($route);
     }
     return $next($request);
 }
 /**
  * @param $id
  *
  * @return \Illuminate\View\View
  */
 public function show($id)
 {
     $attributes = ['entry' => $this->entry->getEntry($id), 'comments' => $this->comment->getCommentsByEntry($id)];
     return view('entry.show', $attributes);
 }