]> git.immae.eu Git - github/wallabag/wallabag.git/blobdiff - src/Wallabag/ImportBundle/Controller/BrowserController.php
bring chrome and firefox as separate imports
[github/wallabag/wallabag.git] / src / Wallabag / ImportBundle / Controller / BrowserController.php
index 3b54a72e86d1a69e205e0dc400c4e6dfdefaaee7..144a4880d1375e0ab39aec3a4177b3175ad2e2d0 100644 (file)
@@ -8,27 +8,21 @@ use Symfony\Component\HttpFoundation\Request;
 use Symfony\Component\HttpFoundation\Response;
 use Wallabag\ImportBundle\Form\Type\UploadImportType;
 
-class BrowserController extends Controller
+abstract class BrowserController extends Controller
 {
     /**
      * Return the service to handle the import.
      *
      * @return \Wallabag\ImportBundle\Import\ImportInterface
      */
-    protected function getImportService()
-    {
-        return $this->get('wallabag_import.browser.import');
-    }
+    abstract protected function getImportService();
 
      /**
       * Return the template used for the form.
       *
       * @return string
       */
-     protected function getImportTemplate()
-     {
-         return 'WallabagImportBundle:Browser:index.html.twig';
-     }
+     abstract protected function getImportTemplate();
 
     /**
      * @Route("/browser", name="import_browser")
@@ -43,15 +37,15 @@ class BrowserController extends Controller
         $form->handleRequest($request);
 
         $wallabag = $this->getImportService();
+        $wallabag->setUser($this->getUser());
 
         if ($form->isValid()) {
             $file = $form->get('file')->getData();
             $markAsRead = $form->get('mark_as_read')->getData();
             $name = $this->getUser()->getId().'.json';
 
-            if (in_array($file->getClientMimeType(), $this->getParameter('wallabag_import.allow_mimetypes')) && $file->move($this->getParameter('wallabag_import.resource_dir'), $name)) {
+            if (null !== $file && in_array($file->getClientMimeType(), $this->getParameter('wallabag_import.allow_mimetypes')) && $file->move($this->getParameter('wallabag_import.resource_dir'), $name)) {
                 $res = $wallabag
-                    ->setUser($this->getUser())
                     ->setFilepath($this->getParameter('wallabag_import.resource_dir').'/'.$name)
                     ->setMarkAsRead($markAsRead)
                     ->import();
@@ -60,12 +54,17 @@ class BrowserController extends Controller
 
                 if (true === $res) {
                     $summary = $wallabag->getSummary();
-                    // TODO : Pluralize these messages
                     $message = $this->get('translator')->trans('flashes.import.notice.summary', [
                         '%imported%' => $summary['imported'],
                         '%skipped%' => $summary['skipped'],
                     ]);
 
+                    if (0 < $summary['queued']) {
+                        $message = $this->get('translator')->trans('flashes.import.notice.summary_with_queue', [
+                            '%queued%' => $summary['queued'],
+                        ]);
+                    }
+
                     unlink($this->getParameter('wallabag_import.resource_dir').'/'.$name);
                 }