You are here

protected function CRMFeedsActivityProcessor::entityLoad in CRM Core 8.3

Same name and namespace in other branches
  1. 8 modules/crm_core_activity/legacy/CRMFeedsActivityProcessor.inc \CRMFeedsActivityProcessor::entityLoad()
  2. 8.2 modules/crm_core_activity/legacy/CRMFeedsActivityProcessor.inc \CRMFeedsActivityProcessor::entityLoad()
  3. 7 modules/crm_core_activity/includes/CRMFeedsActivityProcessor.inc \CRMFeedsActivityProcessor::entityLoad()

Loads an existing activity.

If the method is not FEEDS_UPDATE_EXISTING, only the activity table will be loaded, foregoing the crm_core_activity_load API for better performance.

File

modules/crm_core_activity/legacy/CRMFeedsActivityProcessor.inc, line 55
Class definition of CRMFeedsActivityProcessor. @TODO: Remove Feeds integration

Class

CRMFeedsActivityProcessor
Creates activities from feed items.

Code

protected function entityLoad(FeedsSource $source, $activity_id) {
  if ($this->config['update_existing'] == FEEDS_UPDATE_EXISTING) {
    $activity = Activity::load($activity_id, TRUE);
  }
  else {

    // We're replacing the existing activity. Only save the necessary.
    $activity = db_query("SELECT created, activity_id, type FROM {crm_core_activity} WHERE activity_id = :activity_id", [
      ':activity_id' => $activity_id,
    ])
      ->fetchObject();
    $activity->uid = $this->config['author'];
  }

  // Populate properties that are set by activity_object_prepare().
  if ($this->config['update_existing'] == FEEDS_UPDATE_EXISTING) {
    $activity->log = 'Updated by CRMFeedsActivityProcessor';
  }
  else {
    $activity->log = 'Replaced by CRMFeedsActivityProcessor';
  }
  return $activity;
}