Mercurial > prosody-modules
comparison mod_http_muc_log/mod_http_muc_log.lua @ 4592:38f501dca618
mod_http_muc_log: Find edit relations using XEP-0308
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Tue, 15 Jun 2021 17:35:56 +0200 |
| parents | 3145823992cb |
| children | a2cf3b69a3d6 |
comparison
equal
deleted
inserted
replaced
| 4591:327c7cacd89f | 4592:38f501dca618 |
|---|---|
| 328 end | 328 end |
| 329 | 329 |
| 330 local nick = select(3, jid_split(item.attr.from)); | 330 local nick = select(3, jid_split(item.attr.from)); |
| 331 local oob = use_oob and item:get_child("x", "jabber:x:oob"); | 331 local oob = use_oob and item:get_child("x", "jabber:x:oob"); |
| 332 | 332 |
| 333 local edit = item:find("{urn:xmpp:message-correct:0}replace/@id"); | |
| 334 if edit then | |
| 335 local found = false; | |
| 336 for n = i-1, 1, -1 do | |
| 337 if not logs[n] then | |
| 338 break; -- Probably reached logs[0] | |
| 339 elseif logs[n].id == edit and nick == logs[n].nick then | |
| 340 found = true; | |
| 341 logs[n].edited = key; | |
| 342 edit = logs[n].key; | |
| 343 break; | |
| 344 end | |
| 345 end | |
| 346 if not found then | |
| 347 -- Ignore unresolved edit. | |
| 348 edit = nil; | |
| 349 end | |
| 350 end | |
| 351 | |
| 333 if body or verb or oob then | 352 if body or verb or oob then |
| 334 local line = { | 353 local line = { |
| 354 id = item.attr.id, | |
| 335 key = key; | 355 key = key; |
| 336 datetime = datetime.datetime(when); | 356 datetime = datetime.datetime(when); |
| 337 time = datetime.time(when); | 357 time = datetime.time(when); |
| 338 verb = verb; | 358 verb = verb; |
| 339 body = body; | 359 body = body; |
| 340 lang = lang; | 360 lang = lang; |
| 341 nick = nick; | 361 nick = nick; |
| 342 st_name = item.name; | 362 st_name = item.name; |
| 343 st_type = item.attr.type; | 363 st_type = item.attr.type; |
| 364 edit = edit; | |
| 344 }; | 365 }; |
| 345 if oob then | 366 if oob then |
| 346 line.oob = { | 367 line.oob = { |
| 347 url = oob:get_child_text("url"); | 368 url = oob:get_child_text("url"); |
| 348 desc = oob:get_child_text("desc"); | 369 desc = oob:get_child_text("desc"); |
