/** * Alter row display. * * @param array $rows */ public function alterDisplay(&$rows) { // custom code to alter rows $entryFound = FALSE; $eventType = CRM_Core_OptionGroup::values('event_type'); $financialTypes = CRM_Contribute_PseudoConstant::financialType(); $contributionStatus = CRM_Contribute_PseudoConstant::contributionStatus(); $paymentInstruments = CRM_Contribute_PseudoConstant::paymentInstrument(); $honorTypes = CRM_Core_OptionGroup::values('honor_type', FALSE, FALSE, FALSE, NULL, 'label'); $genders = CRM_Core_PseudoConstant::get('CRM_Contact_DAO_Contact', 'gender_id', array('localize' => TRUE)); foreach ($rows as $rowNum => $row) { // make count columns point to detail report // convert display name to links if (array_key_exists('civicrm_participant_event_id', $row)) { if ($value = $row['civicrm_participant_event_id']) { $rows[$rowNum]['civicrm_participant_event_id'] = CRM_Event_PseudoConstant::event($value, FALSE); $url = CRM_Report_Utils_Report::getNextUrl('event/income', 'reset=1&force=1&id_op=in&id_value=' . $value, $this->_absoluteUrl, $this->_id, $this->_drilldownReport ); $rows[$rowNum]['civicrm_participant_event_id_link'] = $url; $rows[$rowNum]['civicrm_participant_event_id_hover'] = ts("View Event Income Details for this Event"); } $entryFound = TRUE; } // handle event type id if (array_key_exists('civicrm_event_event_type_id', $row)) { if ($value = $row['civicrm_event_event_type_id']) { $rows[$rowNum]['civicrm_event_event_type_id'] = $eventType[$value]; } $entryFound = TRUE; } // handle participant status id if (array_key_exists('civicrm_participant_status_id', $row)) { if ($value = $row['civicrm_participant_status_id']) { $rows[$rowNum]['civicrm_participant_status_id'] = CRM_Event_PseudoConstant::participantStatus($value, FALSE, 'label'); } $entryFound = TRUE; } // handle participant role id if (array_key_exists('civicrm_participant_role_id', $row)) { if ($value = $row['civicrm_participant_role_id']) { $roles = explode(CRM_Core_DAO::VALUE_SEPARATOR, $value); $value = array(); foreach ($roles as $role) { $value[$role] = CRM_Event_PseudoConstant::participantRole($role, FALSE); } $rows[$rowNum]['civicrm_participant_role_id'] = implode(', ', $value); } $entryFound = TRUE; } // Handle value separator in Fee Level if (array_key_exists('civicrm_participant_participant_fee_level', $row)) { if ($value = $row['civicrm_participant_participant_fee_level']) { CRM_Event_BAO_Participant::fixEventLevel($value); $rows[$rowNum]['civicrm_participant_participant_fee_level'] = $value; } $entryFound = TRUE; } // Convert display name to link if (($displayName = CRM_Utils_Array::value('civicrm_contact_sort_name', $row)) && ($cid = CRM_Utils_Array::value('civicrm_contact_id', $row)) && ($id = CRM_Utils_Array::value('civicrm_participant_participant_record', $row)) ) { $url = CRM_Report_Utils_Report::getNextUrl('contact/detail', "reset=1&force=1&id_op=eq&id_value=$cid", $this->_absoluteUrl, $this->_id, $this->_drilldownReport ); $viewUrl = CRM_Utils_System::url("civicrm/contact/view/participant", "reset=1&id=$id&cid=$cid&action=view&context=participant" ); $contactTitle = ts('View Contact Details'); $participantTitle = ts('View Participant Record'); $rows[$rowNum]['civicrm_contact_sort_name'] = "<a title='$contactTitle' href=$url>$displayName</a>"; if ($this->_outputMode !== 'csv' && $this->_outputMode !== 'pdf' && $this->_outputMode !== 'print') { $rows[$rowNum]['civicrm_contact_sort_name'] .= "<span style='float: right;'> <a title='$participantTitle' href=$viewUrl> " . ts('View') . "</a></span>"; } $entryFound = TRUE; } // Handle country id if (array_key_exists('civicrm_address_country_id', $row)) { if ($value = $row['civicrm_address_country_id']) { $rows[$rowNum]['civicrm_address_country_id'] = CRM_Core_PseudoConstant::country($value, TRUE); } $entryFound = TRUE; } // Handle state/province id if (array_key_exists('civicrm_address_state_province_id', $row)) { if ($value = $row['civicrm_address_state_province_id']) { $rows[$rowNum]['civicrm_address_state_province_id'] = CRM_Core_PseudoConstant::stateProvince($value, TRUE); } $entryFound = TRUE; } // Handle employer id if (array_key_exists('civicrm_contact_employer_id', $row)) { if ($value = $row['civicrm_contact_employer_id']) { $rows[$rowNum]['civicrm_contact_employer_id'] = CRM_Contact_BAO_Contact::displayName($value); $url = CRM_Utils_System::url('civicrm/contact/view', 'reset=1&cid=' . $value, $this->_absoluteUrl ); $rows[$rowNum]['civicrm_contact_employer_id_link'] = $url; $rows[$rowNum]['civicrm_contact_employer_id_hover'] = ts('View Contact Summary for this Contact.'); } } // Convert campaign_id to campaign title if (array_key_exists('civicrm_participant_campaign_id', $row)) { if ($value = $row['civicrm_participant_campaign_id']) { $rows[$rowNum]['civicrm_participant_campaign_id'] = $this->activeCampaigns[$value]; $entryFound = TRUE; } } // handle contribution status if (array_key_exists('civicrm_contribution_contribution_status_id', $row)) { if ($value = $row['civicrm_contribution_contribution_status_id']) { $rows[$rowNum]['civicrm_contribution_contribution_status_id'] = $contributionStatus[$value]; } $entryFound = TRUE; } // handle payment instrument if (array_key_exists('civicrm_contribution_payment_instrument_id', $row)) { if ($value = $row['civicrm_contribution_payment_instrument_id']) { $rows[$rowNum]['civicrm_contribution_payment_instrument_id'] = $paymentInstruments[$value]; } $entryFound = TRUE; } // handle financial type if (array_key_exists('civicrm_contribution_financial_type_id', $row)) { if ($value = $row['civicrm_contribution_financial_type_id']) { $rows[$rowNum]['civicrm_contribution_financial_type_id'] = $financialTypes[$value]; } $entryFound = TRUE; } if (array_key_exists('civicrm_contribution_honor_type_id', $row)) { if ($value = $row['civicrm_contribution_honor_type_id']) { $rows[$rowNum]['civicrm_contribution_honor_type_id'] = $honorTypes[$value]; } $entryFound = TRUE; } if (array_key_exists('civicrm_contact_gender_id', $row)) { if ($value = $row['civicrm_contact_gender_id']) { $rows[$rowNum]['civicrm_contact_gender_id'] = $genders[$value]; } $entryFound = TRUE; } // display birthday in the configured custom format if (array_key_exists('civicrm_contact_birth_date', $row)) { if ($value = $row['civicrm_contact_birth_date']) { $rows[$rowNum]['civicrm_contact_birth_date'] = CRM_Utils_Date::customFormat($row['civicrm_contact_birth_date'], '%Y%m%d'); } $entryFound = TRUE; } if (array_key_exists('civicrm_phone_phone', $row)) { $rows[$rowNum]['civicrm_phone_phone'] = $this->alterPhoneGroup($row['civicrm_phone_phone']); } // skip looking further in rows, if first row itself doesn't // have the column we need if (!$entryFound) { break; } } parent::alterDisplay($rows); }
/** * @param $rows */ function alterDisplay(&$rows) { $contributionTypes = CRM_Contribute_PseudoConstant::financialType(); $contributionStatus = CRM_Contribute_PseudoConstant::contributionStatus(); foreach ($rows as $rowNum => $row) { // convert display name to links if (array_key_exists('civicrm_contact_sort_name', $row) && !empty($rows[$rowNum]['civicrm_contact_sort_name']) && array_key_exists('civicrm_contact_id', $row) ) { $url = CRM_Utils_System::url('civicrm/contact/view', 'reset=1&cid=' . $row['civicrm_contact_id'], $this->_absoluteUrl ); $rows[$rowNum]['civicrm_contact_sort_name_link'] = $url; $rows[$rowNum]['civicrm_contact_sort_name_hover'] = ts('View Contact Summary for this Contact.'); } // handle contribution status id if ($value = CRM_Utils_Array::value('civicrm_contribution_contribution_status_id', $row)) { $rows[$rowNum]['civicrm_contribution_contribution_status_id'] = $contributionStatus[$value]; } // handle financial type id if ($value = CRM_Utils_Array::value('civicrm_line_item_financial_type_id', $row)) { $rows[$rowNum]['civicrm_line_item_financial_type_id'] = $contributionTypes[$value]; } if ($value = CRM_Utils_Array::value('civicrm_entity_financial_trxn_amount', $row)) { $rows[$rowNum]['civicrm_entity_financial_trxn_amount'] = CRM_Utils_Money::format($rows[$rowNum]['civicrm_entity_financial_trxn_amount'], $rows[$rowNum]['civicrm_financial_trxn_currency']); } } parent::alterDisplay($rows); }
/** * @param $rows */ function alterDisplay(&$rows) { parent::alterDisplay($rows); // custom code to alter rows $entryFound = TRUE; foreach ($rows as $rowNum => $row) { if (array_key_exists('civicrm_case_status_id', $row)) { if ($value = $row['civicrm_case_status_id']) { $this->case_statuses = CRM_Case_PseudoConstant::caseStatus(); $rows[$rowNum]['civicrm_case_status_id'] = $this->case_statuses[$value]; $entryFound = TRUE; } } if (array_key_exists('civicrm_contact_sort_name_a', $row) && array_key_exists('civicrm_contact_id', $row)) { $url = CRM_Report_Utils_Report::getNextUrl('contact/detail', 'reset=1&force=1&id_op=eq&id_value=' . $row['civicrm_contact_id'], $this->_absoluteUrl, $this->_id); $rows[$rowNum]['civicrm_contact_sort_name_a_link'] = $url; $rows[$rowNum]['civicrm_contact_sort_name_a_hover'] = ts("View Contact details for this contact."); $entryFound = TRUE; } if (array_key_exists('civicrm_contact_b_sort_name_b', $row) && array_key_exists('civicrm_contact_b_id', $row)) { $url = CRM_Report_Utils_Report::getNextUrl('contact/detail', 'reset=1&force=1&id_op=eq&id_value=' . $row['civicrm_contact_b_id'], $this->_absoluteUrl, $this->_id); $rows[$rowNum]['civicrm_contact_b_sort_name_b_link'] = $url; $rows[$rowNum]['civicrm_contact_b_sort_name_b_hover'] = ts("View Contact details for this contact."); $entryFound = TRUE; } // skip looking further in rows, if first row itself doesn't // have the column we need if (!$entryFound) { break; } } }
/** * Alter rows display. * * @param $rows */ public function alterDisplay(&$rows) { parent::alterDisplay($rows); }