summaryrefslogtreecommitdiff
path: root/app/Controllers/feedController.php
diff options
context:
space:
mode:
Diffstat (limited to 'app/Controllers/feedController.php')
-rwxr-xr-xapp/Controllers/feedController.php17
1 files changed, 14 insertions, 3 deletions
diff --git a/app/Controllers/feedController.php b/app/Controllers/feedController.php
index f71f26a4e..bfc8b2045 100755
--- a/app/Controllers/feedController.php
+++ b/app/Controllers/feedController.php
@@ -226,7 +226,7 @@ class FreshRSS_feed_Controller extends Minz_ActionController {
}
}
- public static function actualizeFeed($feed_id, $feed_url, $force, $simplePiePush = null, $isNewFeed = false) {
+ public static function actualizeFeed($feed_id, $feed_url, $force, $simplePiePush = null, $isNewFeed = false, $noCommit = false) {
@set_time_limit(300);
$feedDAO = FreshRSS_Factory::createFeedDao();
@@ -393,7 +393,7 @@ class FreshRSS_feed_Controller extends Minz_ActionController {
}
}
- $feedDAO->updateLastUpdate($feed->id(), false, $entryDAO->inTransaction(), $mtime);
+ $feedDAO->updateLastUpdate($feed->id(), false, $mtime);
if ($entryDAO->inTransaction()) {
$entryDAO->commit();
}
@@ -434,6 +434,16 @@ class FreshRSS_feed_Controller extends Minz_ActionController {
break;
}
}
+ if (!$noCommit) {
+ if (!$entryDAO->inTransaction()) {
+ $entryDAO->beginTransaction();
+ }
+ $entryDAO->commitNewEntries();
+ $feedDAO->updateCachedValues(); //TODO: Optimize
+ if ($entryDAO->inTransaction()) {
+ $entryDAO->commit();
+ }
+ }
return array($updated_feeds, reset($feeds));
}
@@ -452,8 +462,9 @@ class FreshRSS_feed_Controller extends Minz_ActionController {
$id = Minz_Request::param('id');
$url = Minz_Request::param('url');
$force = Minz_Request::param('force');
+ $noCommit = Minz_Session::param('isLastFeed', 1) != 1;
- list($updated_feeds, $feed) = self::actualizeFeed($id, $url, $force);
+ list($updated_feeds, $feed) = self::actualizeFeed($id, $url, $force, null, false, $noCommit);
if (Minz_Request::param('ajax')) {
// Most of the time, ajax request is for only one feed. But since