<?php namespace Irstea\FileUploadBundle\Controller; use Symfony\Component\HttpFoundation\Request; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template; use Irstea\FileUploadBundle\Entity\UploadedFile; use Pagerfanta\Adapter\DoctrineORMAdapter; use Pagerfanta\Pagerfanta; /** * UploadedFile controller. * * @Route("/files") */ class UploadedFileController extends Controller { /** * Lists all UploadedFile entities. * * @Route("/", name="files") * @Method("GET") * @Template() */ public function indexAction(Request $request) { $em = $this->getDoctrine()->getManager(); $queryBuilder = $em->getRepository('IrsteaFileUploadBundle:UploadedFile') ->createQueryBuilder("u") ->orderBy("u.createdAt", "DESC"); $pager = new Pagerfanta(new DoctrineORMAdapter($queryBuilder)); $pager->setCurrentPage($request->query->get("page", 1)); $uploadedFiles = $pager->getCurrentPageResults(); return [ 'uploadedFiles' => $uploadedFiles, 'pager' => $pager, ]; } /** * Finds and displays a UploadedFile entity. * * @Route("/{id}", name="files_show") * @Method("GET") * @Template() */ public function showAction(UploadedFile $uploadedFile) { return [ 'uploadedFile' => $uploadedFile, ]; } /** * @param string $message * @param array $parameters */ public function notice($message, array $parameters = []) { $this->get('monolog.logger.irstea_logger')->notice($message, $parameters); } }