getDoctrine()->getRepository('WallabagCoreBundle:Entry'); switch ($category) { case 'all': $method = 'All'; break; case 'unread': $method = 'Unread'; break; case 'starred': $method = 'Starred'; break; case 'archive': $method = 'Archive'; break; default: break; } $methodBuilder = 'getBuilderFor'.$method.'ByUser'; $qb = $repository->$methodBuilder($this->getUser()->getId()); $entries = $qb->getQuery()->getResult(); $export = new EntriesExport($entries); $export->setMethod($method); $export->exportAs($format); } /** * Gets one entry content. * * @param Entry $entry * * @Route("/export/id/{id}.{format}", requirements={"id" = "\d+"}, name="ebook_entry") */ public function getEntryAction(Entry $entry, $format) { $export = new EntriesExport(array($entry)); $export->setMethod('entry'); $export->exportAs($format); } }