core#1411: Advanced Search crashes when some form values start with 1
authorJon Goldberg <jon@megaphonetech.com>
Thu, 21 Nov 2019 18:32:56 +0000 (13:32 -0500)
committerJon Goldberg <jon@megaphonetech.com>
Thu, 21 Nov 2019 20:10:14 +0000 (15:10 -0500)
CRM/Contact/Selector.php

index 1e9a3b0ee5a54dfe3f2ed9d3a161dc2877485025..faf4e64e2dcce687ac35d5b0d501431903260a02 100644 (file)
@@ -1039,11 +1039,11 @@ class CRM_Contact_Selector extends CRM_Core_Selector_Base implements CRM_Core_Se
     // the other alternative of running the FULL query will just be incredibly inefficient
     // and slow things down way too much on large data sets / complex queries
 
-    $selectSQL = "SELECT DISTINCT %1, contact_a.id, contact_a.sort_name";
+    $selectSQL = CRM_Core_DAO::composeQuery("SELECT DISTINCT %1, contact_a.id, contact_a.sort_name", [1 => [$cacheKey, 'String']]);
 
     $sql = str_ireplace(["SELECT contact_a.id as contact_id", "SELECT contact_a.id as id"], $selectSQL, $sql);
     try {
-      Civi::service('prevnext')->fillWithSql($cacheKey, $sql, [1 => [$cacheKey, 'String']]);
+      Civi::service('prevnext')->fillWithSql($cacheKey, $sql);
     }
     catch (CRM_Core_Exception $e) {
       if ($coreSearch) {