public function getCategoryArticles(Request $request, $category_id) { $user_id = \Auth::user()->id; $category = \p4\Category::where("id", $category_id)->first(); # Submit a SQL statement for efficiency which retrieves the sorted list of articles for the logged in user $sql = "SELECT \n a.id,\n a.feed_id,\n u.feed_name,\n a.article_guid,\n a.title,\n a.article_text,\n a.author,\n a.url,\n a.publish_date,\n a.created_at,\n a.updated_at\n FROM \n articles a INNER JOIN feeds f ON f.id = a.feed_id INNER JOIN feed_user u ON u.feed_id = f.id\n WHERE\n u.category_id = " . $category_id . " AND\n a.id NOT IN (select article_id FROM article_user where user_id = " . $user_id . " and marked_as_read = 1)\n ORDER BY \n u.weight * (12/(Hour(TimeDiff(a.publish_date,NOW())))) DESC"; $items = \DB::select(\DB::raw($sql)); $article_count = count($items); # Pagination needs to be done manually with raw SQL queries $page = $request->input('page', 1); $articles = $this->setupPagination($items, $page, env('PAGE_SIZE', 50)); $articles->setPath('/Category/' . $category_id); return view('articles', ['title' => "All articles for " . $category->name . " (" . $article_count . " articles)", 'articles' => $articles, 'user_id' => $user_id]); }
public static function setSessionFeeds($user_id) { # Set Feeds for this user in the Session Variable $feeds = \p4\UserFeed::where('user_id', '=', $user_id)->orderby('weight', 'DESC')->get(); $tags = \p4\Tag::where('user_id', '=', $user_id)->orderby('weight', 'DESC')->get(); $categories = \p4\Category::where('user_id', '=', $user_id)->orderby('weight', 'DESC')->get(); foreach ($feeds as $f) { $f->stats = $f->get_stats(); } foreach ($tags as $t) { $t->stats = $t->get_stats(); } \Session::forget('myfeeds'); \Session::forget('mytags'); \Session::forget('categories'); \Session::push('myfeeds', $feeds); \Session::push('mytags', $tags); \Session::push('categories', $categories); }
public function getRemoveCategory(Request $request, $category_id) { $user_id = \Auth::user()->id; echo $category_id; \p4\Category::where('id', '=', $category_id)->where('user_id', '=', $user_id)->delete(); \p4\User::setSessionFeeds($user_id); return \Redirect::to('/ManageCategories'); }