Merge remote-tracking branch 'upstream/4.4' into 4.4-master-2014-06-01-20-54-24
[civicrm-core.git] / CRM / Dedupe / BAO / QueryBuilder.php
1 <?php
2
3 /**
4 * Class CRM_Dedupe_BAO_QueryBuilder
5 */
6 class CRM_Dedupe_BAO_QueryBuilder {
7 /**
8 * @param $rg
9 * @param string $strID1
10 * @param string $strID2
11 *
12 * @return string
13 */
14 static function internalFilters( $rg, $strID1 = 'contact1.id', $strID2 = 'contact2.id' ) {
15 // Add a contact id filter for dedupe by group requests and add logic
16 // to remove duplicate results with opposing orders, i.e. 1,2 and 2,1
17 if( !empty($rg->contactIds) ) {
18 $cids = implode(',',$rg->contactIds);
19 return "($strID1 IN ($cids) AND ( $strID2 NOT IN ($cids) OR ($strID2 IN ($cids) AND $strID1 < $strID2) ))";
20 }
21 else {
22 return "($strID1 < $strID2)";
23 }
24 }
25 };
26
27
28