Mercurial > prosody-modules
comparison mod_mam_muc/mod_mam_muc.lua @ 1146:9fa89dc7a86f
mod_mam_muc: Search the rooms archive correctly (copypaste error from mod_mam)
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Sat, 10 Aug 2013 21:37:35 +0200 |
| parents | 5a00f9bec6e7 |
| children | 50c427295767 |
comparison
equal
deleted
inserted
replaced
| 1145:5a00f9bec6e7 | 1146:9fa89dc7a86f |
|---|---|
| 59 | 59 |
| 60 -- Handle archive queries | 60 -- Handle archive queries |
| 61 module:hook("iq-get/bare/"..xmlns_mam..":query", function(event) | 61 module:hook("iq-get/bare/"..xmlns_mam..":query", function(event) |
| 62 local origin, stanza = event.origin, event.stanza; | 62 local origin, stanza = event.origin, event.stanza; |
| 63 local room = stanza.attr.to; | 63 local room = stanza.attr.to; |
| 64 local room_node = jid_split(room); | |
| 64 local query = stanza.tags[1]; | 65 local query = stanza.tags[1]; |
| 65 | 66 |
| 66 local room_obj = rooms[room]; | 67 local room_obj = rooms[room]; |
| 67 if not room_obj then | 68 if not room_obj then |
| 68 return origin.send(st.error_reply(stanza, "cancel", "item-not-found")) | 69 return origin.send(st.error_reply(stanza, "cancel", "item-not-found")) |
| 99 | 100 |
| 100 local before, after = qset and qset.before, qset and qset.after; | 101 local before, after = qset and qset.before, qset and qset.after; |
| 101 if type(before) ~= "string" then before = nil; end | 102 if type(before) ~= "string" then before = nil; end |
| 102 | 103 |
| 103 -- Load all the data! | 104 -- Load all the data! |
| 104 local data, err = archive:find(origin.username, { | 105 local data, err = archive:find(room_node, { |
| 105 start = qstart; ["end"] = qend; -- Time range | 106 start = qstart; ["end"] = qend; -- Time range |
| 106 limit = qmax; | 107 limit = qmax; |
| 107 before = before; after = after; | 108 before = before; after = after; |
| 108 reverse = reverse; | 109 reverse = reverse; |
| 109 total = true; | 110 total = true; |
