/**
  * Display a listing of the article.
  *
  * @return \Illuminate\Http\Response
  */
 public function archive()
 {
     /*
      * --------------------------------------------------------------------------
      * Filtering article
      * --------------------------------------------------------------------------
      * Populate optional filter on url break down in data, sorting by and sorting
      * method, retrieve the article via archive method.
      */
     $filter_data = Input::has('data') ? Input::get('data') : 'all-data';
     $filter_by = Input::has('by') ? Input::get('by') : 'date';
     $filter_sort = Input::has('sort') ? Input::get('sort') : 'desc';
     $archive = $this->article->archive($filter_data, $filter_by, $filter_sort);
     return view('article.archive', compact('archive'));
 }
 /**
  * Display a listing of the contributor article.
  *
  * @param Request $requests
  * @param $username
  * @return \Illuminate\Http\Response
  */
 public function article(Request $requests, $username)
 {
     $contributor_id = $requests->get('contributor_id');
     $my_article = filter_var($requests->get('my_article'), FILTER_VALIDATE_BOOLEAN);
     if ($my_article) {
         $article = new Article();
         $articles = $article->archive('all-data', 'date', 'desc', $contributor_id);
     } else {
         $articles = $this->contributor->contributorArticle($username);
     }
     $contributor = $this->contributor->profile($username, true, $contributor_id, true);
     return $this->responseData($contributor, 'articles', $articles);
 }
 /**
  * Fetch random article.
  *
  * @return mixed
  */
 public function random()
 {
     $article = new Article();
     $random = $article->archive('all-data', 'view', 'random');
     $data = $this->reduceArticleData($random);
     return response()->json(['request_id' => uniqid(), 'status' => 'success', 'articles' => $data, 'timestamp' => Carbon::now()]);
 }