ejabberdsql2prosody: Don't print password of imported accounts (thanks azerttyu)
[prosody.git] / util / dataforms.lua
index 5626172e15fc614e62ab99d568b32c4e684b8a9b..56671347a86eb4b6fe96cef917f66e5b6c8f90a8 100644 (file)
@@ -23,8 +23,8 @@ function new(layout)
        return setmetatable(layout, form_mt);
 end
 
-function form_t.form(layout, data)
-       local form = st.stanza("x", { xmlns = xmlns_forms, type = "form" });
+function form_t.form(layout, data, formtype)
+       local form = st.stanza("x", { xmlns = xmlns_forms, type = formtype or "form" });
        if layout.title then
                form:tag("title"):text(layout.title):up();
        end
@@ -93,7 +93,13 @@ function form_t.data(layout, stanza)
        local data = {};
        
        for field_tag in stanza:childtags() do
-               local field_type = field_tag.attr.type;
+               local field_type;
+               for n, field in ipairs(layout) do
+                       if field.name == field_tag.attr.var then
+                               field_type = field.type;
+                               break;
+                       end
+               end
                
                local reader = field_readers[field_type];
                if reader then