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"));