/**
  * تابعی برای نمایش پستها به صورت لیست بر اساس برچسب پست
  * @param  String $tag
  * @return view
  */
 public function listPostsByTag($tag)
 {
     $posts = $this->PostRepository->lists($this->nbrPages, $tag);
     $links = $posts->render();
     $newPostsList = $this->PostRepository->newPostsList($this->nbrPages);
     $mostLikePostsList = $this->PostRepository->mostLikePostsList($this->nbrPages);
     return view('layout.ListPosts', compact('newPostsList', 'mostLikePostsList', 'tag', 'posts', 'links'));
 }
 /**
  * نمایش داشبورد ادمین
  *
  * @param  App\Repositories\PostRepository $PostRepository
  * @param  App\Repositories\CommentRepository $CommentRepository
  * @return Response
  */
 public function Index(PostRepository $PostRepository, CommentRepository $CommentRepository)
 {
     $nbrPosts = $PostRepository->getNumber();
     $nbrComments = $CommentRepository->getNumber();
     $posts = $PostRepository->lists($this->nbrPages);
     $links = $posts->setPath('')->render();
     return view('admin.DashBoard', compact('posts', 'links', 'nbrPosts', 'nbrComments'));
 }
 /**
  * نمایش لیست پستها
  *
  * @param  Illuminate\Http\Request $request
  * @return Response
  */
 public function posts(Request $request)
 {
     $nbrPosts = $this->PostRepository->getNumber();
     $nbrComments = $this->CommentRepository->getNumber();
     $nbrTags = $this->PostRepository->getTags();
     $tag = $request->tag;
     $page = 1;
     if (isset($request->page)) {
         $page = $request->page;
     }
     if ($tag == "all") {
         $tag = NULL;
     }
     $posts = $this->PostRepository->lists(10, $tag, $request->name, $request->sens, $request->active == 'true');
     $links = $posts->appends(['name' => $request->name, 'sens' => $request->sens, 'tag' => $request->tag, 'active' => $request->active]);
     if ($request->ajax()) {
         return response()->json(['view' => view('admin.Post.AjaxPostsList', compact('posts'))->render(), 'links' => $links->setPath('order')->render()]);
     }
     $links->setPath('')->render();
     $order = (object) ['name' => $request->name, 'sens' => 'sort-' . $request->sens, 'tag' => $request->tag, 'active' => $request->active];
     return view('admin.Post.Posts', compact('nbrPosts', 'nbrComments', 'nbrTags', 'posts', 'links', 'order', 'page'));
 }