app/Http/Controllers/ListController.php
public function mediaList(ServerRequestInterface $request, Tree $tree): ResponseInterface
    {
        //route is assumed to be 'module'
        $module = $request->get('module');
        $action = $request->get('action');
        
        $formats = GedcomTag::getFileFormTypes();

        $action2   = $request->get('action2');
        $page      = (int) $request->get('page');
        $max       = (int) $request->get('max', 20);
        $folder    = $request->get('folder', '');
        $filter    = $request->get('filter', '');
        $subdirs   = $request->get('subdirs', '');
        $form_type = $request->get('form_type', '');

        $folders = $this->allFolders($tree);

        if ($action2 === '1') {
            $media_objects = $this->allMedia(
                $tree,
                $folder,
                $subdirs === '1' ? 'include' : 'exclude',
                'title',
                $filter,
                $form_type
            );
        } else {
            $media_objects = [];
        }

        // Pagination
        $count = count($media_objects);
        $pages = (int) (($count + $max - 1) / $max);
        $page  = max(min($page, $pages), 1);

        $media_objects = array_slice($media_objects, ($page - 1) * $max, $max);

        return $this->viewResponse('media-list-page', [
            'count'         => $count,
            'filter'        => $filter,
            'folder'        => $folder,
            'folders'       => $folders,
            'formats'       => $formats,
            'form_type'     => $form_type,
            'max'           => $max,
            'media_objects' => $media_objects,
            'page'          => $page,
            'pages'         => $pages,
            'subdirs'       => $subdirs,
            'title'         => I18N::translate('Media'),
            'module'        => $module,
            'action'        => $action,
        ]);
    }
public function mediaList(ServerRequestInterface $request, Tree $tree): ResponseInterface
    {
        //route is assumed to be 'module'
        $module = $request->get('module');
        $action = $request->get('action');
        
        $formats = GedcomTag::getFileFormTypes();

        $action2   = $request->get('action2');
        $page      = (int) $request->get('page');
        $max       = (int) $request->get('max', 20);
        $folder    = $request->get('folder', '');
        $filter    = $request->get('filter', '');
        $subdirs   = $request->get('subdirs', '');
        $form_type = $request->get('form_type', '');

        $folders = $this->allFolders($tree);

        if ($action2 === '1') {
            $media_objects = $this->allMedia(
                $tree,
                $folder,
                $subdirs === '1' ? 'include' : 'exclude',
                'title',
                $filter,
                $form_type
            );
        } else {
            $media_objects = [];
        }

        // Pagination
        $count = count($media_objects);
        $pages = (int) (($count + $max - 1) / $max);
        $page  = max(min($page, $pages), 1);

        $media_objects = array_slice($media_objects, ($page - 1) * $max, $max);

        return $this->viewResponse('media-list-page', [
            'count'         => $count,
            'filter'        => $filter,
            'folder'        => $folder,
            'folders'       => $folders,
            'formats'       => $formats,
            'form_type'     => $form_type,
            'max'           => $max,
            'media_objects' => $media_objects,
            'page'          => $page,
            'pages'         => $pages,
            'subdirs'       => $subdirs,
            'title'         => I18N::translate('Media'),
            'module'        => $module,
            'action'        => $action,
        ]);
    }
public function mediaList ( ServerRequestInterface $ request , Tree $ tree ) : ResponseInterface { //route is assumed to be 'module' $ module = $ request -> get ( 'module' ) ; $ action = $ request -> get ( 'action' ) ; $ formats = GedcomTag :: getFileFormTypes ( ) ; $ action2 = $ request -> get ( 'action2' ) ; $ page = ( int ) $ request -> get ( 'page' ) ; $ max = ( int ) $ request -> get ( 'max' , 20 ) ; $ folder = $ request -> get ( 'folder' , '' ) ; $ filter = $ request -> get ( 'filter' , '' ) ; $ subdirs = $ request -> get ( 'subdirs' , '' ) ; $ form_type = $ request -> get ( 'form_type' , '' ) ; $ folders = $ this -> allFolders ( $ tree ) ; if ( $ action2 === '1' ) { $ media_objects = $ this -> allMedia ( $ tree , $ folder , $ subdirs === '1' ? 'include' : 'exclude' , 'title' , $ filter , $ form_type ) ; } else { $ media_objects = [ ] ; } // Pagination $ count = count ( $ media_objects ) ; $ pages = ( int ) ( ( $ count + $ max - 1 ) / $ max ) ; $ page = max ( min ( $ page , $ pages ) , 1 ) ; $ media_objects = array_slice ( $ media_objects , ( $ page - 1 ) * $ max , $ max ) ; return $ this -> viewResponse ( 'media-list-page' , [ 'count' => $ count , 'filter' => $ filter , 'folder' => $ folder , 'folders' => $ folders , 'formats' => $ formats , 'form_type' => $ form_type , 'max' => $ max , 'media_objects' => $ media_objects , 'page' => $ page , 'pages' => $ pages , 'subdirs' => $ subdirs , 'title' => I18N :: translate ( 'Media' ) , 'module' => $ module , 'action' => $ action , ] ) ; }
Show a list of all media records.

@param ServerRequestInterface $request
@param Tree                   $tree

@return ResponseInterface
Show a list of all media records .