CRM-17422 fix - Change in custom field search behaviour impacting on performance
authormonishdeb <monish.deb@webaccessglobal.com>
Tue, 20 Oct 2015 08:23:49 +0000 (13:53 +0530)
committermonishdeb <monish.deb@webaccessglobal.com>
Wed, 21 Oct 2015 07:37:10 +0000 (13:07 +0530)
https://issues.civicrm.org/jira/browse/CRM-17422

CRM/Contact/Form/Search/Advanced.php
CRM/Core/BAO/CustomValue.php

index 0dd5e95ae8269d66fc1dcf5a1f16368b402c175d..a4abacda18da91187cbafca82d4ad270f78f9194 100644 (file)
@@ -360,8 +360,8 @@ class CRM_Contact_Form_Search_Advanced extends CRM_Contact_Form_Search {
           }
           $this->_formValues[$element] = array('IN' => $value);
         }
-        else {
-          $this->_formValues[$element] = array('LIKE' => "%$value%");
+        elseif ((substr($formValues[$key], 0, 1) == '%') || (substr($formValues[$key], -1, 1) == '%')) {
+          $this->_formValues[$element] = array('LIKE' => $value);
         }
       }
     }
index 3d34883fbe68b8ec4a2a723121f2848c1ee65ce4..557e4ab3a0a63c964f276c0cfb2f88c5956633d5 100644 (file)
@@ -189,11 +189,11 @@ class CRM_Core_BAO_CustomValue extends CRM_Core_DAO {
       elseif (($htmlType == 'TextArea' ||
           ($htmlType == 'Text' && $dataType == 'String')
         ) &&
-        !((substr($formValues[$key], 0, 1) == '%') ||
+        ((substr($formValues[$key], 0, 1) == '%') ||
           (substr($formValues[$key], -1, 1) == '%')
         )
       ) {
-        $formValues[$key] = array('LIKE' => '%' . $formValues[$key] . '%');
+        $formValues[$key] = array('LIKE' => $formValues[$key]);
       }
     }
   }