Comparison

mod_mam/mod_mam.lua @ 666:b42b75f3bda0

mod_mam: Add the UID to the <result> when sending an archived message back.
author Thijs Alkemade <thijsalkemade@gmail.com>
date Mon, 21 May 2012 15:36:02 +0200
parent 635:30be50d2537f
child 671:74efb2db00a6
comparison
equal deleted inserted replaced
665:684cc57a49c1 666:b42b75f3bda0
137 module:log("debug", "Loaded %d items, about to filter", #data); 137 module:log("debug", "Loaded %d items, about to filter", #data);
138 for i=1,#data do 138 for i=1,#data do
139 local item = data[i]; 139 local item = data[i];
140 local when, with, with_bare = item.when, item.with, item.with_bare; 140 local when, with, with_bare = item.when, item.with, item.with_bare;
141 local ts = item.timestamp; 141 local ts = item.timestamp;
142 local id = item.id;
142 --module:log("debug", "message with %s at %s", with, when or "???"); 143 --module:log("debug", "message with %s at %s", with, when or "???");
143 -- Apply query filter 144 -- Apply query filter
144 if (not qwith or ((qwith == with) or (qwith == with_bare))) 145 if (not qwith or ((qwith == with) or (qwith == with_bare)))
145 and (not qstart or when >= qstart) 146 and (not qstart or when >= qstart)
146 and (not qend or when <= qend) then 147 and (not qend or when <= qend) then
147 -- Optimizable? Do this when archiving? 148 -- Optimizable? Do this when archiving?
148 --module:log("debug", "sending"); 149 --module:log("debug", "sending");
149 local fwd_st = st.message{ to = origin.full_jid } 150 local fwd_st = st.message{ to = origin.full_jid }
150 :tag("result", { xmlns = xmlns_mam, queryid = qid }):up() 151 :tag("result", { xmlns = xmlns_mam, queryid = qid, id = id }):up()
151 :tag("forwarded", { xmlns = xmlns_forward }) 152 :tag("forwarded", { xmlns = xmlns_forward })
152 :tag("delay", { xmlns = xmlns_delay, stamp = ts or timestamp(when) }):up(); 153 :tag("delay", { xmlns = xmlns_delay, stamp = ts or timestamp(when) }):up();
153 local orig_stanza = st.deserialize(item.stanza); 154 local orig_stanza = st.deserialize(item.stanza);
154 orig_stanza.attr.xmlns = "jabber:client"; 155 orig_stanza.attr.xmlns = "jabber:client";
155 fwd_st:add_child(orig_stanza); 156 fwd_st:add_child(orig_stanza);