* @copyright CiviCRM LLC (c) 2004-2018
*/
class CRM_Report_Form_Contribute_Detail extends CRM_Report_Form {
- protected $_addressField = FALSE;
-
- protected $_emailField = FALSE;
protected $_summary = NULL;
$group = "\nGROUP BY {$this->_aliases['civicrm_contribution']}.currency";
$sql = "{$select} {$this->_from} {$this->_where} {$group}";
$dao = CRM_Core_DAO::executeQuery($sql);
+ $this->addToDeveloperTab($sql);
while ($dao->fetch()) {
$totalAmount[] = CRM_Utils_Money::format($dao->amount, $dao->currency) . " (" . $dao->count . ")";
{$this->_softFrom}
GROUP BY {$this->_aliases['civicrm_contribution']}.currency";
$dao = CRM_Core_DAO::executeQuery($sql);
+ $this->addToDeveloperTab($sql);
while ($dao->fetch()) {
$totalAmount[] = CRM_Utils_Money::format($dao->amount, $dao->currency) . " (" .
$dao->count . ")";
// 1. use main contribution query to build temp table 1
$sql = $this->buildQuery();
$tempQuery = "CREATE TEMPORARY TABLE civireport_contribution_detail_temp1 {$this->_databaseAttributes} AS {$sql}";
+ $this->addToDeveloperTab($tempQuery);
CRM_Core_DAO::executeQuery($tempQuery);
$this->setPager();
// we inner join with temp1 to restrict soft contributions to those in temp1 table
$sql = "{$select} {$this->_from} {$this->_where} {$this->_groupBy}";
$tempQuery = "CREATE TEMPORARY TABLE civireport_contribution_detail_temp2 {$this->_databaseAttributes} AS {$sql}";
+ $this->addToDeveloperTab($tempQuery);
CRM_Core_DAO::executeQuery($tempQuery);
if (CRM_Utils_Array::value('contribution_or_soft_value', $this->_params) ==
'soft_credits_only'
// 4. build temp table 3
$sql = "CREATE TEMPORARY TABLE civireport_contribution_detail_temp3 {$this->_databaseAttributes} AS {$tempQuery}";
+ $this->addToDeveloperTab($sql);
CRM_Core_DAO::executeQuery($sql);
// 5. Re-construct order-by to make sense for final query on temp3 table
SELECT civicrm_contact_id, civicrm_contact_sort_name, civicrm_contribution_total_amount_sum, civicrm_contribution_currency
FROM civireport_contribution_detail_temp2
WHERE civicrm_contribution_contribution_id={$row['civicrm_contribution_contribution_id']}";
+ $this->addToDeveloperTab($query);
$dao = CRM_Core_DAO::executeQuery($query);
$string = '';
$separator = ($this->_outputMode !== 'csv') ? "<br/>" : ' ';
SELECT civicrm_contact_id, civicrm_contact_sort_name
FROM civireport_contribution_detail_temp1
WHERE civicrm_contribution_contribution_id={$row['civicrm_contribution_contribution_id']}";
+ $this->addToDeveloperTab($query);
$dao = CRM_Core_DAO::executeQuery($query);
$string = '';
while ($dao->fetch()) {
// initialize array of total counts
$sumcontribs = $totals = array();
$dao = CRM_Core_DAO::executeQuery($query);
+ $this->addToDeveloperTab($query);
while ($dao->fetch()) {
// let $this->_alterDisplay translate any integer ids to human-readable values.
INNER JOIN (SELECT c.id, IF(COUNT(oc.id) = 0, 0, 1) AS ordinality FROM civicrm_contribution c LEFT JOIN civicrm_contribution oc ON c.contact_id = oc.contact_id AND oc.receive_date < c.receive_date GROUP BY c.id) {$this->_aliases['civicrm_contribution_ordinality']}
ON {$this->_aliases['civicrm_contribution_ordinality']}.id = {$this->_aliases['civicrm_contribution']}.id";
}
- $this->addPhoneFromClause();
-
- $this->addAddressFromClause();
+ $this->joinPhoneFromContact();
+ $this->joinAddressFromContact();
+ $this->joinEmailFromContact();
- if ($this->_emailField) {
- $this->_from .= "
- LEFT JOIN civicrm_email {$this->_aliases['civicrm_email']}
- ON {$this->_aliases['civicrm_contact']}.id = {$this->_aliases['civicrm_email']}.contact_id AND
- {$this->_aliases['civicrm_email']}.is_primary = 1\n";
- }
// include contribution note
if (!empty($this->_params['fields']['contribution_note']) ||
!empty($this->_params['note_value'])
*
* @package CRM
* @copyright CiviCRM LLC (c) 2004-2018
- * $Id$
- *
*/
class CRM_Report_Form_Contribute_History extends CRM_Report_Form {
// Primary Contacts count limitCONSTROW_COUNT_LIMIT = 10;
- protected $_addressField = FALSE;
- protected $_emailField = FALSE;
- protected $_phoneField = FALSE;
protected $_relationshipColumns = array();
protected $_customGroupExtends = array(
public function select() {
$select = array();
+ // @todo remove this & use parent (with maybe some override in this or better yet selectWhere fn)
$this->_columnHeaders = array();
foreach ($this->_columns as $tableName => $table) {
if (!empty($field['required']) ||
!empty($this->_params['fields'][$fieldName])
) {
- if ($tableName == 'civicrm_address') {
- $this->_addressField = TRUE;
- }
- if ($tableName == 'civicrm_email') {
- $this->_emailField = TRUE;
- }
- if ($tableName == 'civicrm_phone') {
- $this->_phoneField = TRUE;
- }
if ($tableName == 'civicrm_relationship') {
$this->_relationshipColumns["{$tableName}_{$fieldName}"] = "{$field['dbAlias']} as {$tableName}_{$fieldName}";
$this->_columnHeaders["{$tableName}_{$fieldName}"]['type'] = CRM_Utils_Array::value('type', $field);
ON {$this->_aliases['civicrm_contact']}.id = {$this->_aliases['civicrm_contribution']}.contact_id AND
{$this->_aliases['civicrm_contribution']}.is_test = 0 ";
- if ($this->_emailField) {
- $this->_from .= " LEFT JOIN civicrm_email {$this->_aliases['civicrm_email']}
- ON ({$this->_aliases['civicrm_contact']}.id = {$this->_aliases['civicrm_email']}.contact_id AND
- {$this->_aliases['civicrm_email']}.is_primary = 1) ";
- }
-
- if ($this->_phoneField) {
- $this->_from .= " LEFT JOIN civicrm_phone {$this->_aliases['civicrm_phone']}
- ON ({$this->_aliases['civicrm_contact']}.id = {$this->_aliases['civicrm_phone']}.contact_id AND
- {$this->_aliases['civicrm_phone']}.is_primary = 1) ";
- }
-
$relContacAlias = 'contact_relationship';
$this->_relationshipFrom = " INNER JOIN civicrm_relationship {$this->_aliases['civicrm_relationship']}
ON (({$this->_aliases['civicrm_relationship']}.contact_id_a = {$relContacAlias}.id OR {$this->_aliases['civicrm_relationship']}.contact_id_b = {$relContacAlias}.id ) AND {$this->_aliases['civicrm_relationship']}.is_active = 1) ";
- $this->addAddressFromClause();
+ $this->joinAddressFromContact();
+ $this->joinPhoneFromContact();
+ $this->joinEmailFromContact();
// for credit card type
$this->addFinancialTrxnFromClause();
*
* @package CRM
* @copyright CiviCRM LLC (c) 2004-2018
- * $Id$
- *
*/
class CRM_Report_Form_Contribute_HouseholdSummary extends CRM_Report_Form {
- protected $_addressField = FALSE;
-
- protected $_emailField = FALSE;
-
public $_drilldownReport = array('contribute/detail' => 'Link to Detail Report');
protected $_summary = NULL;
parent::__construct();
}
- public function preProcess() {
- parent::preProcess();
- }
-
public function select() {
+ // @todo remove this & use parent select.
$this->_columnHeaders = $select = array();
foreach ($this->_columns as $tableName => $table) {
if (array_key_exists('fields', $table)) {
if (!empty($field['required']) ||
!empty($this->_params['fields'][$fieldName])
) {
- if ($tableName == 'civicrm_address') {
- $this->_addressField = TRUE;
- }
- elseif ($tableName == 'civicrm_email') {
- $this->_emailField = TRUE;
- }
if (!empty($field['statistics'])) {
foreach ($field['statistics'] as $stat => $label) {
}
public function from() {
-
- $this->_from = NULL;
$this->_from = "
FROM civicrm_relationship {$this->_aliases['civicrm_relationship']}
LEFT JOIN civicrm_contact {$this->_aliases['civicrm_contact_household']} ON
INNER JOIN civicrm_contribution {$this->_aliases['civicrm_contribution']} ON
({$this->_aliases['civicrm_contribution']}.contact_id = {$this->_aliases['civicrm_relationship']}.$this->otherContact ) AND {$this->_aliases['civicrm_contribution']}.is_test = 0 ";
- if ($this->_addressField) {
- $this->_from .= "
- LEFT JOIN civicrm_address {$this->_aliases['civicrm_address']} ON
- {$this->_aliases['civicrm_contact']}.id = {$this->_aliases['civicrm_address']}.contact_id AND
- {$this->_aliases['civicrm_address']}.is_primary = 1\n ";
- }
- if ($this->_emailField) {
- $this->_from .= "
- LEFT JOIN civicrm_email {$this->_aliases['civicrm_email']} ON
- {$this->_aliases['civicrm_contact']}.id = {$this->_aliases['civicrm_email']}.contact_id AND
- {$this->_aliases['civicrm_email']}.is_primary = 1\n ";
- }
+ $this->joinAddressFromContact();
+ $this->joinEmailFromContact();
// for credit card type
$this->addFinancialTrxnFromClause();
*/
class CRM_Report_Form_Contribute_OrganizationSummary extends CRM_Report_Form {
- protected $_addressField = FALSE;
-
- protected $_emailField = FALSE;
-
public $_drilldownReport = array('contribute/detail' => 'Link to Detail Report');
protected $_summary = NULL;
}
public function select() {
+ // @todo remove this in favour of using parent function
$this->_columnHeaders = $select = array();
foreach ($this->_columns as $tableName => $table) {
if (array_key_exists('fields', $table)) {
foreach ($table['fields'] as $fieldName => $field) {
if (!empty($field['required']) || !empty($this->_params['fields'][$fieldName])) {
- if ($tableName == 'civicrm_address') {
- $this->_addressField = TRUE;
- }
- elseif ($tableName == 'civicrm_email') {
- $this->_emailField = TRUE;
- }
if (!empty($field['statistics'])) {
foreach ($field['statistics'] as $stat => $label) {
INNER JOIN civicrm_contribution {$this->_aliases['civicrm_contribution']} ON
({$this->_aliases['civicrm_contribution']}.contact_id = {$this->_aliases['civicrm_relationship']}.$this->otherContact ) AND {$this->_aliases['civicrm_contribution']}.is_test = 0 ";
- if ($this->_addressField) {
- $this->_from .= "
- LEFT JOIN civicrm_address {$this->_aliases['civicrm_address']} ON
- {$this->_aliases['civicrm_contact']}.id = {$this->_aliases['civicrm_address']}.contact_id AND
- {$this->_aliases['civicrm_address']}.is_primary = 1\n ";
- }
- if ($this->_emailField) {
- $this->_from .= "
- LEFT JOIN civicrm_email {$this->_aliases['civicrm_email']} ON
- {$this->_aliases['civicrm_contact']}.id = {$this->_aliases['civicrm_email']}.contact_id AND
- {$this->_aliases['civicrm_email']}.is_primary = 1\n ";
- }
+ $this->joinAddressFromContact();
+ $this->joinEmailFromContact();
// for credit card type
$this->addFinancialTrxnFromClause();
$this->_from .= "
LEFT JOIN civicrm_contribution {$this->_aliases['civicrm_contribution']}
ON {$this->_aliases['civicrm_contribution_recur']}.id = {$this->_aliases['civicrm_contribution']}.contribution_recur_id";
- $this->_from .= "
- LEFT JOIN civicrm_email {$this->_aliases['civicrm_email']}
- ON ({$this->_aliases['civicrm_contact']}.id = {$this->_aliases['civicrm_email']}.contact_id AND
- {$this->_aliases['civicrm_email']}.is_primary = 1)";
- $this->_from .= "
- LEFT JOIN civicrm_phone {$this->_aliases['civicrm_phone']}
- ON ({$this->_aliases['civicrm_contact']}.id = {$this->_aliases['civicrm_phone']}.contact_id AND
- {$this->_aliases['civicrm_phone']}.is_primary = 1)";
+
+ $this->joinPhoneFromContact();
+ $this->joinEmailFromContact();
// for credit card type
$this->addFinancialTrxnFromClause();