/** * Trigger a rule for this event * * @param $op * @param $objectName * @param $objectId * @param $objectRef */ public function triggerEvent($op, $objectName, $objectId, $objectRef) { $eventData = $this->getEventDataFromPost($op, $objectName, $objectId, $objectRef); //trigger for activity event for every source_contact_id, target_contact_id and assignee_contact_id $activityContact = new CRM_Activity_BAO_ActivityContact(); $activityContact->activity_id = $objectId; $activityContact->find(); while ($activityContact->fetch()) { $data = array(); CRM_Core_DAO::storeValues($activityContact, $data); $eventData->setEntityData('ActivityContact', $data); CRM_Civirules_Engine::triggerRule($this, clone $eventData); } }
/** * Get activity contact. * * @param int $activityId * @param int $recordTypeID * @param string $column * * @return null */ public static function getActivityContact($activityId, $recordTypeID = NULL, $column = 'contact_id') { $activityContact = new CRM_Activity_BAO_ActivityContact(); $activityContact->activity_id = $activityId; if ($recordTypeID) { $activityContact->record_type_id = $recordTypeID; } if ($activityContact->find(TRUE)) { return $activityContact->{$column}; } return NULL; }