29 public function index(Request $request) |
29 public function index(Request $request) |
30 { |
30 { |
31 $perPage = intval($request->input('perpage', config('corpusparole.documents_per_page'))); |
31 $perPage = intval($request->input('perpage', config('corpusparole.documents_per_page'))); |
32 |
32 |
33 $filters = []; |
33 $filters = []; |
34 $languages = $request->input('language', []); |
34 |
|
35 $languages = CorpusFilterManager::prepareLanguages($request->input('language', [])); |
35 if(!empty($languages)) { |
36 if(!empty($languages)) { |
36 $filters['language'] = CorpusFilterManager::prepareLanguages($languages); |
37 $filters['language'] = $languages; |
37 } |
38 } |
|
39 |
|
40 $location = CorpusFilterManager::prepareLocation($request->input('location', '')); |
|
41 if(!empty($location)) { |
|
42 $filters['location'] = $location; |
|
43 } |
|
44 |
|
45 $themes = CorpusFilterManager::prepareTheme($request->input('theme', [])); |
|
46 if(!empty($themes)) { |
|
47 $filters['themes'] = $themes; |
|
48 } |
|
49 |
|
50 $discourses = CorpusFilterManager::prepareDiscourse($request->input('discourse', [])); |
|
51 if(!empty($discourses)) { |
|
52 $filters['discourses'] = $discourses; |
|
53 } |
|
54 |
38 $sort = $request->input('sort', null); |
55 $sort = $request->input('sort', null); |
39 |
56 |
40 $paginator = $this->documentRepository->paginate($filters, $perPage, config('corpusparole.pagination_page_param'), null, $sort); |
57 $paginator = $this->documentRepository->paginate($filters, $perPage, config('corpusparole.pagination_page_param'), null, $sort); |
41 |
58 |
42 $res = $paginator->toArray(); |
59 $res = $paginator->toArray(); |