echo CRM_Contact_BAO_Contact::getCountComponent('custom_' . $customGroupID, $contactId);
}
- // reset the group contact cache for this group
- CRM_Contact_BAO_GroupContactCache::remove();
+ CRM_Contact_BAO_GroupContactCache::opportunisticCacheFlush();
CRM_Utils_System::civiExit();
}
$contactType = CRM_Core_DAO::getFieldValue('CRM_Dedupe_DAO_RuleGroup', $rgid, 'contact_type');
}
- $cacheKeyString = "merge {$contactType}_{$rgid}_{$gid}";
+ $cacheKeyString = CRM_Dedupe_Merger::getMergeCacheKeyString($rgid, $gid);
$searchRows = array();
$selectorElements = array('is_selected', 'is_selected_input', 'src_image', 'src', 'src_email', 'src_street', 'src_postcode', 'dst_image', 'dst', 'dst_email', 'dst_street', 'dst_postcode', 'conflicts', 'weight', 'actions');
if ($selected) {
$whereClause .= ' AND pn.is_selected = 1';
}
- $join .= " LEFT JOIN civicrm_dedupe_exception de ON ( pn.entity_id1 = de.contact_id1 AND pn.entity_id2 = de.contact_id2 )";
+ $join .= CRM_Dedupe_Merger::getJoinOnDedupeTable();
$select = array(
'cc1.contact_type' => 'src_contact_type',
if (!empty($columnDetails)) {
switch ($columnDetails['data']) {
case 'src':
- $whereClause .= " ORDER BY cc1.display_name {$dir}";
+ $orderByClause = " ORDER BY cc1.display_name {$dir}";
break;
case 'src_email':
- $whereClause .= " ORDER BY ce1.email {$dir}";
+ $orderByClause = " ORDER BY ce1.email {$dir}";
break;
case 'src_street':
- $whereClause .= " ORDER BY ca1.street_address {$dir}";
+ $orderByClause = " ORDER BY ca1.street_address {$dir}";
break;
case 'src_postcode':
- $whereClause .= " ORDER BY ca1.postal_code {$dir}";
+ $orderByClause = " ORDER BY ca1.postal_code {$dir}";
break;
case 'dst':
- $whereClause .= " ORDER BY cc2.display_name {$dir}";
+ $orderByClause = " ORDER BY cc2.display_name {$dir}";
break;
case 'dst_email':
- $whereClause .= " ORDER BY ce2.email {$dir}";
+ $orderByClause = " ORDER BY ce2.email {$dir}";
break;
case 'dst_street':
- $whereClause .= " ORDER BY ca2.street_address {$dir}";
+ $orderByClause = " ORDER BY ca2.street_address {$dir}";
break;
case 'dst_postcode':
- $whereClause .= " ORDER BY ca2.postal_code {$dir}";
+ $orderByClause = " ORDER BY ca2.postal_code {$dir}";
break;
default:
}
}
- $dupePairs = CRM_Core_BAO_PrevNextCache::retrieve($cacheKeyString, $join, $whereClause, $offset, $rowCount, $select);
+ $dupePairs = CRM_Core_BAO_PrevNextCache::retrieve($cacheKeyString, $join, $whereClause, $offset, $rowCount, $select, $orderByClause);
$iFilteredTotal = CRM_Core_DAO::singleValueQuery("SELECT FOUND_ROWS()");
$count = 0;
foreach ($elements as $key => $element) {
$elements[$key] = self::_convertToId($element);
}
+ CRM_Utils_Type::escapeAll($elements, 'Integer');
CRM_Core_BAO_PrevNextCache::markSelection($cacheKey, $actionToPerform, $elements);
}
else {
}
elseif ($variableType == 'single') {
$cId = self::_convertToId($name);
+ CRM_Utils_Type::escape($cId, 'Integer');
$action = ($state == 'checked') ? 'select' : 'unselect';
CRM_Core_BAO_PrevNextCache::markSelection($cacheKey, $action, $cId);
}