comparison mod_mam/mod_mam.lua @ 1685:cd87a2eba8f2

mod_mam: Reverse the order of reversed queries back to chronological order
author Kim Alvefur <zash@zash.se>
date Sun, 03 May 2015 13:34:23 +0200
parents 838150167871
children 55bc42c1d8c5
comparison
equal deleted inserted replaced
1684:838150167871 1685:cd87a2eba8f2
137 local total = err; 137 local total = err;
138 138
139 origin.send(st.reply(stanza)) 139 origin.send(st.reply(stanza))
140 local msg_reply_attr = { to = stanza.attr.from, from = stanza.attr.to }; 140 local msg_reply_attr = { to = stanza.attr.from, from = stanza.attr.to };
141 141
142 local results = {};
143
142 -- Wrap it in stuff and deliver 144 -- Wrap it in stuff and deliver
143 local first, last; 145 local first, last;
144 local count = 0; 146 local count = 0;
145 local complete = "true"; 147 local complete = "true";
146 for id, item, when in data do 148 for id, item, when in data do
161 fwd_st:add_child(item); 163 fwd_st:add_child(item);
162 164
163 if not first then first = id; end 165 if not first then first = id; end
164 last = id; 166 last = id;
165 167
166 origin.send(fwd_st); 168 if reverse then
167 end 169 results[count] = fwd_st;
170 else
171 origin.send(fwd_st);
172 end
173 end
174 if reverse then
175 for i = #results, 1, -1 do
176 origin.send(results[i]);
177 end
178 end
179
168 -- That's all folks! 180 -- That's all folks!
169 module:log("debug", "Archive query %s completed", tostring(qid)); 181 module:log("debug", "Archive query %s completed", tostring(qid));
170 182
171 if reverse then first, last = last, first; end 183 if reverse then first, last = last, first; end
172 origin.send(st.message(msg_reply_attr) 184 origin.send(st.message(msg_reply_attr)