3 namespace Wallabag\CoreBundle\Repository
;
5 use Doctrine\ORM\Query
;
6 use Doctrine\ORM\EntityRepository
;
7 use Doctrine\ORM\Tools\Pagination\Paginator
;
8 use Wallabag\CoreBundle\Entity\Entries
;
9 use Wallabag\CoreBundle\Service\Extractor
;
11 class EntriesRepository
extends EntityRepository
14 * Retrieves unread entries for a user
18 * @param int $maxResults
21 public function findUnreadByUser($userId, $firstResult, $maxResults = 12)
23 $qb = $this->createQueryBuilder('e')
25 ->setFirstResult($firstResult)
26 ->setMaxResults($maxResults)
27 ->where('e.isRead = 0')
28 ->andWhere('e.userId =:userId')->setParameter('userId', $userId)
31 $paginator = new Paginator($qb);
37 * Retrieves read entries for a user
41 * @param int $maxResults
44 public function findArchiveByUser($userId, $firstResult, $maxResults = 12)
46 $qb = $this->createQueryBuilder('e')
48 ->setFirstResult($firstResult)
49 ->setMaxResults($maxResults)
50 ->where('e.isRead = 1')
51 ->andWhere('e.userId =:userId')->setParameter('userId', $userId)
54 $paginator = new Paginator($qb);
60 * Retrieves starred entries for a user
64 * @param int $maxResults
67 public function findStarredByUser($userId, $firstResult, $maxResults = 12)
69 $qb = $this->createQueryBuilder('e')
71 ->setFirstResult($firstResult)
72 ->setMaxResults($maxResults)
73 ->where('e.isFav = 1')
74 ->andWhere('e.userId =:userId')->setParameter('userId', $userId)
77 $paginator = new Paginator($qb);
82 public function findEntries($userId, $isArchived, $isStarred, $isDeleted, $sort, $order)
84 //TODO tous les paramètres ne sont pas utilisés, à corriger
85 $qb = $this->createQueryBuilder('e')
87 ->where('e.isFav =:isStarred')->setParameter('isStarred', $isStarred)
88 ->andWhere('e.isRead =:isArchived')->setParameter('isArchived', $isArchived)
89 ->andWhere('e.userId =:userId')->setParameter('userId', $userId)
91 ->getResult(Query
::HYDRATE_ARRAY
);