]> git.immae.eu Git - github/wallabag/wallabag.git/blobdiff - src/Wallabag/CoreBundle/Controller/ExportController.php
Fixed repository to retrieve articles
[github/wallabag/wallabag.git] / src / Wallabag / CoreBundle / Controller / ExportController.php
index 0d2b15c5238d8cde8becf7ffb16c7899b5bb22a4..824d21bb9fd1b54fe802786e333a58de35c910f4 100644 (file)
@@ -17,7 +17,6 @@ class ExportController extends Controller
     /**
      * Gets one entry content.
      *
-     * @param Entry  $entry
      * @param string $format
      *
      * @Route("/export/{id}.{format}", name="export_entry", requirements={
@@ -48,7 +47,7 @@ class ExportController extends Controller
      *
      * @Route("/export/{category}.{format}", name="export_entries", requirements={
      *     "format": "epub|mobi|pdf|json|xml|txt|csv",
-     *     "category": "all|unread|starred|archive|tag_entries|untagged|search"
+     *     "category": "all|unread|starred|archive|tag_entries|untagged|search|same_domain"
      * })
      *
      * @return \Symfony\Component\HttpFoundation\Response
@@ -58,6 +57,7 @@ class ExportController extends Controller
         $method = ucfirst($category);
         $methodBuilder = 'getBuilderFor' . $method . 'ByUser';
         $repository = $this->get('wallabag_core.entry_repository');
+        $title = $method;
 
         if ('tag_entries' === $category) {
             $tag = $this->get('wallabag_core.tag_repository')->findOneBySlug($request->query->get('tag'));
@@ -66,6 +66,20 @@ class ExportController extends Controller
                 $this->getUser()->getId(),
                 $tag->getId()
             );
+
+            $title = 'Tag ' . $tag->getLabel();
+        } elseif ('search' === $category) {
+            $searchTerm = (isset($request->get('search_entry')['term']) ? $request->get('search_entry')['term'] : '');
+            $currentRoute = (null !== $request->query->get('currentRoute') ? $request->query->get('currentRoute') : '');
+
+            $entries = $repository->getBuilderForSearchByUser(
+                    $this->getUser()->getId(),
+                    $searchTerm,
+                    $currentRoute
+            )->getQuery()
+             ->getResult();
+
+            $title = 'Search ' . $searchTerm;
         } else {
             $entries = $repository
                 ->$methodBuilder($this->getUser()->getId())
@@ -76,7 +90,7 @@ class ExportController extends Controller
         try {
             return $this->get('wallabag_core.helper.entries_export')
                 ->setEntries($entries)
-                ->updateTitle($method)
+                ->updateTitle($title)
                 ->updateAuthor($method)
                 ->exportAs($format);
         } catch (\InvalidArgumentException $e) {