Index: branches/5.2.x/core/units/helpers/search_helper.php =================================================================== diff -u -N -r14888 -r14889 --- branches/5.2.x/core/units/helpers/search_helper.php (.../search_helper.php) (revision 14888) +++ branches/5.2.x/core/units/helpers/search_helper.php (.../search_helper.php) (revision 14889) @@ -1,6 +1,6 @@ Conn->qstr($value) : false; } + /** + * Returns filter clause + * + * @param kDBItem $object + * @param string $field_name + * @param string $filter_type + * @param Array $field_options + * @return Array + */ function getCustomFilterSearchClause(&$object, $field_name, $filter_type, $field_options) { // this is usually used for mutlilingual fields and date fields @@ -625,18 +634,15 @@ case 'multioptions': $field_value = strlen($field_options['submit_value']) ? $this->Conn->escape($field_options['submit_value']) : false; - if ($field_value) { - $field_options2 = $object->GetFieldOptions($field_name); - $multiple = array_key_exists('multiple', $field_options2) && $field_options2['multiple']; - + if ( $field_value ) { $field_value = explode('|', substr($field_value, 1, -1)); $field_value = $this->Conn->qstrArray($field_value, 'escape'); - if ($multiple) { - $filter_value = $table_name.'`'.$field_name.'` LIKE "%|' . implode('|%" OR ' . $table_name.'`'.$field_name.'` LIKE "%|', $field_value) . '|%"'; + if ( $object->GetFieldOption($field_name, 'multiple') ) { + $filter_value = $table_name . '`' . $field_name . '` LIKE "%|' . implode('|%" OR ' . $table_name . '`' . $field_name . '` LIKE "%|', $field_value) . '|%"'; } else { - $filter_value = $table_name.'`'.$field_name.'` IN ('.implode(',', $field_value).')'; + $filter_value = $table_name . '`' . $field_name . '` IN (' . implode(',', $field_value) . ')'; } } break;