author | Matthew Wild <mwild1@gmail.com> |
Fri, 23 Feb 2024 22:47:05 +0000 | |
changeset 5846 | ed82916e5796 |
parent 5653 | 2c69577b28c2 |
child 5885 | 66e7d46b1d4b |
permissions | -rw-r--r-- |
5653
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); |