Software /
code /
prosody
Comparison
plugins/muc/members_only.lib.lua @ 7353:ca31d3271cf8
MUC: Save room to storage once after form processing, not in each individual setter
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Fri, 15 Apr 2016 11:50:55 +0200 |
parent | 7352:50b24b3476e6 |
child | 7401:e16b3fd0bd80 |
comparison
equal
deleted
inserted
replaced
7352:50b24b3476e6 | 7353:ca31d3271cf8 |
---|---|
42 for occupant in pairs(occupants_changed) do | 42 for occupant in pairs(occupants_changed) do |
43 room:publicise_occupant_status(occupant, x); | 43 room:publicise_occupant_status(occupant, x); |
44 module:fire_event("muc-occupant-left", {room = room; nick = occupant.nick; occupant = occupant;}); | 44 module:fire_event("muc-occupant-left", {room = room; nick = occupant.nick; occupant = occupant;}); |
45 end | 45 end |
46 end | 46 end |
47 room:save(true); | |
48 return true; | 47 return true; |
49 end | 48 end |
50 | 49 |
51 module:hook("muc-disco#info", function(event) | 50 module:hook("muc-disco#info", function(event) |
52 event.reply:tag("feature", {var = get_members_only(event.room) and "muc_membersonly" or "muc_open"}):up(); | 51 event.reply:tag("feature", {var = get_members_only(event.room) and "muc_membersonly" or "muc_open"}):up(); |
116 :get_child("invite").attr.from; | 115 :get_child("invite").attr.from; |
117 module:log("debug", "%s invited %s into members only room %s, granting membership", | 116 module:log("debug", "%s invited %s into members only room %s, granting membership", |
118 from, invitee, room.jid); | 117 from, invitee, room.jid); |
119 -- This might fail; ignore for now | 118 -- This might fail; ignore for now |
120 room:set_affiliation(from, invitee, "member", "Invited by " .. from); | 119 room:set_affiliation(from, invitee, "member", "Invited by " .. from); |
120 room:save(); | |
121 end | 121 end |
122 end | 122 end |
123 end); | 123 end); |
124 | 124 |
125 return { | 125 return { |