X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=src%2FWallabag%2FCoreBundle%2FRepository%2FEntryRepository.php;h=702646fe9e2cce4c919ae19a093401cc7b12311a;hb=refs%2Fheads%2Fadd-random-article;hp=6941eaeeb6e738fadd545e331116c22e2259fa4d;hpb=60e919b8e218d118d04b797fc98cb2023a18e3b7;p=github%2Fwallabag%2Fwallabag.git diff --git a/src/Wallabag/CoreBundle/Repository/EntryRepository.php b/src/Wallabag/CoreBundle/Repository/EntryRepository.php index 6941eaee..702646fe 100644 --- a/src/Wallabag/CoreBundle/Repository/EntryRepository.php +++ b/src/Wallabag/CoreBundle/Repository/EntryRepository.php @@ -431,7 +431,7 @@ class EntryRepository extends EntityRepository * Returns a random entry, filtering by status. * * @param $userId - * @param string $status can be unread, archive or starred + * @param string $type can be unread, archive, starred, etc * * @throws \Doctrine\ORM\NoResultException * @throws \Doctrine\ORM\NonUniqueResultException @@ -440,26 +440,25 @@ class EntryRepository extends EntityRepository * * @return Entry */ - public function getRandomEntry($userId, $status = '') + public function getRandomEntry($userId, $type = '') { $qb = $this->getQueryBuilderByUser($userId) ->select('MIN(e.id)', 'MAX(e.id)'); - if ('unread' === $status) { - $qb->andWhere('e.isArchived = false'); - } - - if ('archive' === $status) { - $qb->andWhere('e.isArchived = true'); - } - - if ('starred' === $status) { - $qb->andWhere('e.isStarred = true'); - } - - if ('untagged' === $status) { - $qb->leftJoin('e.tags', 't'); - $qb->andWhere('t.id is null'); + switch ($type) { + case 'unread': + $qb->andWhere('e.isArchived = false'); + break; + case 'archive': + $qb->andWhere('e.isArchived = true'); + break; + case 'starred': + $qb->andWhere('e.isStarred = true'); + break; + case 'untagged': + $qb->leftJoin('e.tags', 't'); + $qb->andWhere('t.id is null'); + break; } $idLimits = $qb