# HG changeset patch # User Nicholas George # Date 1716430284 18000 # Node ID 9d0270680d1fa5c1d522d10023160d6cf1466c47 # Parent e7584fd5b191af4823bd7994c54b8f9f796eb7d8 mod_muc_restrict_pm: fix lua warnings diff -r e7584fd5b191 -r 9d0270680d1f mod_muc_restrict_pm/mod_muc_restrict_pm.lua --- a/mod_muc_restrict_pm/mod_muc_restrict_pm.lua Tue May 21 01:09:12 2024 -0500 +++ b/mod_muc_restrict_pm/mod_muc_restrict_pm.lua Wed May 22 21:11:24 2024 -0500 @@ -50,14 +50,14 @@ { value = 'none', label = 'Everyone', default = affilpm == 'none' } } }); - + table.insert(event.form, { name = 'muc#restrict_pm_to'; type = 'boolean'; label = 'Allow PMs to everyone'; value = can_pm_anyone(event.room); }); - + table.insert(event.form, { name = 'muc#restrict_pm_visitor'; type = 'boolean'; @@ -91,19 +91,26 @@ end module:hook("muc-private-message", function(event) - local from_occupant, to_occupant = event.room:get_occupant_by_nick(event.stanza.attr.from), event.room:get_occupant_by_nick(event.stanza.attr.to); - + local stanza, room = event.stanza, event.room; + local from_occupant = room:get_occupant_by_nick(stanza.attr.from); + local to_occupant = room:get_occupant_by_nick(stanza.attr.to); + -- To self is always okay if to_occupant.bare_jid == from_occupant.bare_jid then return; end - + -- To moderation is okay if to_occupant and to_occupant.role == 'moderator' then return; end - - if not is_visitor_pm_off(event.room) or (from_occupant == nil or from_occupant.role ~= 'visitor') then + + if not is_visitor_pm_off(room) or (from_occupant == nil or from_occupant.role ~= 'visitor') then -- If visitors disabled - if can_user_pm(event.room, from_occupant.bare_jid) and (can_pm_anyone(event.room) or can_user_pm(event.room, to_occupant.bare_jid)) then return; end; + if can_user_pm(room, from_occupant.bare_jid) and (can_pm_anyone(room) or can_user_pm(room, to_occupant.bare_jid)) then + return; + end; end - - event.room:route_to_occupant(from_occupant, st.error_reply(event.stanza, "cancel", "policy-violation", "Private messages are disabled", event.room.jid)); + + room:route_to_occupant( + from_occupant, + st.error_reply(stanza, "cancel", "policy-violation", "Private messages are disabled", room.jid) + ); return false; end, 1);