Fix groupby initialisation issue
authorJitendra Purohit <jitendra@fuzion.co.nz>
Fri, 12 May 2017 11:22:54 +0000 (16:52 +0530)
committerJitendra Purohit <jitendra@fuzion.co.nz>
Fri, 12 May 2017 11:22:54 +0000 (16:52 +0530)
CRM/Report/Form/Contribute/Summary.php

index 5fd12b81bac2a6a606ca72b78431801e80a09a66..7e6ee3621d8e6ed2f83d44774c33fe87109ed334 100644 (file)
@@ -551,6 +551,7 @@ class CRM_Report_Form_Contribute_Summary extends CRM_Report_Form {
    */
   public function groupBy() {
     $this->_groupBy = "";
+    $groupByColumns = array();
     $append = FALSE;
     if (!empty($this->_params['group_bys']) &&
       is_array($this->_params['group_bys'])
@@ -574,15 +575,15 @@ class CRM_Report_Form_Contribute_Summary extends CRM_Report_Form {
                   $append = '';
                 }
                 if ($this->_params['group_bys_freq'][$fieldName] == 'FISCALYEAR') {
-                  $this->_groupBy[] = self::fiscalYearOffset($field['dbAlias']);
+                  $groupByColumns[] = self::fiscalYearOffset($field['dbAlias']);
                 }
                 else {
-                  $this->_groupBy[] = "$append {$this->_params['group_bys_freq'][$fieldName]}({$field['dbAlias']})";
+                  $groupByColumns[] = "$append {$this->_params['group_bys_freq'][$fieldName]}({$field['dbAlias']})";
                 }
                 $append = TRUE;
               }
               else {
-                $this->_groupBy[] = $field['dbAlias'];
+                $groupByColumns[] = $field['dbAlias'];
               }
             }
           }
@@ -590,18 +591,18 @@ class CRM_Report_Form_Contribute_Summary extends CRM_Report_Form {
       }
 
       if (!empty($this->_statFields) &&
-        (($append && count($this->_groupBy) <= 1) || (!$append)) &&
+        (($append && count($groupByColumns) <= 1) || (!$append)) &&
         !$this->_having
       ) {
         $this->_rollup = " WITH ROLLUP";
       }
       $groupBy = array();
-      foreach ($this->_groupBy as $key => $val) {
+      foreach ($groupByColumns as $key => $val) {
         if (strpos($val, ';;') !== FALSE) {
           $groupBy = array_merge($groupBy, explode(';;', $val));
         }
         else {
-          $groupBy[] = $this->_groupBy[$key];
+          $groupBy[] = $groupByColumns[$key];
         }
       }
       $this->_groupBy = "GROUP BY " . implode(', ', $groupBy);