/**
  * 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;
 }