function um_add_search_to_query($query_args, $args)
{
    global $ultimatemember;
    extract($args);
    if (isset($_REQUEST['um_search'])) {
        $query = $ultimatemember->permalinks->get_query_array();
        // if searching
        if (isset($query['search'])) {
            $query_args['search'] = '*' . um_filter_search($query['search']) . '*';
            unset($query['search']);
        }
        if ($query && is_array($query)) {
            foreach ($query as $field => $value) {
                if (in_array($field, array('members_page'))) {
                    continue;
                }
                if (in_array($field, array('gender'))) {
                    $operator = '=';
                } else {
                    $operator = 'LIKE';
                }
                $arr_filter_field_types = array('checkbox', 'multiselect');
                $arr_field_types = apply_filters('um_search_filter_field_types', $arr_filter_field_types);
                if (in_array($ultimatemember->fields->get_field_type($field), $arr_field_types)) {
                    $operator = 'LIKE';
                    if (!empty($value)) {
                        $value = serialize(strval($value));
                    }
                }
                if (in_array($ultimatemember->fields->get_field_type($field), array('select'))) {
                    $operator = '=';
                }
                if ($value && $field != 'um_search' && $field != 'page_id') {
                    if (!in_array($field, $ultimatemember->members->core_search_fields)) {
                        if (strstr($field, 'role_')) {
                            $field = 'role';
                            $operator = '=';
                        }
                        $query_args['meta_query'][] = array('key' => $field, 'value' => trim($value), 'compare' => $operator);
                    }
                }
            }
        }
    }
    // allow filtering
    $query_args = apply_filters('um_query_args_filter', $query_args);
    if (count($query_args['meta_query']) == 1) {
        unset($query_args['meta_query']);
    }
    return $query_args;
}
/**
 * Returns the user search query
 * @return string
 */
function um_get_search_query()
{
    global $ultimatemember;
    $query = $ultimatemember->permalinks->get_query_array();
    $search = isset($query['search']) ? $query['search'] : '';
    return um_filter_search($search);
}