本文整理汇总了PHP中CRM_Contact_BAO_Contact::getMasterDisplayName方法的典型用法代码示例。如果您正苦于以下问题:PHP CRM_Contact_BAO_Contact::getMasterDisplayName方法的具体用法?PHP CRM_Contact_BAO_Contact::getMasterDisplayName怎么用?PHP CRM_Contact_BAO_Contact::getMasterDisplayName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CRM_Contact_BAO_Contact
的用法示例。
在下文中一共展示了CRM_Contact_BAO_Contact::getMasterDisplayName方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: exportComponents
//.........这里部分代码省略.........
if (!$sqlDone) {
self::sqlColumnDefn($query, $sqlColumns, $field);
}
}
//build row values (data)
if (property_exists($dao, $field)) {
$fieldValue = $dao->{$field};
// to get phone type from phone type id
if ($field == 'phone_type_id') {
$fieldValue = $phoneTypes[$fieldValue];
} else {
if ($field == 'provider_id') {
$fieldValue = CRM_Utils_Array::value($fieldValue, $imProviders);
} else {
if ($field == 'participant_role_id') {
require_once 'CRM/Event/PseudoConstant.php';
$participantRoles = CRM_Event_PseudoConstant::participantRole();
$sep = CRM_Core_DAO::VALUE_SEPARATOR;
$viewRoles = array();
foreach (explode($sep, $dao->{$field}) as $k => $v) {
$viewRoles[] = $participantRoles[$v];
}
$fieldValue = implode(',', $viewRoles);
}
}
}
} else {
if ($field == 'master_address_belongs_to') {
$masterAddressId = null;
if (isset($dao->master_id)) {
$masterAddressId = $dao->master_id;
}
// get display name of contact that address is shared.
$fieldValue = CRM_Contact_BAO_Contact::getMasterDisplayName($masterAddressId, $dao->contact_id);
} else {
$fieldValue = '';
}
}
if ($field == 'id') {
$row[$field] = $dao->contact_id;
} else {
if ($field == 'pledge_balance_amount') {
//special case for calculated field
$row[$field] = $dao->pledge_amount - $dao->pledge_total_paid;
} else {
if ($field == 'pledge_next_pay_amount') {
//special case for calculated field
$row[$field] = $dao->pledge_next_pay_amount + $dao->pledge_outstanding_amount;
} else {
if (is_array($value) && $field == 'location') {
// fix header for location type case
foreach ($value as $ltype => $val) {
foreach (array_keys($val) as $fld) {
$type = explode('-', $fld);
$fldValue = "{$ltype}-" . $type[0];
if (CRM_Utils_Array::value(1, $type)) {
$fldValue .= "-" . $type[1];
}
// CRM-3157: localise country, region (both have ‘country’ context) and state_province (‘province’ context)
switch ($fld) {
case 'country':
case 'world_region':
$row[$fldValue] = $i18n->crm_translate($dao->{$fldValue}, array('context' => 'country'));
break;
case 'state_province':
$row[$fldValue] = $i18n->crm_translate($dao->{$fldValue}, array('context' => 'province'));
示例2: exportComponents
//.........这里部分代码省略.........
self::sqlColumnDefn($query, $sqlColumns, $headerName);
}
}
}
}
} elseif ($selectedPaymentFields && array_key_exists($field, self::componentPaymentFields())) {
$headerRows[] = CRM_Utils_Array::value($field, self::componentPaymentFields());
} else {
$headerRows[] = $field;
}
if (!$sqlDone) {
self::sqlColumnDefn($query, $sqlColumns, $field);
}
}
// add im_provider to $dao object
if ($field == 'im_provider' && property_exists($iterationDAO, 'provider_id')) {
$iterationDAO->im_provider = $iterationDAO->provider_id;
}
//build row values (data)
$fieldValue = NULL;
if (property_exists($iterationDAO, $field)) {
$fieldValue = $iterationDAO->{$field};
// to get phone type from phone type id
if ($field == 'phone_type_id' && isset($phoneTypes[$fieldValue])) {
$fieldValue = $phoneTypes[$fieldValue];
} elseif ($field == 'provider_id' || $field == 'im_provider') {
$fieldValue = CRM_Utils_Array::value($fieldValue, $imProviders);
} elseif ($field == 'master_id') {
$masterAddressId = NULL;
if (isset($iterationDAO->master_id)) {
$masterAddressId = $iterationDAO->master_id;
}
// get display name of contact that address is shared.
$fieldValue = CRM_Contact_BAO_Contact::getMasterDisplayName($masterAddressId, $iterationDAO->contact_id);
}
}
if ($field == 'id') {
$row[$field] = $iterationDAO->contact_id;
// special case for calculated field
} elseif ($field == 'source_contact_id') {
$row[$field] = $iterationDAO->contact_id;
} elseif ($field == 'pledge_balance_amount') {
$row[$field] = $iterationDAO->pledge_amount - $iterationDAO->pledge_total_paid;
// special case for calculated field
} elseif ($field == 'pledge_next_pay_amount') {
$row[$field] = $iterationDAO->pledge_next_pay_amount + $iterationDAO->pledge_outstanding_amount;
} elseif (is_array($value) && $field == 'location') {
// fix header for location type case
foreach ($value as $ltype => $val) {
foreach (array_keys($val) as $fld) {
$type = explode('-', $fld);
$fldValue = "{$ltype}-" . $type[0];
// CRM-14076 - fix label to work as the query object expects
// FIXME: We should not be using labels as keys!
$daoField = CRM_Utils_String::munge($ltype) . '-' . $type[0];
if (!empty($type[1])) {
$fldValue .= "-" . $type[1];
$daoField .= "-" . $type[1];
}
// CRM-3157: localise country, region (both have ‘country’ context) and state_province (‘province’ context)
switch ($fld) {
case 'country':
case 'world_region':
$row[$fldValue] = $i18n->crm_translate($iterationDAO->{$daoField}, array('context' => 'country'));
break;
case 'state_province':
示例3: testExportMasterAddress
public function testExportMasterAddress()
{
$contactA = $this->individualCreate(array(), 0);
$contactB = $this->individualCreate(array(), 1);
//create address for contact A
$params = array('contact_id' => $contactA, 'location_type_id' => 'Home', 'street_address' => 'Ambachtstraat 23', 'postal_code' => '6971 BN', 'country_id' => '1152', 'city' => 'Brummen', 'is_primary' => 1);
$result = $this->callAPISuccess('address', 'create', $params);
$addressId = $result['id'];
//share address with contact B
$result = $this->callAPISuccess('address', 'create', array('contact_id' => $contactB, 'location_type_id' => "Home", 'master_id' => $addressId));
//export the master address for contact B
$selectedFields = array(array('Individual', 'master_id', 1));
list($tableName, $sqlColumns) = CRM_Export_BAO_Export::exportComponents(TRUE, array($contactB), array(), NULL, $selectedFields, NULL, CRM_Export_Form_Select::CONTACT_EXPORT, "contact_a.id IN ({$contactB})", NULL, FALSE, FALSE, array('exportOption' => CRM_Export_Form_Select::CONTACT_EXPORT, 'suppress_csv_for_testing' => TRUE));
$field = key($sqlColumns);
//assert the exported result
$masterName = CRM_Core_DAO::singleValueQuery("SELECT {$field} FROM {$tableName}");
$displayName = CRM_Contact_BAO_Contact::getMasterDisplayName(NULL, $contactB);
$this->assertEquals($displayName, $masterName);
// delete the export temp table and component table
$sql = "DROP TABLE IF EXISTS {$tableName}";
CRM_Core_DAO::executeQuery($sql);
}