本文整理汇总了PHP中CRM_Contact_BAO_Query::defaultReturnProperties方法的典型用法代码示例。如果您正苦于以下问题:PHP CRM_Contact_BAO_Query::defaultReturnProperties方法的具体用法?PHP CRM_Contact_BAO_Query::defaultReturnProperties怎么用?PHP CRM_Contact_BAO_Query::defaultReturnProperties使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CRM_Contact_BAO_Query
的用法示例。
在下文中一共展示了CRM_Contact_BAO_Query::defaultReturnProperties方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: postProcess
/**
* process the form after the input has been submitted and validated
*
* @access public
* @return void
*/
function postProcess()
{
// create the selector, controller and run - store results in session
$fv = $this->get('formValues');
$query =& new CRM_Contact_BAO_Query($fv, null, null, false, false, CRM_CONTACT_BAO_QUERY_MODE_ALL);
$returnProperties =& CRM_Contact_BAO_Query::defaultReturnProperties(CRM_CONTACT_BAO_QUERY_MODE_ALL);
$properties = array('contact_id', 'contribution_id');
$header = array(ts('Contact ID'), ts('Contribution ID'));
foreach ($returnProperties as $name => $dontCare) {
$properties[] = $name;
if (CRM_Utils_Array::value($name, $query->_fields) && CRM_Utils_Array::value('title', $query->_fields[$name])) {
$header[] = $query->_fields[$name]['title'];
} else {
$header[] = $name;
}
}
// header fixed for colomns are not expotable
$headerArray = array('image_URL' => 'Image URL', 'contact_type' => 'Contact Type', 'sort_name' => 'Sort Name', 'display_name' => 'Display Name');
foreach ($header as $key => $value) {
if (array_key_exists($value, $headerArray)) {
$header[$key] = $headerArray[$value];
}
}
$result = $query->searchQuery(0, 0, null, false, false, false, false, false, $this->_contributionClause);
$rows = array();
while ($result->fetch()) {
$row = array();
$valid = false;
foreach ($properties as $property) {
$row[] = $result->{$property};
if (!CRM_Utils_System::isNull($result->{$property})) {
$valid = true;
}
}
if ($valid) {
$rows[] = $row;
}
}
require_once 'CRM/Core/Report/Excel.php';
CRM_Core_Report_Excel::writeCSVFile(CRM_Contribute_Form_Task_Export::getExportFileName(), $header, $rows);
exit;
}
示例2: exportComponents
//.........这里部分代码省略.........
if ($key && substr($key, 0, 6) != 'custom') {
//for CRM=952
$returnProperties[$key] = 1;
}
}
if ($primary) {
$returnProperties['location_type'] = 1;
$returnProperties['im_provider'] = 1;
$returnProperties['phone_type_id'] = 1;
$returnProperties['provider_id'] = 1;
$returnProperties['current_employer'] = 1;
}
$extraReturnProperties = array();
$paymentFields = FALSE;
switch ($queryMode) {
case CRM_Contact_BAO_Query::MODE_EVENT:
$paymentFields = TRUE;
$paymentTableId = 'participant_id';
break;
case CRM_Contact_BAO_Query::MODE_MEMBER:
$paymentFields = TRUE;
$paymentTableId = 'membership_id';
break;
case CRM_Contact_BAO_Query::MODE_PLEDGE:
$extraReturnProperties = CRM_Pledge_BAO_Query::extraReturnProperties($queryMode);
$paymentFields = TRUE;
$paymentTableId = 'pledge_payment_id';
break;
case CRM_Contact_BAO_Query::MODE_CASE:
$extraReturnProperties = CRM_Case_BAO_Query::extraReturnProperties($queryMode);
break;
}
if ($queryMode != CRM_Contact_BAO_Query::MODE_CONTACTS) {
$componentReturnProperties = CRM_Contact_BAO_Query::defaultReturnProperties($queryMode);
if ($queryMode == CRM_Contact_BAO_Query::MODE_CONTRIBUTE) {
// soft credit columns are not automatically populated, because contribution search doesn't require them by default
$componentReturnProperties = array_merge($componentReturnProperties, CRM_Contribute_BAO_Query::softCreditReturnProperties(TRUE));
}
$returnProperties = array_merge($returnProperties, $componentReturnProperties);
if (!empty($extraReturnProperties)) {
$returnProperties = array_merge($returnProperties, $extraReturnProperties);
}
// unset non exportable fields for components
$nonExpoFields = array('groups', 'tags', 'notes', 'contribution_status_id', 'pledge_status_id', 'pledge_payment_status_id');
foreach ($nonExpoFields as $value) {
unset($returnProperties[$value]);
}
}
}
if ($mergeSameAddress) {
//make sure the addressee fields are selected
//while using merge same address feature
$returnProperties['addressee'] = 1;
$returnProperties['postal_greeting'] = 1;
$returnProperties['email_greeting'] = 1;
$returnProperties['street_name'] = 1;
$returnProperties['household_name'] = 1;
$returnProperties['street_address'] = 1;
$returnProperties['city'] = 1;
$returnProperties['state_province'] = 1;
// some columns are required for assistance incase they are not already present
$exportParams['merge_same_address']['temp_columns'] = array();
$tempColumns = array('id', 'master_id', 'state_province_id', 'postal_greeting_id', 'addressee_id');
foreach ($tempColumns as $column) {
if (!array_key_exists($column, $returnProperties)) {
$returnProperties[$column] = 1;
示例3: exportComponents
//.........这里部分代码省略.........
$returnProperties[$key] = 1;
}
}
if ($primary) {
$returnProperties['location_type'] = 1;
$returnProperties['im_provider'] = 1;
$returnProperties['phone_type_id'] = 1;
$returnProperties['provider_id'] = 1;
$returnProperties['current_employer'] = 1;
}
$extraReturnProperties = array();
$paymentFields = false;
switch ($queryMode) {
case CRM_Contact_BAO_Query::MODE_EVENT:
$paymentFields = true;
$paymentTableId = "participant_id";
break;
case CRM_Contact_BAO_Query::MODE_MEMBER:
$paymentFields = true;
$paymentTableId = "membership_id";
break;
case CRM_Contact_BAO_Query::MODE_PLEDGE:
require_once 'CRM/Pledge/BAO/Query.php';
$extraReturnProperties = CRM_Pledge_BAO_Query::extraReturnProperties($queryMode);
$paymentFields = true;
$paymentTableId = "pledge_payment_id";
break;
case CRM_Contact_BAO_Query::MODE_CASE:
require_once 'CRM/Case/BAO/Query.php';
$extraReturnProperties = CRM_Case_BAO_Query::extraReturnProperties($queryMode);
break;
}
if ($queryMode != CRM_Contact_BAO_Query::MODE_CONTACTS) {
$componentReturnProperties =& CRM_Contact_BAO_Query::defaultReturnProperties($queryMode);
$returnProperties = array_merge($returnProperties, $componentReturnProperties);
if (!empty($extraReturnProperties)) {
$returnProperties = array_merge($returnProperties, $extraReturnProperties);
}
// unset groups, tags, notes for components
foreach (array('groups', 'tags', 'notes') as $value) {
unset($returnProperties[$value]);
}
}
}
if ($moreReturnProperties) {
$returnProperties = array_merge($returnProperties, $moreReturnProperties);
}
$query =& new CRM_Contact_BAO_Query(0, $returnProperties, null, false, false, $queryMode);
list($select, $from, $where) = $query->query();
$allRelContactArray = $relationQuery = array();
foreach ($contactRelationshipTypes as $rel => $dnt) {
if ($relationReturnProperties = CRM_Utils_Array::value($rel, $returnProperties)) {
$allRelContactArray[$rel] = array();
// build Query for each relationship
$relationQuery[$rel] =& new CRM_Contact_BAO_Query(0, $relationReturnProperties, null, false, false, $queryMode);
list($relationSelect, $relationFrom, $relationWhere) = $relationQuery[$rel]->query();
list($id, $direction) = explode('_', $rel, 2);
// identify the relationship direction
$contactA = 'contact_id_a';
$contactB = 'contact_id_b';
if ($direction == 'b_a') {
$contactA = 'contact_id_b';
$contactB = 'contact_id_a';
}
$relIDs = implode(',', $ids);
$relSQL = "SELECT {$contactB} as relContact,{$contactA} as refContact FROM civicrm_relationship \n WHERE relationship_type_id = {$id} AND\n {$contactA} IN ({$relIDs})\n GROUP BY {$contactA}";
示例4: CRM_Contact_BAO_Query
/**
* class constructor which also does all the work
*
* @param array $params
* @param array $returnProperties
* @param array $fields
* @param boolean $includeContactIds
* @param boolean $strict
* @param boolean $mode - mode the search is operating on
*
* @return Object
* @access public
*/
function CRM_Contact_BAO_Query($params = null, $returnProperties = null, $fields = null, $includeContactIds = false, $strict = false, $mode = 1)
{
require_once 'CRM/Contact/BAO/Contact.php';
//CRM_Core_Error::debug( 'params', $params );
//CRM_Core_Error::debug( 'post', $_POST );
$this->_params =& $params;
if (empty($returnProperties)) {
$this->_returnProperties =& CRM_Contact_BAO_Query::defaultReturnProperties($mode);
} else {
$this->_returnProperties =& $returnProperties;
}
$this->_includeContactIds = $includeContactIds;
$this->_strict = $strict;
$this->_mode = $mode;
if ($fields) {
$this->_fields =& $fields;
$this->_search = false;
} else {
require_once 'CRM/Contact/BAO/Contact.php';
$this->_fields = CRM_Contact_BAO_Contact::exportableFields('All', false, true);
require_once 'CRM/Contribute/BAO/Contribution.php';
$fields = CRM_Contribute_BAO_Contribution::exportableFields();
unset($fields['contact_id']);
unset($fields['note']);
$this->_fields = array_merge($this->_fields, $fields);
}
// basically do all the work once, and then reuse it
$this->initialize();
// CRM_Core_Error::debug( 'q', $this );
}
示例5: exportComponents
//.........这里部分代码省略.........
$returnProperties[$key] = 1;
}
}
if ($primary) {
$returnProperties['location_type'] = 1;
$returnProperties['im_provider'] = 1;
$returnProperties['phone_type_id'] = 1;
$returnProperties['provider_id'] = 1;
$returnProperties['current_employer'] = 1;
}
$extraReturnProperties = array();
$paymentFields = false;
switch ($queryMode) {
case CRM_Contact_BAO_Query::MODE_EVENT:
$paymentFields = true;
$paymentTableId = "participant_id";
break;
case CRM_Contact_BAO_Query::MODE_MEMBER:
$paymentFields = true;
$paymentTableId = "membership_id";
break;
case CRM_Contact_BAO_Query::MODE_PLEDGE:
require_once 'CRM/Pledge/BAO/Query.php';
$extraReturnProperties = CRM_Pledge_BAO_Query::extraReturnProperties($queryMode);
$paymentFields = true;
$paymentTableId = "pledge_payment_id";
break;
case CRM_Contact_BAO_Query::MODE_CASE:
require_once 'CRM/Case/BAO/Query.php';
$extraReturnProperties = CRM_Case_BAO_Query::extraReturnProperties($queryMode);
break;
}
if ($queryMode != CRM_Contact_BAO_Query::MODE_CONTACTS) {
$componentReturnProperties =& CRM_Contact_BAO_Query::defaultReturnProperties($queryMode);
$returnProperties = array_merge($returnProperties, $componentReturnProperties);
if (!empty($extraReturnProperties)) {
$returnProperties = array_merge($returnProperties, $extraReturnProperties);
}
// unset groups, tags, notes for components
foreach (array('groups', 'tags', 'notes') as $value) {
unset($returnProperties[$value]);
}
}
}
if ($moreReturnProperties) {
$returnProperties = array_merge($returnProperties, $moreReturnProperties);
}
$query =& new CRM_Contact_BAO_Query(0, $returnProperties, null, false, false, $queryMode);
list($select, $from, $where) = $query->query();
// make sure the groups stuff is included only if specifically specified
// by the fields param (CRM-1969), else we limit the contacts outputted to only
// ones that are part of a group
if (CRM_Utils_Array::value('groups', $returnProperties)) {
$oldClause = "contact_a.id = civicrm_group_contact.contact_id";
$newClause = " ( {$oldClause} AND civicrm_group_contact.status = 'Added' OR civicrm_group_contact.status IS NULL ) ";
// total hack for export, CRM-3618
$from = str_replace($oldClause, $newClause, $from);
}
if ($componentClause) {
if (empty($where)) {
$where = "WHERE {$componentClause}";
} else {
$where .= " AND {$componentClause}";
}
}
$queryString = "{$select} {$from} {$where}";
示例6: exportComponents
//.........这里部分代码省略.........
$returnProperties[$key] = 1;
}
}
if ($primary) {
$returnProperties['location_type'] = 1;
$returnProperties['im_provider'] = 1;
$returnProperties['phone_type_id'] = 1;
$returnProperties['provider_id'] = 1;
$returnProperties['current_employer'] = 1;
}
$extraReturnProperties = array();
$paymentFields = false;
switch ($queryMode) {
case CRM_Contact_BAO_Query::MODE_EVENT:
$paymentFields = true;
$paymentTableId = "participant_id";
break;
case CRM_Contact_BAO_Query::MODE_MEMBER:
$paymentFields = true;
$paymentTableId = "membership_id";
break;
case CRM_Contact_BAO_Query::MODE_PLEDGE:
require_once 'CRM/Pledge/BAO/Query.php';
$extraReturnProperties = CRM_Pledge_BAO_Query::extraReturnProperties($queryMode);
$paymentFields = true;
$paymentTableId = "pledge_payment_id";
break;
case CRM_Contact_BAO_Query::MODE_CASE:
require_once 'CRM/Case/BAO/Query.php';
$extraReturnProperties = CRM_Case_BAO_Query::extraReturnProperties($queryMode);
break;
}
if ($queryMode != CRM_Contact_BAO_Query::MODE_CONTACTS) {
$componentReturnProperties = CRM_Contact_BAO_Query::defaultReturnProperties($queryMode);
$returnProperties = array_merge($returnProperties, $componentReturnProperties);
if (!empty($extraReturnProperties)) {
$returnProperties = array_merge($returnProperties, $extraReturnProperties);
}
// unset non exportable fields for components
$nonExpoFields = array('groups', 'tags', 'notes', 'contribution_status_id', 'pledge_status_id', 'pledge_payment_status_id');
foreach ($nonExpoFields as $value) {
unset($returnProperties[$value]);
}
}
}
if ($mergeSameAddress) {
$drop = false;
//make sure the addressee fields are selected
//while using merge same address feature
$returnProperties['addressee'] = 1;
$returnProperties['street_name'] = 1;
if (!CRM_Utils_Array::value('last_name', $returnProperties)) {
$returnProperties['last_name'] = 1;
$drop = 'last_name';
}
$returnProperties['household_name'] = 1;
$returnProperties['street_address'] = 1;
}
if ($moreReturnProperties) {
// fix for CRM-7066
if (CRM_Utils_Array::value('group', $moreReturnProperties)) {
unset($moreReturnProperties['group']);
$moreReturnProperties['groups'] = 1;
}
$returnProperties = array_merge($returnProperties, $moreReturnProperties);
}