Software /
code /
prosody
Comparison
plugins/muc/mod_muc.lua @ 9237:b86c2e135797
MUC: Add support for storing additional data with MUC affiliations
XEP-0045 registration provides examples of registering a nickname
and various other details. This also allows modules to store arbitrary
private data about an affiliated entity.
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Mon, 03 Sep 2018 12:18:13 +0100 |
parent | 9221:6dc1aeefa876 |
child | 9240:f9a83aca4421 |
comparison
equal
deleted
inserted
replaced
9236:83375ec33619 | 9237:b86c2e135797 |
---|---|
105 if is_admin(jid) then return "owner"; end | 105 if is_admin(jid) then return "owner"; end |
106 return _get_affiliation(self, jid); | 106 return _get_affiliation(self, jid); |
107 end | 107 end |
108 | 108 |
109 local _set_affiliation = room_mt.set_affiliation; | 109 local _set_affiliation = room_mt.set_affiliation; |
110 function room_mt:set_affiliation(actor, jid, affiliation, reason) | 110 function room_mt:set_affiliation(actor, jid, affiliation, reason, data) |
111 if affiliation ~= "owner" and is_admin(jid) then return nil, "modify", "not-acceptable"; end | 111 if affiliation ~= "owner" and is_admin(jid) then return nil, "modify", "not-acceptable"; end |
112 return _set_affiliation(self, actor, jid, affiliation, reason); | 112 return _set_affiliation(self, actor, jid, affiliation, reason, data); |
113 end | 113 end |
114 end | 114 end |
115 | 115 |
116 local persistent_rooms_storage = module:open_store("persistent"); | 116 local persistent_rooms_storage = module:open_store("persistent"); |
117 local persistent_rooms = module:open_store("persistent", "map"); | 117 local persistent_rooms = module:open_store("persistent", "map"); |