take(20)->get(); return Helper::makeFeed($articles, "new"); } public function popular() { $articles = new Article; $articles = $articles->setTable('view_popular'); $articles = $articles->take(20)->get(); return Helper::makeFeed($articles, "popular"); } public function search(Request $request) { $search_unsafe = $request->input("q"); if ( "" == $search_unsafe ) { $search_unsafe = ""; } $search_unsafe = explode(",", $request->input("q")); $articles = new Article; if ( "on" == $request->input("onlypopular") ) { $articles = $articles->setTable('view_popular'); } foreach($search_unsafe as $q) { $q = Helper::escapeLike($q); $q = "%".$q."%"; $articles = $articles->where(function ($query) use ($q) { $query->whereHas('getCategories', function ($query) use ($q){ $query->where('name', 'like', $q); }) ->orWhere('title', 'like', $q) ->orWhere('url', 'like', $q) ->orWhere('excerpt_html', 'like', $q); }); } $count = $articles->count(); if ( "on" == $request->input("onlypopular") ) { $articles = $articles->orderBy('impact', 'desc'); } $articles = $articles->orderBy('created_at', 'desc'); return Helper::makeFeed($articles->take(20)->get(), $request->input("q")); } }