@@ -58,10 +58,10 @@ public function update() {
5858 */
5959 public function fetch ($ source ) {
6060
61- $ newPostAdded = FALSE ;
61+ $ lastEntry = $ source [ ' lastentry ' ] ;
6262
6363 // at least 20 seconds wait until next update of a given source
64- $ this ->updateSource ($ source , $ newPostAdded );
64+ $ this ->updateSource ($ source , null );
6565 if (time () - $ source ['lastupdate ' ] < 20 )
6666 return ;
6767
@@ -188,15 +188,15 @@ public function fetch($source) {
188188 \F3 ::get ('logger ' )->log ('Memory usage: ' .memory_get_usage (), \DEBUG );
189189 \F3 ::get ('logger ' )->log ('Memory peak usage: ' .memory_get_peak_usage (), \DEBUG );
190190
191- $ newPostAdded = TRUE ;
191+ $ lastEntry = max ( $ lastEntry , $ itemDate -> getTimestamp ()) ;
192192 }
193193
194194 // destroy feed object (prevent memory issues)
195195 \F3 ::get ('logger ' )->log ('destroy spout object ' , \DEBUG );
196196 $ spout ->destroy ();
197197
198198 // remove previous errors and set last update timestamp
199- $ this ->updateSource ($ source , $ newPostAdded );
199+ $ this ->updateSource ($ source , $ lastEntry );
200200 }
201201
202202 /**
@@ -379,16 +379,15 @@ protected function cleanupFiles($type) {
379379 /**
380380 * Update source (remove previous errors, update last update)
381381 *
382- * @param $source source object
383- * @param $newPostAdded boolean true or false depending on if a new post was found
384- *
382+ * @param mixed $source source object
383+ * @param int $lastEntry timestamp of the newest item or NULL when no items were added
385384 */
386- protected function updateSource ($ source , $ newPostAdded ) {
385+ protected function updateSource ($ source , $ lastEntry ) {
387386 // remove previous error
388387 if ( !is_null ($ source ['error ' ]) ) {
389388 $ this ->sourceDao ->error ($ source ['id ' ], '' );
390389 }
391390 // save last update
392- $ this ->sourceDao ->saveLastUpdate ($ source ['id ' ], $ newPostAdded );
391+ $ this ->sourceDao ->saveLastUpdate ($ source ['id ' ], $ lastEntry );
393392 }
394393}
0 commit comments