7 |
7 |
8 use CorpusParole\Http\Requests; |
8 use CorpusParole\Http\Requests; |
9 use CorpusParole\Http\Controllers\Controller; |
9 use CorpusParole\Http\Controllers\Controller; |
10 use CorpusParole\Repositories\DocumentRepository; |
10 use CorpusParole\Repositories\DocumentRepository; |
11 use CorpusParole\Services\TranscriptManager; |
11 use CorpusParole\Services\TranscriptManager; |
|
12 use CorpusParole\Libraries\Filters\CorpusFilterManager; |
12 |
13 |
13 class DocumentController extends Controller |
14 class DocumentController extends Controller |
14 { |
15 { |
15 /** |
16 /** |
16 * Create a new controller instance. |
17 * Create a new controller instance. |
23 /** |
24 /** |
24 * Display a listing of the resource. |
25 * Display a listing of the resource. |
25 * |
26 * |
26 * @return Response |
27 * @return Response |
27 */ |
28 */ |
28 public function index() |
29 public function index(Request $request) |
29 { |
30 { |
30 $paginator = $this->documentRepository->paginateAll(); |
31 $perPage = intval($request->input('perpage', config('corpusparole.documents_per_page'))); |
|
32 |
|
33 $filters = []; |
|
34 $languages = $request->input('language', []); |
|
35 if(!empty($languages)) { |
|
36 $filters['language'] = CorpusFilterManager::prepareLanguages($languages); |
|
37 } |
|
38 $sort = $request->input('sort', null); |
|
39 |
|
40 $paginator = $this->documentRepository->paginate($filters, $perPage, config('corpusparole.pagination_page_param'), null, $sort); |
|
41 |
31 $res = $paginator->toArray(); |
42 $res = $paginator->toArray(); |
32 if(array_key_exists('data', $res)) { |
43 if(array_key_exists('data', $res)) { |
33 $documents = $res['data']; |
44 $documents = $res['data']; |
34 unset($res['data']); |
45 unset($res['data']); |
35 $res['documents'] = $documents; |
46 } else { |
36 //$res['documents'] = $this->documentRepository->resolveLexvo($documents); |
47 $documents = []; |
37 } |
48 } |
38 return response()->json($res); |
49 return response()->json([ 'documents' => $documents, 'meta' => $res]); |
39 } |
50 } |
40 |
51 |
41 /** |
52 /** |
42 * Show the form for creating a new resource. |
53 * Show the form for creating a new resource. |
43 * |
54 * |
65 * @param string $id |
76 * @param string $id |
66 * @return Response |
77 * @return Response |
67 */ |
78 */ |
68 public function show(Request $request, $id) |
79 public function show(Request $request, $id) |
69 { |
80 { |
70 $id= urldecode($id); |
81 $id = urldecode($id); |
71 $short = filter_var($request->input('short', false), FILTER_VALIDATE_BOOLEAN); |
82 $short = filter_var($request->input('short', false), FILTER_VALIDATE_BOOLEAN); |
72 $doc = $this->documentRepository->get($id, $short); |
83 $doc = $this->documentRepository->get($id, $short); |
73 if(is_null($doc)) { |
84 if(is_null($doc)) { |
74 abort(404); |
85 abort(404); |
75 } |
86 } |