class CRM_Contact_Form_Task_Label extends CRM_Contact_Form_Task {
/**
- * build all the data structures needed to build the form
+ * Build all the data structures needed to build the form
*
* @return void
* @access public
}
/**
- * Build the form
+ * Build the form object
*
* @access public
*
}
/**
- * This function sets the default values for the form.
+ * Set default values for the form.
*
* @param null
*
}
/**
- * process the form after the input has been submitted and validated
+ * Process the form after the input has been submitted and validated
*
* @access public
*
}
//build the returnproperties
- $returnProperties = array('display_name' => 1, 'contact_type' => 1);
+ $returnProperties = array('display_name' => 1, 'contact_type' => 1, 'prefix_id' => 1);
$mailingFormat = CRM_Core_BAO_Setting::getItem(CRM_Core_BAO_Setting::SYSTEM_PREFERENCES_NAME,
'mailing_format'
);
continue;
}
+ $contact = array_merge($contact, $contact[$locName]);
unset($contact[$locName]);
if (!empty($contact['county_id'])) {
return FALSE;
}
/**
- * function to create labels (pdf)
+ * Create labels (pdf)
*
* @param array $contactRows assciated array of contact data
* @param string $format format in which labels needs to be printed
}
/**
- * function to create the array of returnProperties
+ * Create the array of returnProperties
*
* @param string $format format for which return properties build
*
return $returnProperties;
}
+ /**
+ * @param $rows
+ */
function mergeSameAddress(&$rows) {
$uniqueAddress = array();
foreach (array_keys($rows) as $rowID) {
else {
$name = $rows[$rowID]['display_name'];
}
+
+ // CRM-15120
+ $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][$rows[$rowID]['first_name']]['first_name'] = $rows[$rowID]['first_name'];
- $uniqueAddress[$address]['names'][$name][$rows[$rowID]['first_name']]['addressee_display'] = $rows[$rowID]['addressee_display'];
+ $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][$rows[$rowID]['first_name']]['first_name'] = $rows[$rowID]['first_name'];
- $uniqueAddress[$address]['names'][$name][$rows[$rowID]['first_name']]['addressee_display'] = $rows[$rowID]['addressee_display'];
+ $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) {