$cacheKey = "civicrm search {$this->_key}";
Civi::service('prevnext')->deleteItem(NULL, $cacheKey, 'civicrm_contact');
- $sql = $this->_query->getSearchSQL(0, 0, $sort,
+ $sql = $this->_query->getSearchSQLParts(0, 0, $sort,
FALSE, FALSE,
FALSE, FALSE,
$this->_campaignWhereClause,
NULL,
$this->_campaignFromClause
);
- list($select, $from) = explode(' FROM ', $sql);
+
$selectSQL = "
SELECT %1, contact_a.id, contact_a.display_name
-FROM {$from}
+FROM {$sql['from']}
";
try {
);
$query->_useDistinct = FALSE;
$query->_useGroupBy = FALSE;
- $searchSQL
- = $query->searchQuery(
+ $sqlParts = $query->getSearchSQLParts(
0, 0, NULL,
FALSE, FALSE,
- FALSE, TRUE,
- TRUE,
- NULL, NULL, NULL,
- TRUE
+ FALSE, TRUE
);
+ $searchSQL = "{$sqlParts['select']} {$sqlParts['from']} {$sqlParts['where']} {$sqlParts['having']} {$sqlParts['group_by']}";
}
$groupID = CRM_Utils_Type::escape($groupID, 'Integer');
$sql = $searchSQL . " AND contact_a.id NOT IN (