annotate mod_muc_restrict_avatars/mod_muc_restrict_avatars.lua @ 5729:79ba1a1a75cc

mod_storage_xmlarchive: Fix "user" iteration API Fixes use in prosody-migrator. Otherwise this particular API is not used much, or this would have been noticed before. Usually it is a different store like 'accounts' that is responsible for providing the authoritative list of users. Thanks Ge0rG for testing
author Kim Alvefur <zash@zash.se>
date Thu, 23 Nov 2023 16:16:34 +0100
parents 2c69577b28c2
children 66e7d46b1d4b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5649
2c69577b28c2 mod_muc_restrict_avatars: Block MUC participant avatars for non-members
Stephen Paul Weber <singpolyma@singpolyma.net>
parents:
diff changeset
1 local bare_jid = require"util.jid".bare;
2c69577b28c2 mod_muc_restrict_avatars: Block MUC participant avatars for non-members
Stephen Paul Weber <singpolyma@singpolyma.net>
parents:
diff changeset
2 local mod_muc = module:depends("muc");
2c69577b28c2 mod_muc_restrict_avatars: Block MUC participant avatars for non-members
Stephen Paul Weber <singpolyma@singpolyma.net>
parents:
diff changeset
3
2c69577b28c2 mod_muc_restrict_avatars: Block MUC participant avatars for non-members
Stephen Paul Weber <singpolyma@singpolyma.net>
parents:
diff changeset
4 local function filter_avatar_advertisement(tag)
2c69577b28c2 mod_muc_restrict_avatars: Block MUC participant avatars for non-members
Stephen Paul Weber <singpolyma@singpolyma.net>
parents:
diff changeset
5 if tag.attr.xmlns == "vcard-temp:x:update" then
2c69577b28c2 mod_muc_restrict_avatars: Block MUC participant avatars for non-members
Stephen Paul Weber <singpolyma@singpolyma.net>
parents:
diff changeset
6 return nil;
2c69577b28c2 mod_muc_restrict_avatars: Block MUC participant avatars for non-members
Stephen Paul Weber <singpolyma@singpolyma.net>
parents:
diff changeset
7 end
2c69577b28c2 mod_muc_restrict_avatars: Block MUC participant avatars for non-members
Stephen Paul Weber <singpolyma@singpolyma.net>
parents:
diff changeset
8
2c69577b28c2 mod_muc_restrict_avatars: Block MUC participant avatars for non-members
Stephen Paul Weber <singpolyma@singpolyma.net>
parents:
diff changeset
9 return tag;
2c69577b28c2 mod_muc_restrict_avatars: Block MUC participant avatars for non-members
Stephen Paul Weber <singpolyma@singpolyma.net>
parents:
diff changeset
10 end
2c69577b28c2 mod_muc_restrict_avatars: Block MUC participant avatars for non-members
Stephen Paul Weber <singpolyma@singpolyma.net>
parents:
diff changeset
11
2c69577b28c2 mod_muc_restrict_avatars: Block MUC participant avatars for non-members
Stephen Paul Weber <singpolyma@singpolyma.net>
parents:
diff changeset
12 module:hook("presence/full", function(event)
2c69577b28c2 mod_muc_restrict_avatars: Block MUC participant avatars for non-members
Stephen Paul Weber <singpolyma@singpolyma.net>
parents:
diff changeset
13 local stanza = event.stanza;
2c69577b28c2 mod_muc_restrict_avatars: Block MUC participant avatars for non-members
Stephen Paul Weber <singpolyma@singpolyma.net>
parents:
diff changeset
14 local room = mod_muc.get_room_from_jid(bare_jid(stanza.attr.to));
2c69577b28c2 mod_muc_restrict_avatars: Block MUC participant avatars for non-members
Stephen Paul Weber <singpolyma@singpolyma.net>
parents:
diff changeset
15
2c69577b28c2 mod_muc_restrict_avatars: Block MUC participant avatars for non-members
Stephen Paul Weber <singpolyma@singpolyma.net>
parents:
diff changeset
16 if not room:get_affiliation(stanza.attr.from) then
2c69577b28c2 mod_muc_restrict_avatars: Block MUC participant avatars for non-members
Stephen Paul Weber <singpolyma@singpolyma.net>
parents:
diff changeset
17 stanza:maptags(filter_avatar_advertisement);
2c69577b28c2 mod_muc_restrict_avatars: Block MUC participant avatars for non-members
Stephen Paul Weber <singpolyma@singpolyma.net>
parents:
diff changeset
18 end
2c69577b28c2 mod_muc_restrict_avatars: Block MUC participant avatars for non-members
Stephen Paul Weber <singpolyma@singpolyma.net>
parents:
diff changeset
19 end, 1);