aboutsummaryrefslogtreecommitdiff
path: root/app/Models
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2018-06-12 21:11:43 +0200
committerGravatar GitHub <noreply@github.com> 2018-06-12 21:11:43 +0200
commitc0f2df3ef0de33e9b07269f6db887c373e45192e (patch)
tree71260e37b7c88c74c7a32cee01f8461a05ce6362 /app/Models
parenteb3cca60dd346aafc6dfd0c2d25dcd7ce481fdf2 (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.php17
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();