/**
  * Get trigger data belonging to this specific post event
  *
  * Sub classes could override this method. E.g. a post on GroupContact doesn't give on object of GroupContact
  * it rather gives an array with contact Id's
  *
  * @param $op
  * @param $objectName
  * @param $objectId
  * @param $objectRef
  * @return CRM_Civirules_TriggerData_Edit|CRM_Civirules_TriggerData_Post
  */
 protected function getTriggerDataFromPost($op, $objectName, $objectId, $objectRef)
 {
     $entity = CRM_Civirules_Utils_ObjectName::convertToEntity($objectName);
     $data = $this->convertObjectRefToDataArray($entity, $objectRef, $objectId);
     if ($op == 'edit') {
         //set also original data with an edit event
         $oldData = CRM_Civirules_Utils_PreData::getPreData($entity, $objectId);
         $triggerData = new CRM_Civirules_TriggerData_Edit($entity, $objectId, $data, $oldData);
     } else {
         $triggerData = new CRM_Civirules_TriggerData_Post($entity, $objectId, $data);
     }
     $this->alterTriggerData($triggerData);
     return $triggerData;
 }
function civirules_civicrm_pre($op, $objectName, $objectId, &$params)
{
    CRM_Civirules_Utils_PreData::pre($op, $objectName, $objectId, $params);
    CRM_Civirules_Utils_CustomDataFromPre::pre($op, $objectName, $objectId, $params);
}
 /**
  * Get event data belonging to this specific post event
  *
  * Sub classes could override this method. E.g. a post on GroupContact doesn't give on object of GroupContact
  * it rather gives an array with contact Id's
  *
  * @param $op
  * @param $objectName
  * @param $objectId
  * @param $objectRef
  * @return CRM_Civirules_EventData_Edit|CRM_Civirules_EventData_Post
  */
 protected function getEventDataFromPost($op, $objectName, $objectId, $objectRef)
 {
     $entity = CRM_Civirules_Utils_ObjectName::convertToEntity($objectName);
     //set data
     $data = array();
     if (is_object($objectRef)) {
         CRM_Core_DAO::storeValues($objectRef, $data);
     } elseif (is_array($objectRef)) {
         $data = $objectRef;
     }
     if ($op == 'edit') {
         //set also original data with an edit event
         $oldData = CRM_Civirules_Utils_PreData::getPreData($entity, $objectId);
         $eventData = new CRM_Civirules_EventData_Edit($entity, $objectId, $data, $oldData);
     } else {
         $eventData = new CRM_Civirules_EventData_Post($entity, $objectId, $data);
     }
     return $eventData;
 }