summaryrefslogtreecommitdiff
path: root/app/Models
diff options
context:
space:
mode:
authorGravatar plopoyop <clement@iMac-de-Clement.local> 2014-09-24 20:06:34 +0200
committerGravatar plopoyop <clement@iMac-de-Clement.local> 2014-09-24 20:06:34 +0200
commitc446625c7f6eda76b03fdac228b2f7b4ded74130 (patch)
tree42ab49b32804eeca003dfe69d6456ecf732b8fb1 /app/Models
parentffbfbb92cc89c5ae07e0a28ee3477fcd0c44505d (diff)
parenta12d90d85d86c168a6e8a13345f05897f17958a4 (diff)
Merge remote-tracking branch 'upstream/dev' into dev
Diffstat (limited to 'app/Models')
-rw-r--r--app/Models/Configuration.php12
-rw-r--r--app/Models/Entry.php3
-rw-r--r--app/Models/EntryDAO.php5
-rw-r--r--app/Models/StatsDAO.php9
-rw-r--r--app/Models/StatsDAOSQLite.php1
-rw-r--r--app/Models/Themes.php1
6 files changed, 24 insertions, 7 deletions
diff --git a/app/Models/Configuration.php b/app/Models/Configuration.php
index f94d82402..91d2ab846 100644
--- a/app/Models/Configuration.php
+++ b/app/Models/Configuration.php
@@ -124,6 +124,16 @@ class FreshRSS_Configuration {
return $this->available_languages;
}
+ public function remove_query_by_get($get) {
+ $final_queries = array();
+ foreach ($this->queries as $key => $query) {
+ if (empty($query['get']) || $query['get'] !== $get) {
+ $final_queries[$key] = $query;
+ }
+ }
+ $this->_queries($final_queries);
+ }
+
public function _language($value) {
if (!isset($this->available_languages[$value])) {
$value = 'en';
@@ -147,7 +157,7 @@ class FreshRSS_Configuration {
// left blank on purpose
case FreshRSS_Entry::STATE_NOT_READ:
// left blank on purpose
- case FreshRSS_Entry::STATE_NOT_READ_STRICT:
+ case FreshRSS_Entry::STATE_STRICT + FreshRSS_Entry::STATE_NOT_READ:
$this->data['default_view'] = $value;
break;
default:
diff --git a/app/Models/Entry.php b/app/Models/Entry.php
index 5f1c8abc4..9d7dd5dc4 100644
--- a/app/Models/Entry.php
+++ b/app/Models/Entry.php
@@ -6,8 +6,7 @@ class FreshRSS_Entry extends Minz_Model {
const STATE_NOT_READ = 2;
const STATE_FAVORITE = 4;
const STATE_NOT_FAVORITE = 8;
- const STATE_READ_STRICT = 16;
- const STATE_NOT_READ_STRICT = 32;
+ const STATE_STRICT = 16;
private $id = 0;
private $guid;
diff --git a/app/Models/EntryDAO.php b/app/Models/EntryDAO.php
index dee49212d..c1f87ee34 100644
--- a/app/Models/EntryDAO.php
+++ b/app/Models/EntryDAO.php
@@ -333,14 +333,13 @@ class FreshRSS_EntryDAO extends Minz_ModelPdo {
if ($state & FreshRSS_Entry::STATE_NOT_READ) {
if (!($state & FreshRSS_Entry::STATE_READ)) {
$where .= 'AND e1.is_read=0 ';
+ } elseif ($state & FreshRSS_Entry::STATE_STRICT) {
+ $where .= 'AND e1.is_read=0 ';
}
}
elseif ($state & FreshRSS_Entry::STATE_READ) {
$where .= 'AND e1.is_read=1 ';
}
- elseif ($state & FreshRSS_Entry::STATE_NOT_READ_STRICT) {
- $where .= 'AND e1.is_read=0 ';
- }
if ($state & FreshRSS_Entry::STATE_FAVORITE) {
if (!($state & FreshRSS_Entry::STATE_NOT_FAVORITE)) {
$where .= 'AND e1.is_favorite=1 ';
diff --git a/app/Models/StatsDAO.php b/app/Models/StatsDAO.php
index bd4271ba8..40505ab3e 100644
--- a/app/Models/StatsDAO.php
+++ b/app/Models/StatsDAO.php
@@ -209,8 +209,14 @@ SQL;
$date_max = new \DateTime();
$date_max->setTimestamp($res['date_max']);
$interval = $date_max->diff($date_min, true);
+ $interval_in_days = $interval->format('%a');
+ if ($interval_in_days <= 0) {
+ // Surely only one article.
+ // We will return count / (period/period) == count.
+ $interval_in_days = $period;
+ }
- return round($res['count'] / ($interval->format('%a') / ($period)), 2);
+ return round($res['count'] / ($interval_in_days / $period), 2);
}
/**
@@ -309,6 +315,7 @@ SQL;
SELECT MAX(f.id) as id
, MAX(f.name) AS name
, MAX(date) AS last_date
+, COUNT(*) AS nb_articles
FROM {$this->prefix}feed AS f,
{$this->prefix}entry AS e
WHERE f.id = e.id_feed
diff --git a/app/Models/StatsDAOSQLite.php b/app/Models/StatsDAOSQLite.php
index 6cb54ddf6..3b1256de1 100644
--- a/app/Models/StatsDAOSQLite.php
+++ b/app/Models/StatsDAOSQLite.php
@@ -53,6 +53,7 @@ SQL;
$stm->execute();
$res = $stm->fetchAll(PDO::FETCH_NAMED);
+ $repartition = array();
foreach ($res as $value) {
$repartition[(int) $value['period']] = (int) $value['count'];
}
diff --git a/app/Models/Themes.php b/app/Models/Themes.php
index 538eb6554..68fc17a2b 100644
--- a/app/Models/Themes.php
+++ b/app/Models/Themes.php
@@ -96,6 +96,7 @@ class FreshRSS_Themes extends Minz_Model {
'search' => '🔍',
'share' => '♺',
'starred' => '★',
+ 'stats' => '%',
'tag' => '⚐',
'up' => '△',
'view-normal' => '☰',