+--------------------------------------------------------------------+
| CiviCRM version 4.6 |
+--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2014 |
+ | Copyright CiviCRM LLC (c) 2004-2015 |
+--------------------------------------------------------------------+
| This file is a part of CiviCRM. |
| |
/**
*
* @package CRM
- * @copyright CiviCRM LLC (c) 2004-2014
+ * @copyright CiviCRM LLC (c) 2004-2015
* $Id$
*
*/
* @param array $formValues
* @return null
*/
- public static function fixFieldValueOfTypeMemo(&$formValues) {
+ public static function fixCustomFieldValue(&$formValues) {
if (empty($formValues)) {
return NULL;
}
$htmlType = CRM_Core_DAO::getFieldValue('CRM_Core_BAO_CustomField',
substr($key, 7), 'html_type'
);
- if (($htmlType == 'TextArea') &&
+ $dataType = CRM_Core_DAO::getFieldValue('CRM_Core_BAO_CustomField',
+ substr($key, 7), 'data_type'
+ );
+
+ if (is_array($formValues[$key])) {
+ if (!in_array(key($formValues[$key]), CRM_Core_DAO::acceptedSQLOperators(), TRUE)) {
+ $formValues[$key] = array('IN' => $formValues[$key]);
+ }
+ }
+ elseif (($htmlType == 'TextArea' ||
+ ($htmlType == 'Text' && $dataType == 'String')
+ ) &&
!((substr($formValues[$key], 0, 1) == '%') ||
(substr($formValues[$key], -1, 1) == '%')
)
) {
- $formValues[$key] = '%' . $formValues[$key] . '%';
+ $formValues[$key] = array('LIKE' => '%' . $formValues[$key] . '%');
}
-
}
}