Mercurial > prosody-hg
comparison plugins/muc/mod_muc.lua @ 6111:f8b94903be52
plugins/muc: Provide a reasonable default `route_stanza`
| author | daurnimator <quae@daurnimator.com> |
|---|---|
| date | Wed, 19 Mar 2014 12:03:15 -0400 |
| parents | d007b3c49078 |
| children | 6c66571ab0f9 |
comparison
equal
deleted
inserted
replaced
| 6110:d007b3c49078 | 6111:f8b94903be52 |
|---|---|
| 62 function muclib.room_mt:set_affiliation(actor, jid, affiliation, callback, reason) | 62 function muclib.room_mt:set_affiliation(actor, jid, affiliation, callback, reason) |
| 63 if is_admin(jid) then return nil, "modify", "not-acceptable"; end | 63 if is_admin(jid) then return nil, "modify", "not-acceptable"; end |
| 64 return _set_affiliation(self, actor, jid, affiliation, callback, reason); | 64 return _set_affiliation(self, actor, jid, affiliation, callback, reason); |
| 65 end | 65 end |
| 66 | 66 |
| 67 local function room_route_stanza(room, stanza) module:send(stanza); end | |
| 68 local function room_save(room, forced) | 67 local function room_save(room, forced) |
| 69 local node = jid_split(room.jid); | 68 local node = jid_split(room.jid); |
| 70 persistent_rooms[room.jid] = room._data.persistent; | 69 persistent_rooms[room.jid] = room._data.persistent; |
| 71 if room._data.persistent then | 70 if room._data.persistent then |
| 72 local history = room._data.history; | 71 local history = room._data.history; |
| 87 if forced then persistent_rooms_storage:set(nil, persistent_rooms); end | 86 if forced then persistent_rooms_storage:set(nil, persistent_rooms); end |
| 88 end | 87 end |
| 89 | 88 |
| 90 function create_room(jid) | 89 function create_room(jid) |
| 91 local room = muc_new_room(jid); | 90 local room = muc_new_room(jid); |
| 92 room.route_stanza = room_route_stanza; | |
| 93 room.save = room_save; | 91 room.save = room_save; |
| 94 rooms[jid] = room; | 92 rooms[jid] = room; |
| 95 if lock_rooms then | 93 if lock_rooms then |
| 96 room.locked = true; | 94 room.locked = true; |
| 97 if lock_room_timeout and lock_room_timeout > 0 then | 95 if lock_room_timeout and lock_room_timeout > 0 then |
| 129 end | 127 end |
| 130 end | 128 end |
| 131 if persistent_errors then persistent_rooms_storage:set(nil, persistent_rooms); end | 129 if persistent_errors then persistent_rooms_storage:set(nil, persistent_rooms); end |
| 132 | 130 |
| 133 local host_room = muc_new_room(muc_host); | 131 local host_room = muc_new_room(muc_host); |
| 134 host_room.route_stanza = room_route_stanza; | |
| 135 host_room.save = room_save; | 132 host_room.save = room_save; |
| 136 rooms[muc_host] = host_room; | 133 rooms[muc_host] = host_room; |
| 137 | 134 |
| 138 module:hook("host-disco-items", function(event) | 135 module:hook("host-disco-items", function(event) |
| 139 local reply = event.reply; | 136 local reply = event.reply; |
