remove duplicate mergeSameAddress
authorEileen McNaughton <eileen@fuzion.co.nz>
Tue, 6 Jan 2015 03:17:01 +0000 (16:17 +1300)
committerEileen McNaughton <eileen@fuzion.co.nz>
Tue, 6 Jan 2015 03:17:01 +0000 (16:17 +1300)
CRM/Contact/Form/Task/Label.php
CRM/Contact/Form/Task/LabelCommon.php
CRM/Member/Form/Task/Label.php

index ec83a0b2a082c17c22ea855b80d0cc2abfaf6102..b5b6f436fced674a8b8d8587a8e65a9e19eb4317 100644 (file)
@@ -316,7 +316,7 @@ class CRM_Contact_Form_Task_Label extends CRM_Contact_Form_Task {
     }
 
     if (isset($fv['merge_same_address'])) {
-      $this->mergeSameAddress($rows);
+      self::mergeSameAddress($rows);
       $individualFormat = TRUE;
     }
 
@@ -400,7 +400,7 @@ class CRM_Contact_Form_Task_Label extends CRM_Contact_Form_Task {
   /**
    * @param array $rows
    */
-  public function mergeSameAddress(&$rows) {
+  static public function mergeSameAddress(&$rows) {
     $uniqueAddress = array();
     foreach (array_keys($rows) as $rowID) {
       // load complete address as array key
index b466cdfc2f8d88ba8bacc3a59650dae4a1d09ada..87ba7ed94d853996843d9916c694c8a5039591b6 100644 (file)
@@ -308,72 +308,6 @@ class CRM_Contact_Form_Task_LabelCommon {
     return $tokenFields;
 
   }
-  /**
-   * Merge contacts with the Same address to get one shared label
-   * @param unknown_type $rows
-   */
-  public function mergeSameAddress(&$rows) {
-    $uniqueAddress = array();
-    foreach (array_keys($rows) as $rowID) {
-      // load complete address as array key
-      $address =
-      trim($rows[$rowID]['street_address']) . trim($rows[$rowID]['city']) . trim($rows[$rowID]['state_province']) . trim($rows[$rowID]['postal_code']) . trim($rows[$rowID]['country']);
-      if (isset($rows[$rowID]['last_name'])) {
-        $name = $rows[$rowID]['last_name'];
-      }
-      else {
-        $name = $rows[$rowID]['display_name'];
-      }
-      $formatted = array(
-       'first_name' => $rows[$rowID]['first_name'],
-       'individual_prefix' => $rows[$rowID]['individual_prefix']
-      );
-      $format = CRM_Core_BAO_Setting::getItem(CRM_Core_BAO_Setting::SYSTEM_PREFERENCES_NAME, 'display_name_format');
-      $firstNameWithPrefix = CRM_Utils_Address::format($formatted, $format,  FALSE, FALSE, TRUE);
-      $firstNameWithPrefix = trim($firstNameWithPrefix);
-
-      // fill uniqueAddress array with last/first name tree
-      if (isset($uniqueAddress[$address])) {
-        $uniqueAddress[$address]['names'][$name][$firstNameWithPrefix]['first_name'] = $rows[$rowID]['first_name'];
-        $uniqueAddress[$address]['names'][$name][$firstNameWithPrefix]['addressee_display'] = $rows[$rowID]['addressee_display'];
-        // drop unnecessary rows
-        unset($rows[$rowID]);
-        // this is the first listing at this address
-      }
-      else {
-        $uniqueAddress[$address]['ID'] = $rowID;
-        $uniqueAddress[$address]['names'][$name][$firstNameWithPrefix]['first_name'] = $rows[$rowID]['first_name'];
-        $uniqueAddress[$address]['names'][$name][$firstNameWithPrefix]['addressee_display'] = $rows[$rowID]['addressee_display'];
-      }
-    }
-    foreach ($uniqueAddress as $address => $data) {
-      // copy data back to $rows
-      $count = 0;
-      // one last name list per row
-      foreach ($data['names'] as $last_name => $first_names) {
-        // too many to list
-        if ($count > 2) {
-          break;
-        }
-        if(count($first_names) == 1) {
-          $family = $first_names[current(array_keys($first_names))]['addressee_display'];
-        }
-        else {
-          // collapse the tree to summarize
-          $family = trim(implode(" & ", $first_names) . " " . $last_name);
-        }
-        if ($count) {
-          $processedNames .= "\n" . $family;
-        }
-        else {
-          // build display_name string
-          $processedNames = $family;
-        }
-        $count++;
-      }
-      $rows[$data['ID']]['addressee'] = $rows[$data['ID']]['addressee_display'] = $rows[$data['ID']]['display_name'] = $processedNames;
-    }
-  }
 
   /**
    * @param $rows
index 8446380d2cb484b2cd42486d4ec0fc943f9d7a06..f889349b01201184b2d4b0021474210165766d9e 100644 (file)
@@ -104,7 +104,7 @@ class CRM_Member_Form_Task_Label extends CRM_Member_Form_Task {
 
     $individualFormat = FALSE;
     if ($mergeSameAddress) {
-      CRM_Contact_Form_Task_LabelCommon::mergeSameAddress($rows);
+      CRM_Contact_Form_Task_Label::mergeSameAddress($rows);
       $individualFormat = TRUE;
     }
     if ($mergeSameHousehold) {