+ // check for existing entry, if it exists, redirect to it with a message
+ $existingEntry = $this->get('wallabag_core.entry_repository')->findByUrlAndUserId($entry->getUrl(), $this->getUser()->getId());
+
+ if (false !== $existingEntry) {
+ $this->get('session')->getFlashBag()->add(
+ 'notice',
+ 'Entry already saved on '.$existingEntry['createdAt']->format('d-m-Y')
+ );
+
+ return $this->redirect($this->generateUrl('view', array('id' => $existingEntry['id'])));
+ }
+
+ $this->updateEntry($entry);
+ $this->get('session')->getFlashBag()->add(
+ 'notice',
+ 'Entry saved'
+ );
+
+ return $this->redirect($this->generateUrl('homepage'));
+ }
+
+ return $this->render('WallabagCoreBundle:Entry:new_form.html.twig', array(
+ 'form' => $form->createView(),
+ ));
+ }
+
+ /**
+ * @param Request $request
+ *
+ * @Route("/bookmarklet", name="bookmarklet")
+ *
+ * @return \Symfony\Component\HttpFoundation\Response
+ */
+ public function addEntryViaBookmarklet(Request $request)
+ {
+ $entry = new Entry($this->getUser());
+ $entry->setUrl($request->get('url'));
+ $this->updateEntry($entry);
+
+ return $this->redirect($this->generateUrl('homepage'));
+ }