aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Wallabag/CoreBundle
diff options
context:
space:
mode:
authorNicolas LÅ“uillet <nicolas@loeuillet.org>2016-07-01 10:35:45 +0200
committerGitHub <noreply@github.com>2016-07-01 10:35:45 +0200
commit9dbd3e93028630ca808042387e88304020c80c73 (patch)
treec79b5cd53b9c2b1a2463d2809cc059fe7d74a65c /src/Wallabag/CoreBundle
parenta314b920bf20feedbeee6ce0432be89901091481 (diff)
parent4f0558a0d43b3d0bbd661c06568257a91836fa91 (diff)
downloadwallabag-9dbd3e93028630ca808042387e88304020c80c73.tar.gz
wallabag-9dbd3e93028630ca808042387e88304020c80c73.tar.zst
wallabag-9dbd3e93028630ca808042387e88304020c80c73.zip
Merge pull request #2174 from wallabag/api-filter-tags
Add filter for tags on API
Diffstat (limited to 'src/Wallabag/CoreBundle')
-rw-r--r--src/Wallabag/CoreBundle/Repository/EntryRepository.php9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/Wallabag/CoreBundle/Repository/EntryRepository.php b/src/Wallabag/CoreBundle/Repository/EntryRepository.php
index 4b607c81..b543c5ae 100644
--- a/src/Wallabag/CoreBundle/Repository/EntryRepository.php
+++ b/src/Wallabag/CoreBundle/Repository/EntryRepository.php
@@ -95,9 +95,10 @@ class EntryRepository extends EntityRepository
95 * 95 *
96 * @return array 96 * @return array
97 */ 97 */
98 public function findEntries($userId, $isArchived = null, $isStarred = null, $sort = 'created', $order = 'ASC', $since = 0) 98 public function findEntries($userId, $isArchived = null, $isStarred = null, $sort = 'created', $order = 'ASC', $since = 0, $tags = '')
99 { 99 {
100 $qb = $this->createQueryBuilder('e') 100 $qb = $this->createQueryBuilder('e')
101 ->leftJoin('e.tags', 't')
101 ->where('e.user =:userId')->setParameter('userId', $userId); 102 ->where('e.user =:userId')->setParameter('userId', $userId);
102 103
103 if (null !== $isArchived) { 104 if (null !== $isArchived) {
@@ -112,6 +113,12 @@ class EntryRepository extends EntityRepository
112 $qb->andWhere('e.updatedAt > :since')->setParameter('since', new \DateTime(date('Y-m-d H:i:s', $since))); 113 $qb->andWhere('e.updatedAt > :since')->setParameter('since', new \DateTime(date('Y-m-d H:i:s', $since)));
113 } 114 }
114 115
116 if ('' !== $tags) {
117 foreach (explode(',', $tags) as $tag) {
118 $qb->andWhere('t.label = :label')->setParameter('label', $tag);
119 }
120 }
121
115 if ('created' === $sort) { 122 if ('created' === $sort) {
116 $qb->orderBy('e.id', $order); 123 $qb->orderBy('e.id', $order);
117 } elseif ('updated' === $sort) { 124 } elseif ('updated' === $sort) {