diff --git a/admin/themes/default/js/user_list.js b/admin/themes/default/js/user_list.js index 1f3c12037..5fba10527 100644 --- a/admin/themes/default/js/user_list.js +++ b/admin/themes/default/js/user_list.js @@ -1519,7 +1519,9 @@ function update_user_list() { per_page: per_page, exclude: [guest_id] } - update_data["filter"] = "%" + $("#user_search").val() + "%"; + if ($("#user_search").val().length != 0) { + update_data["filter"] = $("#user_search").val(); + } if ($("#advanced-filter-container").css("display") !== "none") { update_data["status"] = $(".advanced-filter-select[name=filter_status]").val(); update_data["group_id"] = $(".advanced-filter-select[name=filter_group]").val(); diff --git a/include/ws_functions/pwg.users.php b/include/ws_functions/pwg.users.php index 62ec8759e..70b6ed4ec 100644 --- a/include/ws_functions/pwg.users.php +++ b/include/ws_functions/pwg.users.php @@ -44,16 +44,16 @@ function ws_users_getList($params, &$service) $filtered_groups = array(); if (!empty($params['filter'])) { - $filter_query = 'SELECT id FROM '. GROUPS_TABLE .' WHERE name LIKE \''. $params['filter'] . '\';'; + $filter_query = 'SELECT id FROM `'. GROUPS_TABLE .'` WHERE name LIKE \'%'. $params['filter'] . '%\';'; $filtered_groups_res = pwg_query($filter_query); while ($row = pwg_db_fetch_assoc($filtered_groups_res)) { $filtered_groups[] = $row['id']; } - $filter_where_clause = '('.'u.'.$conf['user_fields']['username'].' LIKE \''. - pwg_db_real_escape_string($params['filter']).'\' OR ' - .'u.'.$conf['user_fields']['email'].' LIKE \''. - pwg_db_real_escape_string($params['filter']).'\''; + $filter_where_clause = '('.'u.'.$conf['user_fields']['username'].' LIKE \'%'. + pwg_db_real_escape_string($params['filter']).'%\' OR ' + .'u.'.$conf['user_fields']['email'].' LIKE \'%'. + pwg_db_real_escape_string($params['filter']).'%\''; if (!empty($filtered_groups)) { $filter_where_clause .= 'OR ug.group_id IN ('. implode(',', $filtered_groups).')';