X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=src%2FWallabag%2FApiBundle%2FController%2FEntryRestController.php;h=31bb67fd7d834ed391f08b2c942ca78d6c1056f9;hb=d181bd728565454ec53d960f321ed0a4c3bf26c8;hp=dbff606547c1e59ee96447046bee322d44c7bf35;hpb=69803049688179e1b03ef424dec91f1b9a4f9e91;p=github%2Fwallabag%2Fwallabag.git diff --git a/src/Wallabag/ApiBundle/Controller/EntryRestController.php b/src/Wallabag/ApiBundle/Controller/EntryRestController.php index dbff6065..31bb67fd 100644 --- a/src/Wallabag/ApiBundle/Controller/EntryRestController.php +++ b/src/Wallabag/ApiBundle/Controller/EntryRestController.php @@ -95,12 +95,13 @@ class EntryRestController extends WallabagRestController $tags = $request->query->get('tags', ''); $since = $request->query->get('since', 0); + /** @var \Pagerfanta\Pagerfanta $pager */ $pager = $this->getDoctrine() ->getRepository('WallabagCoreBundle:Entry') ->findEntries($this->getUser()->getId(), $isArchived, $isStarred, $sort, $order, $since, $tags); - $pager->setCurrentPage($page); $pager->setMaxPerPage($perPage); + $pager->setCurrentPage($page); $pagerfantaFactory = new PagerfantaFactory('page', 'perPage'); $paginatedCollection = $pagerfantaFactory->createRepresentation( @@ -296,10 +297,19 @@ class EntryRestController extends WallabagRestController $entry = $this->get('wallabag_core.entry_repository')->findByUrlAndUserId($url, $this->getUser()->getId()); if (false === $entry) { - $entry = $this->get('wallabag_core.content_proxy')->updateEntry( - new Entry($this->getUser()), - $url - ); + $entry = new Entry($this->getUser()); + try { + $entry = $this->get('wallabag_core.content_proxy')->updateEntry( + $entry, + $url + ); + } catch (\Exception $e) { + $this->get('logger')->error('Error while saving an entry', [ + 'exception' => $e, + 'entry' => $entry, + ]); + $entry->setUrl($url); + } } if (!is_null($title)) { @@ -308,7 +318,7 @@ class EntryRestController extends WallabagRestController $tags = $request->request->get('tags', ''); if (!empty($tags)) { - $this->get('wallabag_core.content_proxy')->assignTagsToEntry($entry, $tags); + $this->get('wallabag_core.tags_assigner')->assignTagsToEntry($entry, $tags); } if (!is_null($isStarred)) { @@ -369,7 +379,7 @@ class EntryRestController extends WallabagRestController $tags = $request->request->get('tags', ''); if (!empty($tags)) { - $this->get('wallabag_core.content_proxy')->assignTagsToEntry($entry, $tags); + $this->get('wallabag_core.tags_assigner')->assignTagsToEntry($entry, $tags); } $em = $this->getDoctrine()->getManager(); @@ -487,7 +497,7 @@ class EntryRestController extends WallabagRestController $tags = $request->request->get('tags', ''); if (!empty($tags)) { - $this->get('wallabag_core.content_proxy')->assignTagsToEntry($entry, $tags); + $this->get('wallabag_core.tags_assigner')->assignTagsToEntry($entry, $tags); } $em = $this->getDoctrine()->getManager(); @@ -616,7 +626,7 @@ class EntryRestController extends WallabagRestController $tags = $element->tags; if (false !== $entry && !(empty($tags))) { - $this->get('wallabag_core.content_proxy')->assignTagsToEntry($entry, $tags); + $this->get('wallabag_core.tags_assigner')->assignTagsToEntry($entry, $tags); $em = $this->getDoctrine()->getManager(); $em->persist($entry);