Mercurial > prosody-modules
comparison mod_server_contact_info/mod_server_contact_info.lua @ 2319:86128b948fed
mod_server_contact_info: Use more explicit value data format for dataform
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Sat, 01 Oct 2016 17:16:23 +0200 |
| parents | 3e5828e3f17f |
| children | d6a3362ca256 |
comparison
equal
deleted
inserted
replaced
| 2318:3e5828e3f17f | 2319:86128b948fed |
|---|---|
| 29 local form_layout = { | 29 local form_layout = { |
| 30 { value = "http://jabber.org/network/serverinfo"; type = "hidden"; name = "FORM_TYPE"; }; | 30 { value = "http://jabber.org/network/serverinfo"; type = "hidden"; name = "FORM_TYPE"; }; |
| 31 }; | 31 }; |
| 32 local form_values = {}; | 32 local form_values = {}; |
| 33 | 33 |
| 34 for t,a in pairs(contact_config) do | 34 for t in pairs(valid_types) do |
| 35 if valid_types[t] and a then | 35 local addresses = contact_config[t]; |
| 36 if addresses then | |
| 36 t_insert(form_layout, { name = t .. "-addresses", type = "list-multi" }); | 37 t_insert(form_layout, { name = t .. "-addresses", type = "list-multi" }); |
| 37 form_values[t .. "-addresses"] = type(a) == "table" and a or {a}; | 38 local values = {}; |
| 39 if type(addresses) ~= "table" then | |
| 40 values[1] = { value = addresses }; | |
| 41 else | |
| 42 for i, address in ipairs(addresses) do | |
| 43 values[i] = { value = address }; | |
| 44 end | |
| 45 end | |
| 46 form_values[t .. "-addresses"] = values; | |
| 38 end | 47 end |
| 39 end | 48 end |
| 40 | 49 |
| 41 module:add_extension(df_new(form_layout):form(form_values, "result")); | 50 module:add_extension(df_new(form_layout):form(form_values, "result")); |
