Expires items from a feed depending on expiration settings.
$feed: Object describing feed.
function aggregator_expire($feed) {
$aggregator_clear = config('aggregator.settings')
->get('items.expire');
if ($aggregator_clear != AGGREGATOR_CLEAR_NEVER) {
// Remove all items that are older than flush item timer.
$age = REQUEST_TIME - $aggregator_clear;
$iids = db_query('SELECT iid FROM {aggregator_item} WHERE fid = :fid AND timestamp < :timestamp', array(
':fid' => $feed->fid,
':timestamp' => $age,
))
->fetchCol();
if ($iids) {
db_delete('aggregator_category_item')
->condition('iid', $iids, 'IN')
->execute();
db_delete('aggregator_item')
->condition('iid', $iids, 'IN')
->execute();
}
}
}