Mercurial > prosody-modules
comparison mod_muc_hide_media/mod_muc_hide_media.lua @ 3689:65e94270c413
mod_muc_hide_media: Also strip SIMS media
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Sun, 29 Sep 2019 18:53:00 +0100 |
parents | d267e381255f |
children | 9084588c73ae |
comparison
equal
deleted
inserted
replaced
3688:d4537f045a78 | 3689:65e94270c413 |
---|---|
45 name = "{xmpp:prosody.im}muc#roomconfig_display_media", | 45 name = "{xmpp:prosody.im}muc#roomconfig_display_media", |
46 }); | 46 }); |
47 formdata["{xmpp:prosody.im}muc#roomconfig_display_media"] = display_media; | 47 formdata["{xmpp:prosody.im}muc#roomconfig_display_media"] = display_media; |
48 end); | 48 end); |
49 | 49 |
50 local function filter_media_tags(tag) | |
51 local xmlns = tag.attr.xmlns; | |
52 if xmlns == "jabber:x:oob" then | |
53 return nil; | |
54 elseif xmlns == "urn:xmpp:reference:0" then | |
55 if tag:get_child("media-sharing", "urn:xmpp:sims:1") then | |
56 return nil; | |
57 end | |
58 end | |
59 return tag; | |
60 end | |
50 | 61 |
51 module:hook("muc-occupant-groupchat", function (event) | 62 module:hook("muc-occupant-groupchat", function (event) |
52 local stanza = event.stanza; | 63 local stanza = event.stanza; |
53 if stanza.attr.type ~= "groupchat" then return; end | 64 if stanza.attr.type ~= "groupchat" then return; end |
54 if should_hide_media(event.room) then | 65 if should_hide_media(event.room) then |
55 stanza:remove_children("x", "jabber:x:oob"); | 66 stanza:maptags(filter_media_tags); |
56 end | 67 end |
57 end, 20); | 68 end, 20); |