Software /
code /
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 |
parent | 2318:3e5828e3f17f |
child | 2320: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")); |