<?php
/*
+--------------------------------------------------------------------+
- | CiviCRM version 4.3 |
+ | CiviCRM version 4.4 |
+--------------------------------------------------------------------+
| Copyright CiviCRM LLC (c) 2004-2013 |
+--------------------------------------------------------------------+
// "null" value for example is passed by dedupe merge in order to empty.
// Display name computation shouldn't consider such values.
- foreach (array(
- 'first_name', 'middle_name', 'last_name', 'nick_name') as $displayField) {
+ foreach (array('first_name', 'middle_name', 'last_name', 'nick_name', 'formal_title') as $displayField) {
if (CRM_Utils_Array::value($displayField, $params) == "null") {
$params[$displayField] = '';
}
$nickName = CRM_Utils_Array::value('nick_name', $params, '');
$prefix_id = CRM_Utils_Array::value('prefix_id', $params, '');
$suffix_id = CRM_Utils_Array::value('suffix_id', $params, '');
+ $formalTitle = CRM_Utils_Array::value('formal_title', $params, '');
// get prefix and suffix names
- $prefixes = CRM_Core_PseudoConstant::get('CRM_Contact_DAO_Contact', 'prefix_id');
- $suffixes = CRM_Core_PseudoConstant::get('CRM_Contact_DAO_Contact', 'suffix_id');
-
$prefix = $suffix = NULL;
if ($prefix_id) {
- $prefix = $prefixes[$prefix_id];
- $params['individual_prefix'] = $prefix;
+ $params['individual_prefix'] = $prefix = CRM_Core_PseudoConstant::getLabel('CRM_Contact_DAO_Contact', 'prefix_id', $prefix_id);
}
if ($suffix_id) {
- $suffix = $suffixes[$suffix_id];
- $params['individual_suffix'] = $suffix;
+ $params['individual_suffix'] = $suffix = CRM_Core_PseudoConstant::getLabel('CRM_Contact_DAO_Contact', 'suffix_id', $suffix_id);
}
$params['is_deceased'] = CRM_Utils_Array::value('is_deceased', $params, FALSE);
//but if db having null value and params contain value, CRM-4330.
$useDBNames = array();
- foreach (array(
- 'last', 'middle', 'first', 'nick') as $name) {
+ foreach (array('last', 'middle', 'first', 'nick') as $name) {
$dbName = "{$name}_name";
$value = $individual->$dbName;
// the db has name values
- if ($value && CRM_Utils_Array::value('preserveDBName', $params)) {
+ if ($value && !empty($params['preserveDBName'])) {
$useDBNames[] = $name;
}
}
- foreach (array(
- 'prefix', 'suffix') as $name) {
+ foreach (array('prefix', 'suffix') as $name) {
$dbName = "{$name}_id";
$value = $individual->$dbName;
- if ($value && CRM_Utils_Array::value('preserveDBName', $params)) {
+ if ($value && !empty($params['preserveDBName'])) {
$useDBNames[] = $name;
}
}
+ if ($individual->formal_title && !empty($params['preserveDBName'])) {
+ $useDBNames[] = 'formal_title';
+ }
+
// CRM-4430
//1. preserve db name if want
//2. lets get value from param if exists.
//3. if not in params, lets get from db.
- foreach (array(
- 'last', 'middle', 'first', 'nick') as $name) {
+ foreach (array('last', 'middle', 'first', 'nick') as $name) {
$phpName = "{$name}Name";
$dbName = "{$name}_name";
$value = $individual->$dbName;
}
}
- foreach (array(
- 'prefix', 'suffix') as $name) {
- $phpName = $name;
+ foreach (array('prefix', 'suffix') as $name) {
$dbName = "{$name}_id";
- $vals = "{$name}es";
$value = $individual->$dbName;
if (in_array($name, $useDBNames)) {
$params[$dbName] = $value;
$contact->$dbName = $value;
if ($value) {
- $temp = $$vals;
- $$phpName = $temp[$value];
+ $$name = CRM_Core_PseudoConstant::getLabel('CRM_Contact_DAO_Contact', $name, $value);
}
else {
- $$phpName = NULL;
+ $$name = NULL;
}
}
elseif (array_key_exists($dbName, $params)) {
- $temp = $$vals;
// CRM-5278
if (!empty($params[$dbName])) {
- $$phpName = CRM_Utils_Array::value($params[$dbName], $temp);
+ $$name = CRM_Core_PseudoConstant::getLabel('CRM_Contact_DAO_Contact', $dbName, $params[$dbName]);
}
}
elseif ($value) {
- $temp = $$vals;
- $$phpName = $temp[$value];
+ $$name = CRM_Core_PseudoConstant::getLabel('CRM_Contact_DAO_Contact', $name, $value);
}
}
+
+ if (in_array('formal_title', $useDBNames)) {
+ $params['formal_title'] = $individual->formal_title;
+ $contact->formal_title = $individual->formal_title;
+ $formalTitle = $individual->formal_title;
+ }
+ elseif (array_key_exists('formal_title', $params)) {
+ $formalTitle = $params['formal_title'];
+ }
+ elseif ($individual->formal_title) {
+ $formalTitle = $individual->formal_title;
+ }
}
}
//first trim before further processing.
- foreach (array(
- 'lastName', 'firstName', 'middleName') as $fld) {
+ foreach (array('lastName', 'firstName', 'middleName') as $fld) {
$$fld = trim($$fld);
}
'individual_prefix' => $prefix,
'prefix_id' => $prefix_id,
'suffix_id' => $suffix_id,
+ 'formal_title' => $formalTitle,
);
// make sure we have all the name fields.
foreach ($nameParams as $name => $value) {
- if (!CRM_Utils_Array::value($name, $formatted) && $value) {
+ if (empty($formatted[$name]) && $value) {
$formatted[$name] = $value;
}
}
$tokens = array();
CRM_Utils_Hook::tokens($tokens);
$tokenFields = array();
- foreach ($tokens as $category => $catTokens) {
+ foreach ($tokens as $catTokens) {
foreach ($catTokens as $token => $label) {
$tokenFields[] = $token;
}
//start further check for email.
if (empty($sortName) || empty($displayName)) {
$email = NULL;
- if (CRM_Utils_Array::value('email', $params) &&
+ if (!empty($params['email']) &&
is_array($params['email'])
) {
foreach ($params['email'] as $emailBlock) {