X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=src%2FWallabag%2FCoreBundle%2FRepository%2FEntryRepository.php;h=87e34dc997c50fbea9d7864290f554d3d236983f;hb=cfc90f8422fc6ff2625bd338afe8fbf18f917e95;hp=b8e22eb833a4bea43150eb2c660cac900a4207ff;hpb=5a4bbcc9a76fcdf54a6af25fcf7b26c9053a0ba3;p=github%2Fwallabag%2Fwallabag.git diff --git a/src/Wallabag/CoreBundle/Repository/EntryRepository.php b/src/Wallabag/CoreBundle/Repository/EntryRepository.php index b8e22eb8..87e34dc9 100644 --- a/src/Wallabag/CoreBundle/Repository/EntryRepository.php +++ b/src/Wallabag/CoreBundle/Repository/EntryRepository.php @@ -122,6 +122,8 @@ class EntryRepository extends EntityRepository /** * Fetch an entry with a tag. Only used for tests. * + * @param int $userId + * * @return Entry */ public function findOneWithTags($userId) @@ -233,19 +235,35 @@ class EntryRepository extends EntityRepository * * @return array|bool */ - public function existByUrlAndUserId($url, $userId) + public function findByUrlAndUserId($url, $userId) { $res = $this->createQueryBuilder('e') - ->select('e.id, e.createdAt') ->where('e.url = :url')->setParameter('url', $url) ->andWhere('e.user = :user_id')->setParameter('user_id', $userId) ->getQuery() ->getResult(); - if (count($res) > 1) { - return next($res); + if (count($res)) { + return current($res); } return false; } + + /** + * Count all entries for a user. + * + * @param int $userId + * + * @return int + */ + public function countAllEntriesByUsername($userId) + { + $qb = $this->createQueryBuilder('e') + ->select('count(e)') + ->where('e.user=:userId')->setParameter('userId', $userId) + ; + + return $qb->getQuery()->getSingleScalarResult(); + } }