summaryrefslogtreecommitdiff
path: root/app/Models
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2013-12-25 17:37:52 +0100
committerGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2013-12-25 17:37:52 +0100
commit06d4b8d10247146d9c6f7c78ff9fc584438dd8fe (patch)
treec85a0f839df94ef77a168ce0865586e9f03372af /app/Models
parenta4b890b67fb4d97c97a2b1b455c327ce4b905194 (diff)
Option globale pour la taille minimale de l'historique par défaut
Plus une réorganisation des options
Diffstat (limited to 'app/Models')
-rw-r--r--app/Models/Configuration.php14
-rw-r--r--app/Models/ConfigurationDAO.php8
-rw-r--r--app/Models/EntryDAO.php8
-rw-r--r--app/Models/Feed.php4
-rw-r--r--app/Models/FeedDAO.php4
5 files changed, 29 insertions, 9 deletions
diff --git a/app/Models/Configuration.php b/app/Models/Configuration.php
index d5f69601f..47509636f 100644
--- a/app/Models/Configuration.php
+++ b/app/Models/Configuration.php
@@ -14,6 +14,7 @@ class FreshRSS_Configuration extends Minz_Model {
private $lazyload;
private $sort_order;
private $old_entries;
+ private $keep_history_default;
private $shortcuts = array ();
private $mail_login = '';
private $mark_when = array ();
@@ -44,6 +45,7 @@ class FreshRSS_Configuration extends Minz_Model {
$this->_lazyload ($confDAO->lazyload);
$this->_sortOrder ($confDAO->sort_order);
$this->_oldEntries ($confDAO->old_entries);
+ $this->_keepHistoryDefault($confDAO->keep_history_default);
$this->_shortcuts ($confDAO->shortcuts);
$this->_mailLogin ($confDAO->mail_login);
$this->_markWhen ($confDAO->mark_when);
@@ -95,6 +97,9 @@ class FreshRSS_Configuration extends Minz_Model {
public function oldEntries () {
return $this->old_entries;
}
+ public function keepHistoryDefault() {
+ return $this->keep_history_default;
+ }
public function shortcuts () {
return $this->shortcuts;
}
@@ -217,11 +222,18 @@ class FreshRSS_Configuration extends Minz_Model {
}
public function _oldEntries ($value) {
if (ctype_digit ($value) && $value > 0) {
- $this->old_entries = $value;
+ $this->old_entries = intval($value);
} else {
$this->old_entries = 3;
}
}
+ public function _keepHistoryDefault($value) {
+ if (ctype_digit($value) && $value >= -1) {
+ $this->keep_history_default = intval($value);
+ } else {
+ $this->keep_history_default = 0;
+ }
+ }
public function _shortcuts ($values) {
foreach ($values as $key => $value) {
$this->shortcuts[$key] = $value;
diff --git a/app/Models/ConfigurationDAO.php b/app/Models/ConfigurationDAO.php
index 0eebf2d90..91210e701 100644
--- a/app/Models/ConfigurationDAO.php
+++ b/app/Models/ConfigurationDAO.php
@@ -10,6 +10,7 @@ class FreshRSS_ConfigurationDAO extends Minz_ModelArray {
public $lazyload = 'yes';
public $sort_order = 'DESC';
public $old_entries = 3;
+ public $keep_history_default = 0;
public $shortcuts = array (
'mark_read' => 'r',
'mark_favorite' => 'f',
@@ -62,7 +63,7 @@ class FreshRSS_ConfigurationDAO extends Minz_ModelArray {
$this->language = $this->array['language'];
}
if (isset ($this->array['posts_per_page'])) {
- $this->posts_per_page = $this->array['posts_per_page'];
+ $this->posts_per_page = intval($this->array['posts_per_page']);
}
if (isset ($this->array['view_mode'])) {
$this->view_mode = $this->array['view_mode'];
@@ -83,7 +84,10 @@ class FreshRSS_ConfigurationDAO extends Minz_ModelArray {
$this->sort_order = $this->array['sort_order'];
}
if (isset ($this->array['old_entries'])) {
- $this->old_entries = $this->array['old_entries'];
+ $this->old_entries = intval($this->array['old_entries']);
+ }
+ if (isset ($this->array['keep_history_default'])) {
+ $this->keep_history_default = intval($this->array['keep_history_default']);
}
if (isset ($this->array['shortcuts'])) {
$this->shortcuts = array_merge (
diff --git a/app/Models/EntryDAO.php b/app/Models/EntryDAO.php
index f0207e96d..14d3ddcff 100644
--- a/app/Models/EntryDAO.php
+++ b/app/Models/EntryDAO.php
@@ -260,7 +260,7 @@ class FreshRSS_EntryDAO extends Minz_ModelPdo {
return isset ($entries[0]) ? $entries[0] : false;
}
- public function listWhere($type = 'a', $id = '', $state = 'all', $order = 'DESC', $limit = 1, $firstId = '', $filter = '', $date_min = 0) {
+ public function listWhere($type = 'a', $id = '', $state = 'all', $order = 'DESC', $limit = 1, $firstId = '', $filter = '', $date_min = 0, $keepHistoryDefault = 0) {
$where = '';
$joinFeed = false;
$values = array();
@@ -307,7 +307,11 @@ class FreshRSS_EntryDAO extends Minz_ModelPdo {
$where .= 'AND e1.id ' . ($order === 'DESC' ? '<=' : '>=') . $firstId . ' ';
}
if (($date_min > 0) && ($type !== 's')) {
- $where .= 'AND (e1.id >= ' . $date_min . '000000 OR e1.is_favorite = 1 OR f.keep_history <> 0) ';
+ $where .= 'AND (e1.id >= ' . $date_min . '000000 OR e1.is_favorite = 1 OR (f.keep_history <> 0';
+ if (intval($keepHistoryDefault) === 0) {
+ $where .= ' AND f.keep_history <> -2'; //default
+ }
+ $where .= ')) ';
$joinFeed = true;
}
$search = '';
diff --git a/app/Models/Feed.php b/app/Models/Feed.php
index 5bdf5e6d7..ef554e083 100644
--- a/app/Models/Feed.php
+++ b/app/Models/Feed.php
@@ -15,7 +15,7 @@ class FreshRSS_Feed extends Minz_Model {
private $pathEntries = '';
private $httpAuth = '';
private $error = false;
- private $keep_history = 0;
+ private $keep_history = -2;
public function __construct ($url, $validate=true) {
if ($validate) {
@@ -168,7 +168,7 @@ class FreshRSS_Feed extends Minz_Model {
public function _keepHistory ($value) {
$value = intval($value);
$value = min($value, 1000000);
- $value = max($value, -1);
+ $value = max($value, -2);
$this->keep_history = $value;
}
public function _nbNotRead ($value) {
diff --git a/app/Models/FeedDAO.php b/app/Models/FeedDAO.php
index 7d91a032a..c1d1f24e8 100644
--- a/app/Models/FeedDAO.php
+++ b/app/Models/FeedDAO.php
@@ -2,7 +2,7 @@
class FreshRSS_FeedDAO extends Minz_ModelPdo {
public function addFeed ($valuesTmp) {
- $sql = 'INSERT INTO `' . $this->prefix . 'feed` (url, category, name, website, description, lastUpdate, priority, httpAuth, error, keep_history) VALUES(?, ?, ?, ?, ?, ?, 10, ?, 0, 0)';
+ $sql = 'INSERT INTO `' . $this->prefix . 'feed` (url, category, name, website, description, lastUpdate, priority, httpAuth, error, keep_history) VALUES(?, ?, ?, ?, ?, ?, 10, ?, 0, -2)';
$stm = $this->bd->prepare ($sql);
$values = array (
@@ -326,7 +326,7 @@ class FreshRSS_FeedDAO extends Minz_ModelPdo {
$myFeed->_pathEntries (isset($dao['pathEntries']) ? $dao['pathEntries'] : '');
$myFeed->_httpAuth (isset($dao['httpAuth']) ? base64_decode ($dao['httpAuth']) : '');
$myFeed->_error ($dao['error']);
- $myFeed->_keepHistory (isset($dao['keep_history']) ? $dao['keep_history'] : 0);
+ $myFeed->_keepHistory(isset($dao['keep_history']) ? $dao['keep_history'] : -2);
$myFeed->_nbNotRead ($dao['cache_nbUnreads']);
$myFeed->_nbEntries ($dao['cache_nbEntries']);
if (isset ($dao['id'])) {