server/src/app/Http/Controllers/Api/DocumentController.php
changeset 378 5b47eab083f3
parent 376 02f113d43f18
child 502 74fba571487e
equal deleted inserted replaced
377:52169c718513 378:5b47eab083f3
     1 <?php
     1 <?php
     2 
     2 
     3 namespace CorpusParole\Http\Controllers\Api;
     3 namespace CorpusParole\Http\Controllers\Api;
     4 
     4 
     5 use Illuminate\Http\Request;
     5 use Illuminate\Http\Request;
     6 //use Illuminate\Http\Response;
       
     7 
     6 
     8 use CorpusParole\Http\Requests;
     7 use CorpusParole\Http\Requests;
     9 use CorpusParole\Http\Controllers\Controller;
     8 use CorpusParole\Http\Controllers\Controller;
    10 use CorpusParole\Repositories\DocumentRepository;
     9 use CorpusParole\Repositories\DocumentRepository;
    11 use CorpusParole\Services\TranscriptManager;
    10 use CorpusParole\Services\TranscriptManager;
    28      */
    27      */
    29     public function index(Request $request)
    28     public function index(Request $request)
    30     {
    29     {
    31         $perPage = intval($request->input('perpage', config('corpusparole.documents_per_page')));
    30         $perPage = intval($request->input('perpage', config('corpusparole.documents_per_page')));
    32 
    31 
    33         $filters = [];
    32         $filterManager = new CorpusFilterManager();
    34 
    33 
    35         $languages = CorpusFilterManager::prepareLanguages($request->input('language', []));
    34         $filters = $filterManager->prepareFilters($request);
    36         if(!empty($languages)) {
       
    37             $filters['language'] = $languages;
       
    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         $dates = CorpusFilterManager::prepareDate($request->input('date', []));
       
    55         if(!empty($dates)) {
       
    56             $filters['dates'] = $dates;
       
    57         }
       
    58 
    35 
    59         $sort = $request->input('sort', null);
    36         $sort = $request->input('sort', null);
    60 
    37 
    61         $paginator = $this->documentRepository->paginate($filters, $perPage, config('corpusparole.pagination_page_param'), null, $sort);
    38         $paginator = $this->documentRepository->paginate($filters, $perPage, config('corpusparole.pagination_page_param'), null, $sort);
    62 
    39