aboutsummaryrefslogtreecommitdiff
path: root/app/Controllers/feedController.php
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2013-12-25 20:58:38 +0100
committerGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2013-12-25 20:58:38 +0100
commit7b4451912e2a9008a49854a2496cf9bb99b7ed10 (patch)
tree99b6c2173bb0b8a528050aac6fab4e633f6be355 /app/Controllers/feedController.php
parent318954dfbd64f7a29203cdb25a95400dea0cec0d (diff)
parent7eda2793bbc3210ae37aa66511fd7ad7661c2149 (diff)
Merge remote-tracking branch 'origin/dev' into beta
Diffstat (limited to 'app/Controllers/feedController.php')
-rwxr-xr-xapp/Controllers/feedController.php27
1 files changed, 14 insertions, 13 deletions
diff --git a/app/Controllers/feedController.php b/app/Controllers/feedController.php
index 27b76dd42..04d0aa98b 100755
--- a/app/Controllers/feedController.php
+++ b/app/Controllers/feedController.php
@@ -102,14 +102,11 @@ class FreshRSS_feed_Controller extends Minz_ActionController {
$feedDAO->beginTransaction ();
// on ajoute les articles en masse sans vérification
foreach ($entries as $entry) {
- if ($entry->date (true) >= $date_min ||
- $feed->keepHistory ()) {
- $values = $entry->toArray ();
- $values['id_feed'] = $feed->id ();
- $values['id'] = min(time(), $entry->date (true)) . uSecString();
- $values['is_read'] = $is_read;
- $entryDAO->addEntry ($values);
- }
+ $values = $entry->toArray ();
+ $values['id_feed'] = $feed->id ();
+ $values['id'] = min(time(), $entry->date (true)) . uSecString();
+ $values['is_read'] = $is_read;
+ $entryDAO->addEntry ($values);
}
$feedDAO->updateLastUpdate ($feed->id ());
$feedDAO->commit ();
@@ -195,7 +192,7 @@ class FreshRSS_feed_Controller extends Minz_ActionController {
}
// on calcule la date des articles les plus anciens qu'on accepte
- $nb_month_old = $this->view->conf->oldEntries ();
+ $nb_month_old = max($this->view->conf->oldEntries(), 1);
$date_min = time () - (3600 * 24 * 30 * $nb_month_old);
$i = 0;
@@ -217,8 +214,7 @@ class FreshRSS_feed_Controller extends Minz_ActionController {
$feedDAO->beginTransaction ();
foreach ($entries as $entry) {
if ((!isset ($existingGuids[$entry->guid ()])) &&
- ($entry->date (true) >= $date_min ||
- $feed->keepHistory ())) {
+ ($entry->date (true) >= $date_min)) {
$values = $entry->toArray ();
//Use declared date at first import, otherwise use discovery date
$values['id'] = empty($existingGuids) ? min(time(), $entry->date (true)) . uSecString() : uTimeString();
@@ -227,8 +223,13 @@ class FreshRSS_feed_Controller extends Minz_ActionController {
}
}
- if ((!$feed->keepHistory()) && (rand(0, 30) === 1)) {
- $nb = $feedDAO->cleanOldEntries ($feed->id (), $date_min, count($entries) + 10);
+ $feedHistory = $feed->keepHistory();
+ if ($feedHistory == -2) { //default
+ $feedHistory = $this->view->conf->keepHistoryDefault();
+ }
+
+ if (($feedHistory >= 0) && (rand(0, 30) === 1)) {
+ $nb = $feedDAO->cleanOldEntries ($feed->id (), $date_min, max($feedHistory, count($entries) + 10));
if ($nb > 0) {
Minz_Log::record ($nb . ' old entries cleaned in feed ' . $feed->id (), Minz_Log::DEBUG);
}