From 28803f106bd091b5a7540a134cba2545d12d25ea Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Sat, 25 Jun 2016 16:27:38 +0200 Subject: Add filter for tags on API --- src/Wallabag/CoreBundle/Repository/EntryRepository.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/Wallabag/CoreBundle/Repository/EntryRepository.php') diff --git a/src/Wallabag/CoreBundle/Repository/EntryRepository.php b/src/Wallabag/CoreBundle/Repository/EntryRepository.php index 4b607c81..8d2ec9ce 100644 --- a/src/Wallabag/CoreBundle/Repository/EntryRepository.php +++ b/src/Wallabag/CoreBundle/Repository/EntryRepository.php @@ -95,9 +95,10 @@ class EntryRepository extends EntityRepository * * @return array */ - public function findEntries($userId, $isArchived = null, $isStarred = null, $sort = 'created', $order = 'ASC', $since = 0) + public function findEntries($userId, $isArchived = null, $isStarred = null, $sort = 'created', $order = 'ASC', $since = 0, $tags = '') { $qb = $this->createQueryBuilder('e') + ->leftJoin('e.tags', 't') ->where('e.user =:userId')->setParameter('userId', $userId); if (null !== $isArchived) { @@ -110,6 +111,11 @@ class EntryRepository extends EntityRepository if ($since >= 0) { $qb->andWhere('e.updatedAt > :since')->setParameter('since', new \DateTime(date('Y-m-d H:i:s', $since))); + + if ('' !== $tags) { + foreach (explode(',', $tags) as $tag) { + $qb->andWhere('t.label = :label')->setParameter('label', $tag); + } } if ('created' === $sort) { -- cgit v1.2.3 From 4f0558a0d43b3d0bbd661c06568257a91836fa91 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Wed, 29 Jun 2016 20:52:37 +0200 Subject: fix merge issue --- src/Wallabag/CoreBundle/Repository/EntryRepository.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/Wallabag/CoreBundle/Repository/EntryRepository.php') diff --git a/src/Wallabag/CoreBundle/Repository/EntryRepository.php b/src/Wallabag/CoreBundle/Repository/EntryRepository.php index 8d2ec9ce..b543c5ae 100644 --- a/src/Wallabag/CoreBundle/Repository/EntryRepository.php +++ b/src/Wallabag/CoreBundle/Repository/EntryRepository.php @@ -111,7 +111,8 @@ class EntryRepository extends EntityRepository if ($since >= 0) { $qb->andWhere('e.updatedAt > :since')->setParameter('since', new \DateTime(date('Y-m-d H:i:s', $since))); - + } + if ('' !== $tags) { foreach (explode(',', $tags) as $tag) { $qb->andWhere('t.label = :label')->setParameter('label', $tag); -- cgit v1.2.3