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);