X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FReport%2FForm%2FContribute%2FLybunt.php;h=1fa3a79327deec7a098b52e5b62a7e0d41f5058a;hb=276ee0a0d34630e77fab855111697bc46b20222b;hp=874deb19f216e747aed3f5ee84bb5cb3b32b5dae;hpb=d92623decb352eab5b403d0c9cab181a831bfaac;p=civicrm-core.git diff --git a/CRM/Report/Form/Contribute/Lybunt.php b/CRM/Report/Form/Contribute/Lybunt.php index 874deb19f2..1fa3a79327 100644 --- a/CRM/Report/Form/Contribute/Lybunt.php +++ b/CRM/Report/Form/Contribute/Lybunt.php @@ -1,7 +1,7 @@ _columns = array( - 'civicrm_contact' => - array( + 'civicrm_contact' => array( 'dao' => 'CRM_Contact_DAO_Contact', 'grouping' => 'contact-field', - 'fields' => - array( - 'sort_name' => - array('title' => ts('Donor Name'), + 'fields' => array( + 'sort_name' => array( + 'title' => ts('Donor Name'), 'default' => TRUE, 'required' => TRUE, ), @@ -89,78 +85,67 @@ class CRM_Report_Form_Contribute_Lybunt extends CRM_Report_Form { 'last_name' => array( 'title' => ts('Last Name'), ), - 'contact_type' => - array( + 'contact_type' => array( 'title' => ts('Contact Type'), ), - 'contact_sub_type' => - array( - 'title' => ts('Contact SubType'), + 'contact_sub_type' => array( + 'title' => ts('Contact Subtype'), ), ), - 'filters' => - array( - 'sort_name' => - array('title' => ts('Donor Name'), + 'filters' => array( + 'sort_name' => array( + 'title' => ts('Donor Name'), 'operator' => 'like', ), ), ), - 'civicrm_email' => - array( + 'civicrm_email' => array( 'dao' => 'CRM_Core_DAO_Email', 'grouping' => 'contact-field', - 'fields' => - array( - 'email' => - array('title' => ts('Email'), + 'fields' => array( + 'email' => array( + 'title' => ts('Email'), 'default' => TRUE, ), ), ), - 'civicrm_phone' => - array( + 'civicrm_phone' => array( 'dao' => 'CRM_Core_DAO_Phone', 'grouping' => 'contact-field', - 'fields' => - array( - 'phone' => - array('title' => ts('Phone'), + 'fields' => array( + 'phone' => array( + 'title' => ts('Phone'), 'default' => TRUE, ), ), ), - ) - + $this->addAddressFields() - + array( - 'civicrm_contribution' => - array( + ); + $this->_columns += $this->addAddressFields(); + $this->_columns += array( + 'civicrm_contribution' => array( 'dao' => 'CRM_Contribute_DAO_Contribution', - 'fields' => - array( - 'contact_id' => - array('title' => ts('contactId'), + 'fields' => array( + 'contact_id' => array( + 'title' => ts('contactId'), 'no_display' => TRUE, 'required' => TRUE, 'no_repeat' => TRUE, ), - 'total_amount' => - array('title' => ts('Total Amount'), + 'total_amount' => array( + 'title' => ts('Total Amount'), 'no_display' => TRUE, 'required' => TRUE, 'no_repeat' => TRUE, ), - 'receive_date' => - array('title' => ts('Year'), + 'receive_date' => array( + 'title' => ts('Year'), 'no_display' => TRUE, 'required' => TRUE, 'no_repeat' => TRUE, ), ), - 'filters' => - array( - 'yid' => - array( + 'filters' => array( + 'yid' => array( 'name' => 'receive_date', 'title' => ts('This Year'), 'operatorType' => CRM_Report_Form::OP_SELECT, @@ -172,8 +157,8 @@ class CRM_Report_Form_Contribute_Lybunt extends CRM_Report_Form { 'operatorType' => CRM_Report_Form::OP_MULTISELECT, 'options' => CRM_Contribute_PseudoConstant::financialType(), ), - 'contribution_status_id' => - array('title' => ts('Contribution Status'), + 'contribution_status_id' => array( + 'title' => ts('Contribution Status'), 'operatorType' => CRM_Report_Form::OP_MULTISELECT, 'options' => CRM_Contribute_PseudoConstant::contributionStatus(), 'default' => array('1'), @@ -188,7 +173,8 @@ class CRM_Report_Form_Contribute_Lybunt extends CRM_Report_Form { 'title' => ts('Campaign'), 'default' => 'false', ); - $this->_columns['civicrm_contribution']['filters']['campaign_id'] = array('title' => ts('Campaign'), + $this->_columns['civicrm_contribution']['filters']['campaign_id'] = array( + 'title' => ts('Campaign'), 'operatorType' => CRM_Report_Form::OP_MULTISELECT, 'options' => $this->activeCampaigns, ); @@ -199,23 +185,24 @@ class CRM_Report_Form_Contribute_Lybunt extends CRM_Report_Form { parent::__construct(); } - function preProcess() { + public function preProcess() { parent::preProcess(); } - function select() { + public function select() { $this->_columnHeaders = $select = array(); $current_year = $this->_params['yid_value']; $previous_year = $current_year - 1; - 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 (!empty($field['required']) || + !empty($this->_params['fields'][$fieldName]) + ) { if ($fieldName == 'total_amount') { $select[] = "SUM({$field['dbAlias']}) as {$tableName}_{$fieldName}"; @@ -226,7 +213,8 @@ class CRM_Report_Form_Contribute_Lybunt extends CRM_Report_Form { $this->_columnHeaders["civicrm_life_time_total"]['title'] = 'LifeTime';; } elseif ($fieldName == 'receive_date') { - $select[] = self::fiscalYearOffset($field['dbAlias']) . " as {$tableName}_{$fieldName} "; + $select[] = self::fiscalYearOffset($field['dbAlias']) . + " as {$tableName}_{$fieldName} "; } else { $select[] = "{$field['dbAlias']} as {$tableName}_{$fieldName} "; @@ -245,7 +233,7 @@ class CRM_Report_Form_Contribute_Lybunt extends CRM_Report_Form { $this->_select = "SELECT " . implode(', ', $select) . " "; } - function from() { + public function from() { $this->_from = " FROM civicrm_contribution {$this->_aliases['civicrm_contribution']} @@ -268,11 +256,11 @@ class CRM_Report_Form_Contribute_Lybunt extends CRM_Report_Form { $this->addAddressFromClause(); } - function where() { + public function where() { $this->_statusClause = ""; - $clauses = array($this->_aliases['civicrm_contribution'] . '.is_test = 0'); - $current_year = $this->_params['yid_value']; - $previous_year = $current_year - 1; + $clauses = array($this->_aliases['civicrm_contribution'] . '.is_test = 0'); + $current_year = $this->_params['yid_value']; + $previous_year = $current_year - 1; foreach ($this->_columns as $tableName => $table) { if (array_key_exists('filters', $table)) { @@ -281,13 +269,16 @@ class CRM_Report_Form_Contribute_Lybunt extends CRM_Report_Form { if ($fieldName == 'yid') { $clause = "contribution_civireport.contact_id NOT IN (SELECT distinct contri.contact_id FROM civicrm_contribution contri - WHERE contri.is_test = 0 AND " . self::fiscalYearOffset('contri.receive_date') . " = $current_year) AND contribution_civireport.contact_id IN (SELECT distinct contri.contact_id FROM civicrm_contribution contri - WHERE " . self::fiscalYearOffset('contri.receive_date') . " = $previous_year AND contri.is_test = 0)"; + WHERE contri.is_test = 0 AND " . + self::fiscalYearOffset('contri.receive_date') . " = $current_year) AND contribution_civireport.contact_id IN (SELECT distinct contri.contact_id FROM civicrm_contribution contri + WHERE " . self::fiscalYearOffset('contri.receive_date') . + " = $previous_year AND contri.is_test = 0)"; } - elseif (CRM_Utils_Array::value('type', $field) & CRM_Utils_Type::T_DATE) { + elseif (CRM_Utils_Array::value('type', $field) & CRM_Utils_Type::T_DATE + ) { $relative = CRM_Utils_Array::value("{$fieldName}_relative", $this->_params); - $from = CRM_Utils_Array::value("{$fieldName}_from", $this->_params); - $to = CRM_Utils_Array::value("{$fieldName}_to", $this->_params); + $from = CRM_Utils_Array::value("{$fieldName}_from", $this->_params); + $to = CRM_Utils_Array::value("{$fieldName}_to", $this->_params); if ($relative || $from || $to) { $clause = $this->dateClause($field['name'], $relative, $from, $to, $field['type']); @@ -302,7 +293,9 @@ class CRM_Report_Form_Contribute_Lybunt extends CRM_Report_Form { CRM_Utils_Array::value("{$fieldName}_min", $this->_params), CRM_Utils_Array::value("{$fieldName}_max", $this->_params) ); - if (($fieldName == 'contribution_status_id' || $fieldName == 'financial_type_id') && !empty($clause)) { + if (($fieldName == 'contribution_status_id' || + $fieldName == 'financial_type_id') && !empty($clause) + ) { $this->_statusClause .= " AND " . $clause; } } @@ -322,8 +315,10 @@ class CRM_Report_Form_Contribute_Lybunt extends CRM_Report_Form { } } - function groupBy() { - $this->_groupBy = "GROUP BY {$this->_aliases['civicrm_contribution']}.contact_id, " . self::fiscalYearOffset($this->_aliases['civicrm_contribution'] . '.receive_date') . " WITH ROLLUP"; + public function groupBy() { + $this->_groupBy = "GROUP BY {$this->_aliases['civicrm_contribution']}.contact_id, " . + self::fiscalYearOffset($this->_aliases['civicrm_contribution'] . + '.receive_date') . " WITH ROLLUP"; $this->assign('chartSupported', TRUE); } @@ -332,7 +327,7 @@ class CRM_Report_Form_Contribute_Lybunt extends CRM_Report_Form { * * @return array */ - function statistics(&$rows) { + public function statistics(&$rows) { $statistics = parent::statistics($rows); if (!empty($rows)) { $select = " @@ -353,7 +348,7 @@ class CRM_Report_Form_Contribute_Lybunt extends CRM_Report_Form { return $statistics; } - function postProcess() { + public function postProcess() { // get ready with post process params $this->beginPostProcess(); @@ -384,11 +379,13 @@ class CRM_Report_Form_Contribute_Lybunt extends CRM_Report_Form { $sql = "{$this->_select} {$this->_from} {$this->_where} {$this->_groupBy}"; } else { - $sql = "{$this->_select} {$this->_from} WHERE {$this->_aliases['civicrm_contact']}.id IN (" . implode(',', $contactIds) . ") AND {$this->_aliases['civicrm_contribution']}.is_test = 0 {$this->_statusClause} {$this->_groupBy} "; + $sql = "{$this->_select} {$this->_from} WHERE {$this->_aliases['civicrm_contact']}.id IN (" . + implode(',', $contactIds) . + ") AND {$this->_aliases['civicrm_contribution']}.is_test = 0 {$this->_statusClause} {$this->_groupBy} "; } - $dao = CRM_Core_DAO::executeQuery($sql); - $current_year = $this->_params['yid_value']; + $dao = CRM_Core_DAO::executeQuery($sql); + $current_year = $this->_params['yid_value']; $previous_year = $current_year - 1; while ($dao->fetch()) { @@ -428,11 +425,11 @@ class CRM_Report_Form_Contribute_Lybunt extends CRM_Report_Form { /** * @param $rows */ - function buildChart(&$rows) { + public function buildChart(&$rows) { $graphRows = array(); - $count = 0; - $display = array(); + $count = 0; + $display = array(); $current_year = $this->_params['yid_value']; $previous_year = $current_year - 1; @@ -440,13 +437,15 @@ class CRM_Report_Form_Contribute_Lybunt extends CRM_Report_Form { $interval['life_time'] = 'Life Time'; foreach ($rows as $key => $row) { - $display['life_time'] = CRM_Utils_Array::value('life_time', $display) + $row['civicrm_life_time_total']; + $display['life_time'] = CRM_Utils_Array::value('life_time', $display) + + $row['civicrm_life_time_total']; $display[$previous_year] = CRM_Utils_Array::value($previous_year, $display) + $row[$previous_year]; } - $config = CRM_Core_Config::Singleton(); + $config = CRM_Core_Config::Singleton(); $graphRows['value'] = $display; - $chartInfo = array('legend' => ts('Lybunt Report'), + $chartInfo = array( + 'legend' => ts('Lybunt Report'), 'xname' => ts('Year'), 'yname' => ts('Amount (%1)', array(1 => $config->defaultCurrency)), ); @@ -460,7 +459,7 @@ class CRM_Report_Form_Contribute_Lybunt extends CRM_Report_Form { /** * @param $rows */ - function alterDisplay(&$rows) { + public function alterDisplay(&$rows) { // custom code to alter rows $entryFound = FALSE; @@ -470,7 +469,8 @@ class CRM_Report_Form_Contribute_Lybunt extends CRM_Report_Form { array_key_exists('civicrm_contribution_contact_id', $row) ) { $url = CRM_Report_Utils_Report::getNextUrl('contribute/detail', - 'reset=1&force=1&id_op=eq&id_value=' . $row['civicrm_contribution_contact_id'], + 'reset=1&force=1&id_op=eq&id_value=' . + $row['civicrm_contribution_contact_id'], $this->_absoluteUrl, $this->_id, $this->_drilldownReport ); $rows[$rowNum]['civicrm_contact_sort_name_link'] = $url; @@ -496,18 +496,20 @@ class CRM_Report_Form_Contribute_Lybunt extends CRM_Report_Form { } } - // Override "This Year" $op options /** + * Override "This Year" $op options * @param string $type * @param null $fieldName * * @return array */ - function getOperationPair($type = "string", $fieldName = NULL) { + public function getOperationPair($type = "string", $fieldName = NULL) { if ($fieldName == 'yid') { - return array('calendar' => ts('Is Calendar Year'), 'fiscal' => ts('Fiscal Year Starting')); + return array( + 'calendar' => ts('Is Calendar Year'), + 'fiscal' => ts('Fiscal Year Starting'), + ); } return parent::getOperationPair($type, $fieldName); } } -