# HG changeset patch # User Jonas Schäfer # Date 1612536328 -3600 # Node ID 71c495fa03f3e79ebd03add934627cb11ca5cd50 # Parent 157fa4e535b0b808f043eaf4423d04386f08e7d2 mod_groups_internal: allow force-emitting group member addition events This is useful when a new plugin was loaded which handles that event to add some value. Then the command can be called (**not** from the plugin but from an upcoming admin shell module) to synchronise things. diff -r 157fa4e535b0 -r 71c495fa03f3 mod_groups_internal/mod_groups_internal.lua --- a/mod_groups_internal/mod_groups_internal.lua Fri Feb 05 12:36:48 2021 +0000 +++ b/mod_groups_internal/mod_groups_internal.lua Fri Feb 05 15:45:28 2021 +0100 @@ -264,6 +264,27 @@ do_all_group_subscriptions_by_group(group_id); end +function emit_member_events(group_id) + local group_info, err = get_info(group_id) + if group_info == nil then + return false, err + end + + for username in pairs(get_members(group_id)) do + module:fire_event( + "group-user-added", + { + id = group_id, + user = username, + host = host, + group_info = group_info, + } + ) + end + + return true +end + -- Returns iterator over group ids function groups() return group_info_store:users();