X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FContact%2FForm%2FTask%2FLabel.php;h=8924401ad9fbbd85b4c446dfe8edb057fd185899;hb=bdd49e3826fad29cc02081b07a81eda3455d126a;hp=5826bcf16333789135699efcff2281bfb0c9865c;hpb=61101c0139a33917f1220f3e970b7c1293f34449;p=civicrm-core.git diff --git a/CRM/Contact/Form/Task/Label.php b/CRM/Contact/Form/Task/Label.php index 5826bcf163..8924401ad9 100644 --- a/CRM/Contact/Form/Task/Label.php +++ b/CRM/Contact/Form/Task/Label.php @@ -1,7 +1,7 @@ set('contactIds', $this->_contactIds); parent::preProcess(); } /** - * Build the form + * Build the form object * - * @access public * * @return void */ - function buildQuickForm() { + public function buildQuickForm() { CRM_Utils_System::setTitle(ts('Make Mailing Labels')); //add select for label @@ -92,14 +90,13 @@ class CRM_Contact_Form_Task_Label extends CRM_Contact_Form_Task { } /** - * This function sets the default values for the form. + * Set default values for the form. * * @param null * * @return array array of default values - * @access public */ - function setDefaultValues() { + public function setDefaultValues() { $defaults = array(); $format = CRM_Core_BAO_LabelFormat::getDefaultValues(); $defaults['label_name'] = CRM_Utils_Array::value('name', $format); @@ -109,9 +106,8 @@ class CRM_Contact_Form_Task_Label extends CRM_Contact_Form_Task { } /** - * process the form after the input has been submitted and validated + * Process the form after the input has been submitted and validated * - * @access public * * @return void */ @@ -135,14 +131,14 @@ class CRM_Contact_Form_Task_Label extends CRM_Contact_Form_Task { } //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' ); $mailingFormatProperties = array(); if ($mailingFormat) { - $mailingFormatProperties = self::getReturnProperties($mailingFormat); + $mailingFormatProperties = CRM_Utils_Token::getReturnProperties($mailingFormat); $returnProperties = array_merge($returnProperties, $mailingFormatProperties); } //we should not consider addressee for data exists, CRM-6025 @@ -266,6 +262,7 @@ class CRM_Contact_Form_Task_Label extends CRM_Contact_Form_Task { continue; } + $contact = array_merge($contact, $contact[$locName]); unset($contact[$locName]); if (!empty($contact['county_id'])) { @@ -365,7 +362,7 @@ class CRM_Contact_Form_Task_Label extends CRM_Contact_Form_Task { * * @return bool */ - function tokenIsFound($contact, $mailingFormatProperties, $tokenFields) { + public function tokenIsFound($contact, $mailingFormatProperties, $tokenFields) { foreach (array_merge($mailingFormatProperties, array_fill_keys($tokenFields, 1)) as $key => $dontCare) { if (!empty($contact[$key])) { return TRUE; @@ -374,16 +371,15 @@ class CRM_Contact_Form_Task_Label extends CRM_Contact_Form_Task { 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 * @param string $fileName The name of the file to save the label in * * @return null - * @access public */ - function createLabel(&$contactRows, &$format, $fileName = 'MailingLabels_CiviCRM.pdf') { + public function createLabel(&$contactRows, &$format, $fileName = 'MailingLabels_CiviCRM.pdf') { $pdf = new CRM_Utils_PDF_Label($format, 'mm'); $pdf->Open(); $pdf->AddPage(); @@ -401,38 +397,10 @@ class CRM_Contact_Form_Task_Label extends CRM_Contact_Form_Task { $pdf->Output($fileName, 'D'); } - /** - * function to create the array of returnProperties - * - * @param string $format format for which return properties build - * - * @return array of returnProperties - * @access public - */ - function getReturnProperties(&$format) { - $returnProperties = array(); - $matches = array(); - preg_match_all('/(? $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) { @@ -487,4 +465,3 @@ class CRM_Contact_Form_Task_Label extends CRM_Contact_Form_Task { } } } -