Mercurial > prosody-modules
comparison mod_report_forward/mod_report_forward.lua @ 5860:fdff8cb54302
mod_report_forward: fix address detection when there are multiple field values
| author | Stephen Paul Weber <singpolyma@singpolyma.net> |
|---|---|
| date | Mon, 11 Mar 2024 19:28:19 -0500 |
| parents | ff90dad75352 |
| children | b5a110544fd4 |
comparison
equal
deleted
inserted
replaced
| 5859:259ffdbf8906 | 5860:fdff8cb54302 |
|---|---|
| 39 local function get_address(form, ...) | 39 local function get_address(form, ...) |
| 40 for i = 1, select("#", ...) do | 40 for i = 1, select("#", ...) do |
| 41 local field_var = select(i, ...); | 41 local field_var = select(i, ...); |
| 42 local field = form:get_child_with_attr("field", nil, "var", field_var); | 42 local field = form:get_child_with_attr("field", nil, "var", field_var); |
| 43 if field then | 43 if field then |
| 44 local parsed = url.parse(field:get_child_text("value")); | 44 for value in field:childtags("value") do |
| 45 if parsed.scheme == "xmpp" and parsed.path and not parsed.query then | 45 local parsed = url.parse(value:get_text()); |
| 46 return parsed.path; | 46 if parsed.scheme == "xmpp" and parsed.path and not parsed.query then |
| 47 return parsed.path; | |
| 48 end | |
| 47 end | 49 end |
| 48 else | 50 else |
| 49 module:log("debug", "No field '%s'", field_var); | 51 module:log("debug", "No field '%s'", field_var); |
| 50 end | 52 end |
| 51 end | 53 end |
