diff options
| author | 2018-06-12 21:11:43 +0200 | |
|---|---|---|
| committer | 2018-06-12 21:11:43 +0200 | |
| commit | c0f2df3ef0de33e9b07269f6db887c373e45192e (patch) | |
| tree | 71260e37b7c88c74c7a32cee01f8461a05ce6362 /app/Models | |
| parent | eb3cca60dd346aafc6dfd0c2d25dcd7ce481fdf2 (diff) | |
Fever fixes (#1931)
* Fever fixes
Was hardcoded for MySQL. Bug in "before" parameter. Bug in mark all as
read.
* Fix construct
* Changelog 1930
https://github.com/FreshRSS/FreshRSS/issues/193
https://github.com/FreshRSS/FreshRSS/pull/1931
Diffstat (limited to 'app/Models')
| -rw-r--r-- | app/Models/EntryDAO.php | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/app/Models/EntryDAO.php b/app/Models/EntryDAO.php index a3bca3727..59f826c3e 100644 --- a/app/Models/EntryDAO.php +++ b/app/Models/EntryDAO.php @@ -904,8 +904,8 @@ class FreshRSS_EntryDAO extends Minz_ModelPdo implements FreshRSS_Searchable { } public function countUnreadRead() { - $sql = 'SELECT COUNT(e.id) AS count FROM `' . $this->prefix . 'entry` e INNER JOIN `' . $this->prefix . 'feed` f ON e.id_feed=f.id WHERE priority > 0' - . ' UNION SELECT COUNT(e.id) AS count FROM `' . $this->prefix . 'entry` e INNER JOIN `' . $this->prefix . 'feed` f ON e.id_feed=f.id WHERE priority > 0 AND is_read=0'; + $sql = 'SELECT COUNT(e.id) AS count FROM `' . $this->prefix . 'entry` e INNER JOIN `' . $this->prefix . 'feed` f ON e.id_feed=f.id WHERE f.priority > 0' + . ' UNION SELECT COUNT(e.id) AS count FROM `' . $this->prefix . 'entry` e INNER JOIN `' . $this->prefix . 'feed` f ON e.id_feed=f.id WHERE f.priority > 0 AND e.is_read=0'; $stm = $this->bd->prepare($sql); $stm->execute(); $res = $stm->fetchAll(PDO::FETCH_COLUMN, 0); @@ -914,9 +914,10 @@ class FreshRSS_EntryDAO extends Minz_ModelPdo implements FreshRSS_Searchable { return array('all' => $all, 'unread' => $unread, 'read' => $all - $unread); } public function count($minPriority = null) { - $sql = 'SELECT COUNT(e.id) AS count FROM `' . $this->prefix . 'entry` e INNER JOIN `' . $this->prefix . 'feed` f ON e.id_feed=f.id'; + $sql = 'SELECT COUNT(e.id) AS count FROM `' . $this->prefix . 'entry` e'; if ($minPriority !== null) { - $sql = ' WHERE priority > ' . intval($minPriority); + $sql .= ' INNER JOIN `' . $this->prefix . 'feed` f ON e.id_feed=f.id'; + $sql .= ' WHERE f.priority > ' . intval($minPriority); } $stm = $this->bd->prepare($sql); $stm->execute(); @@ -924,9 +925,13 @@ class FreshRSS_EntryDAO extends Minz_ModelPdo implements FreshRSS_Searchable { return $res[0]; } public function countNotRead($minPriority = null) { - $sql = 'SELECT COUNT(e.id) AS count FROM `' . $this->prefix . 'entry` e INNER JOIN `' . $this->prefix . 'feed` f ON e.id_feed=f.id WHERE is_read=0'; + $sql = 'SELECT COUNT(e.id) AS count FROM `' . $this->prefix . 'entry` e'; if ($minPriority !== null) { - $sql = ' AND priority > ' . intval($minPriority); + $sql .= ' INNER JOIN `' . $this->prefix . 'feed` f ON e.id_feed=f.id'; + } + $sql .= ' WHERE e.is_read=0'; + if ($minPriority !== null) { + $sql .= ' AND f.priority > ' . intval($minPriority); } $stm = $this->bd->prepare($sql); $stm->execute(); |
