protected $loggingDB;
+ /**
+ *
+ */
function __construct() {
// don’t display the ‘Add these Contacts to Group’ button
$this->_add2groupSupported = FALSE;
$this->_logTables =
array(
- 'log_civicrm_contact' =>
- array(
+ 'log_civicrm_contact' => array(
'fk' => 'id',
),
- 'log_civicrm_email' =>
- array(
+ 'log_civicrm_email' => array(
'fk' => 'contact_id',
'log_type' => 'Contact',
),
- 'log_civicrm_phone' =>
- array(
+ 'log_civicrm_phone' => array(
'fk' => 'contact_id',
'log_type' => 'Contact',
),
- 'log_civicrm_address' =>
- array(
+ 'log_civicrm_address' => array(
'fk' => 'contact_id',
'log_type' => 'Contact',
),
- 'log_civicrm_note' =>
- array(
+ 'log_civicrm_note' => array(
'fk' => 'entity_id',
'entity_table' => TRUE,
- 'bracket_info' => array('table' => 'log_civicrm_note', 'column' => 'subject'),
+ 'bracket_info' => array(
+ 'table' => 'log_civicrm_note',
+ 'column' => 'subject'
+ ),
),
- 'log_civicrm_note_comment' =>
- array(
+ 'log_civicrm_note_comment' => array(
'fk' => 'entity_id',
'table_name' => 'log_civicrm_note',
'joins' => array(
'join' => "entity_log_civireport.entity_id = fk_table.id AND entity_log_civireport.entity_table = 'civicrm_note'"
),
'entity_table' => TRUE,
- 'bracket_info' => array('table' => 'log_civicrm_note', 'column' => 'subject'),
+ 'bracket_info' => array(
+ 'table' => 'log_civicrm_note',
+ 'column' => 'subject'
+ ),
),
- 'log_civicrm_group_contact' =>
- array(
+ 'log_civicrm_group_contact' => array(
'fk' => 'contact_id',
- 'bracket_info' => array('entity_column' => 'group_id', 'table' => 'log_civicrm_group', 'column' => 'title'),
+ 'bracket_info' => array(
+ 'entity_column' => 'group_id',
+ 'table' => 'log_civicrm_group',
+ 'column' => 'title'
+ ),
'action_column' => 'status',
'log_type' => 'Group',
),
- 'log_civicrm_entity_tag' =>
- array(
+ 'log_civicrm_entity_tag' => array(
'fk' => 'entity_id',
- 'bracket_info' => array('entity_column' => 'tag_id', 'table' => 'log_civicrm_tag', 'column' => 'name'),
+ 'bracket_info' => array(
+ 'entity_column' => 'tag_id',
+ 'table' => 'log_civicrm_tag',
+ 'column' => 'name'
+ ),
'entity_table' => TRUE
),
- 'log_civicrm_relationship' =>
- array(
+ 'log_civicrm_relationship' => array(
'fk' => 'contact_id_a',
'bracket_info' => array(
'entity_column' => 'relationship_type_id',
'column' => 'label_a_b'
),
),
- 'log_civicrm_activity_for_target' =>
- array(
+ 'log_civicrm_activity_for_target' => array(
'fk' => 'contact_id',
'table_name' => 'log_civicrm_activity',
'joins' => array(
),
'log_type' => 'Activity',
),
- 'log_civicrm_activity_for_assignee' =>
- array(
+ 'log_civicrm_activity_for_assignee' => array(
'fk' => 'contact_id',
'table_name' => 'log_civicrm_activity',
'joins' => array(
),
'log_type' => 'Activity',
),
- 'log_civicrm_activity_for_source' =>
- array(
+ 'log_civicrm_activity_for_source' => array(
'fk' => 'contact_id',
'table_name' => 'log_civicrm_activity',
'joins' => array(
),
'log_type' => 'Activity',
),
- 'log_civicrm_case' =>
- array(
+ 'log_civicrm_case' => array(
'fk' => 'contact_id',
'joins' => array(
'table' => 'log_civicrm_case_contact',
),
'bracket_info' => array(
'entity_column' => 'case_type_id',
- 'options' => CRM_Case_PseudoConstant::caseType('label', FALSE)
+ 'options' => CRM_Case_PseudoConstant::caseType('title', FALSE)
),
),
);
// build _logTables for contact custom tables
$customTables = $logging->entityCustomDataLogTables('Contact');
foreach ($customTables as $table) {
- $this->_logTables[$table] = array('fk' => 'entity_id', 'log_type' => 'Contact');
+ $this->_logTables[$table] = array(
+ 'fk' => 'entity_id',
+ 'log_type' => 'Contact'
+ );
}
// build _logTables for address custom tables
$customTables = $logging->entityCustomDataLogTables('Address');
foreach ($customTables as $table) {
- $this->_logTables[$table] =
+ $this->_logTables[$table] =
array(
'fk' => 'contact_id',// for join of fk_table with contact table
'joins' => array(
'table' => 'log_civicrm_address', // fk_table
- 'join' => 'entity_log_civireport.entity_id = fk_table.id'
+ 'join' => 'entity_log_civireport.entity_id = fk_table.id'
),
'log_type' => 'Contact'
);
foreach ($this->_columns as $tableName => $table) {
if (array_key_exists('fields', $table)) {
foreach ($table['fields'] as $fieldName => $field) {
- if (CRM_Utils_Array::value('required', $field) or CRM_Utils_Array::value($fieldName, $this->_params['fields'])) {
+ if (CRM_Utils_Array::value('required', $field) or
+ CRM_Utils_Array::value($fieldName, $this->_params['fields'])
+ ) {
$select[] = "{$field['dbAlias']} as {$tableName}_{$fieldName}";
$this->_columnHeaders["{$tableName}_{$fieldName}"]['type'] = CRM_Utils_Array::value('type', $field);
$this->_columnHeaders["{$tableName}_{$fieldName}"]['no_display'] = CRM_Utils_Array::value('no_display', $field);
function where() {
// reset where clause as its called multiple times, every time insert sql is built.
$this->_whereClauses = array();
-
+
parent::where();
$this->_where .= " AND (entity_log_civireport.log_action != 'Initialization')";
}
$this->endPostProcess($rows);
}
+ /**
+ * @param $entity
+ *
+ * @return string
+ */
function getLogType($entity) {
if (!empty($this->_logTables[$entity]['log_type'])) {
return $this->_logTables[$entity]['log_type'];
return $logType;
}
+ /**
+ * @param int $id
+ * @param $entity
+ * @param $logDate
+ *
+ * @return mixed|null|string
+ */
function getEntityValue($id, $entity, $logDate) {
if (!empty($this->_logTables[$entity]['bracket_info'])) {
if (!empty($this->_logTables[$entity]['bracket_info']['entity_column'])) {
$entityID = $id;
}
- // since case_type_id is a varchar field with separator
- if ($entity == 'log_civicrm_case') {
- $entityID = explode(CRM_Case_BAO_Case::VALUE_SEPARATOR, $entityID);
- $entityID = CRM_Utils_Array::value(1, $entityID);
- }
- if ($entityID && $logDate && array_key_exists('table', $this->_logTables[$entity]['bracket_info'])) {
+ if ($entityID && $logDate &&
+ array_key_exists('table', $this->_logTables[$entity]['bracket_info'])
+ ) {
$sql = "
SELECT {$this->_logTables[$entity]['bracket_info']['column']}
FROM `{$this->loggingDB}`.{$this->_logTables[$entity]['bracket_info']['table']}
));
}
else {
- if (array_key_exists('options', $this->_logTables[$entity]['bracket_info']) && $entityID) {
+ if (array_key_exists('options', $this->_logTables[$entity]['bracket_info']) &&
+ $entityID
+ ) {
return CRM_Utils_Array::value($entityID, $this->_logTables[$entity]['bracket_info']['options']);
}
}
return NULL;
}
+ /**
+ * @param int $id
+ * @param int $connId
+ * @param $entity
+ * @param $oldAction
+ *
+ * @return null|string
+ */
function getEntityAction($id, $connId, $entity, $oldAction) {
if (!empty($this->_logTables[$entity]['action_column'])) {
$sql = "select {$this->_logTables[$entity]['action_column']} from `{$this->loggingDB}`.{$entity} where id = %1 AND log_conn_id = %2";