public function CRMFeedsActivityProcessor::expire in CRM Core 8.2
Same name and namespace in other branches
- 8.3 modules/crm_core_activity/legacy/CRMFeedsActivityProcessor.inc \CRMFeedsActivityProcessor::expire()
- 8 modules/crm_core_activity/legacy/CRMFeedsActivityProcessor.inc \CRMFeedsActivityProcessor::expire()
- 7 modules/crm_core_activity/includes/CRMFeedsActivityProcessor.inc \CRMFeedsActivityProcessor::expire()
Implement expire().
@todo: move to processor stage?
File
- modules/
crm_core_activity/ legacy/ CRMFeedsActivityProcessor.inc, line 89 - Class definition of CRMFeedsActivityProcessor.
Class
- CRMFeedsActivityProcessor
- Creates activities from feed items.
Code
public function expire($time = NULL) {
if ($time === NULL) {
$time = $this
->expiryTime();
}
if ($time == FEEDS_EXPIRE_NEVER) {
return;
}
$count = $this
->getLimit();
$activitys = db_query_range("SELECT a.activity_id FROM {crm_core_activity} a JOIN {feeds_item} fi ON fi.entity_type = 'crm_core_activity' AND a.activity_id = fi.entity_id WHERE fi.id = :id AND c.created < :created", 0, $count, array(
':id' => $this->id,
':created' => REQUEST_TIME - $time,
));
$activity_ids = array();
foreach ($activitys as $activity) {
$activity_ids[$activity->activity_id] = $activity->activity_id;
}
$this
->entityDeleteMultiple($activity_ids);
if (db_query_range("SELECT 1 FROM {crm_core_activity} a JOIN {feeds_item} fi ON fi.entity_type = 'crm_core_activity' AND a.activity_id = fi.entity_id WHERE fi.id = :id AND a.created < :created", 0, 1, array(
':id' => $this->id,
':created' => REQUEST_TIME - $time,
))
->fetchField()) {
return FEEDS_BATCH_ACTIVE;
}
return FEEDS_BATCH_COMPLETE;
}