Software /
code /
prosody
Annotate
util/dataforms.lua @ 7567:495de404a8ae
ejabberdsql2prosody: rename variable 'host' to prevent shadowing upvalue [luacheck]
Functions roster(), roster_pending(), roster_group(), private_storage() and
offline_msg() have argument named "host", which used to shadow upvalue of this
variable before this change. Instead of renaming this argument, let's rename
the variable to match what the script says in usage:
Usage: ejabberdsql2prosody.lua filename.txt hostname
author | Anton Shestakov <av6@dwimlabs.net> |
---|---|
date | Fri, 12 Aug 2016 13:44:47 +0800 |
parent | 7446:0db72fac2faa |
child | 8255:d70d4c1ac17a |
rev | line source |
---|---|
1522
569d58d21612
Add copyright header to those files missing one
Matthew Wild <mwild1@gmail.com>
parents:
957
diff
changeset
|
1 -- Prosody IM |
2923
b7049746bd29
Update copyright headers for 2010
Matthew Wild <mwild1@gmail.com>
parents:
2488
diff
changeset
|
2 -- Copyright (C) 2008-2010 Matthew Wild |
b7049746bd29
Update copyright headers for 2010
Matthew Wild <mwild1@gmail.com>
parents:
2488
diff
changeset
|
3 -- Copyright (C) 2008-2010 Waqas Hussain |
5776
bd0ff8ae98a8
Remove all trailing whitespace
Florian Zeitz <florob@babelmonkeys.de>
parents:
5693
diff
changeset
|
4 -- |
1522
569d58d21612
Add copyright header to those files missing one
Matthew Wild <mwild1@gmail.com>
parents:
957
diff
changeset
|
5 -- This project is MIT/X11 licensed. Please see the |
569d58d21612
Add copyright header to those files missing one
Matthew Wild <mwild1@gmail.com>
parents:
957
diff
changeset
|
6 -- COPYING file in the source package for more information. |
569d58d21612
Add copyright header to those files missing one
Matthew Wild <mwild1@gmail.com>
parents:
957
diff
changeset
|
7 -- |
569d58d21612
Add copyright header to those files missing one
Matthew Wild <mwild1@gmail.com>
parents:
957
diff
changeset
|
8 |
951
4b9207949735
util.dataforms: Fixed to actually work, mostly
Matthew Wild <mwild1@gmail.com>
parents:
851
diff
changeset
|
9 local setmetatable = setmetatable; |
6668
f6f39c2f1b1f
util.dataforms: Remove unused import of pairs() (thanks luacheck)
Matthew Wild <mwild1@gmail.com>
parents:
6468
diff
changeset
|
10 local ipairs = ipairs; |
4397
1378e3c79c34
util.dataforms: Add field verification logic
Florian Zeitz <florob@babelmonkeys.de>
parents:
3540
diff
changeset
|
11 local tostring, type, next = tostring, type, next; |
954
72e4639c9310
util.dataforms: Fixes for hidden field type
Matthew Wild <mwild1@gmail.com>
parents:
953
diff
changeset
|
12 local t_concat = table.concat; |
951
4b9207949735
util.dataforms: Fixed to actually work, mostly
Matthew Wild <mwild1@gmail.com>
parents:
851
diff
changeset
|
13 local st = require "util.stanza"; |
4397
1378e3c79c34
util.dataforms: Add field verification logic
Florian Zeitz <florob@babelmonkeys.de>
parents:
3540
diff
changeset
|
14 local jid_prep = require "util.jid".prep; |
845
fc3dced9801e
util.dataforms: First commit, incomplete
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
15 |
6777
5de6b93d0190
util.*: Remove use of module() function, make all module functions local and return them in a table at the end
Kim Alvefur <zash@zash.se>
parents:
6672
diff
changeset
|
16 local _ENV = nil; |
845
fc3dced9801e
util.dataforms: First commit, incomplete
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
17 |
fc3dced9801e
util.dataforms: First commit, incomplete
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
18 local xmlns_forms = 'jabber:x:data'; |
fc3dced9801e
util.dataforms: First commit, incomplete
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
19 |
fc3dced9801e
util.dataforms: First commit, incomplete
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
20 local form_t = {}; |
fc3dced9801e
util.dataforms: First commit, incomplete
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
21 local form_mt = { __index = form_t }; |
fc3dced9801e
util.dataforms: First commit, incomplete
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
22 |
6777
5de6b93d0190
util.*: Remove use of module() function, make all module functions local and return them in a table at the end
Kim Alvefur <zash@zash.se>
parents:
6672
diff
changeset
|
23 local function new(layout) |
845
fc3dced9801e
util.dataforms: First commit, incomplete
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
24 return setmetatable(layout, form_mt); |
fc3dced9801e
util.dataforms: First commit, incomplete
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
25 end |
fc3dced9801e
util.dataforms: First commit, incomplete
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
26 |
2488
08bfd7c96531
util.dataforms: Add optional type parameters (defaults to 'form')
Matthew Wild <mwild1@gmail.com>
parents:
2219
diff
changeset
|
27 function form_t.form(layout, data, formtype) |
08bfd7c96531
util.dataforms: Add optional type parameters (defaults to 'form')
Matthew Wild <mwild1@gmail.com>
parents:
2219
diff
changeset
|
28 local form = st.stanza("x", { xmlns = xmlns_forms, type = formtype or "form" }); |
951
4b9207949735
util.dataforms: Fixed to actually work, mostly
Matthew Wild <mwild1@gmail.com>
parents:
851
diff
changeset
|
29 if layout.title then |
4b9207949735
util.dataforms: Fixed to actually work, mostly
Matthew Wild <mwild1@gmail.com>
parents:
851
diff
changeset
|
30 form:tag("title"):text(layout.title):up(); |
4b9207949735
util.dataforms: Fixed to actually work, mostly
Matthew Wild <mwild1@gmail.com>
parents:
851
diff
changeset
|
31 end |
4b9207949735
util.dataforms: Fixed to actually work, mostly
Matthew Wild <mwild1@gmail.com>
parents:
851
diff
changeset
|
32 if layout.instructions then |
4b9207949735
util.dataforms: Fixed to actually work, mostly
Matthew Wild <mwild1@gmail.com>
parents:
851
diff
changeset
|
33 form:tag("instructions"):text(layout.instructions):up(); |
4b9207949735
util.dataforms: Fixed to actually work, mostly
Matthew Wild <mwild1@gmail.com>
parents:
851
diff
changeset
|
34 end |
6672
d6a60e74f773
util.dataforms: Rename unused loop counter to '_' [luacheck]
Matthew Wild <mwild1@gmail.com>
parents:
6668
diff
changeset
|
35 for _, field in ipairs(layout) do |
951
4b9207949735
util.dataforms: Fixed to actually work, mostly
Matthew Wild <mwild1@gmail.com>
parents:
851
diff
changeset
|
36 local field_type = field.type or "text-single"; |
845
fc3dced9801e
util.dataforms: First commit, incomplete
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
37 -- Add field tag |
951
4b9207949735
util.dataforms: Fixed to actually work, mostly
Matthew Wild <mwild1@gmail.com>
parents:
851
diff
changeset
|
38 form:tag("field", { type = field_type, var = field.name, label = field.label }); |
845
fc3dced9801e
util.dataforms: First commit, incomplete
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
39 |
1945
adfd7f3720f5
util.dataforms: Small fix to allow generating forms without specifying any input data
Matthew Wild <mwild1@gmail.com>
parents:
1944
diff
changeset
|
40 local value = (data and data[field.name]) or field.value; |
5776
bd0ff8ae98a8
Remove all trailing whitespace
Florian Zeitz <florob@babelmonkeys.de>
parents:
5693
diff
changeset
|
41 |
2061
e34fdca432a9
util.dataforms: Only add value to rendered form if supplied in the data
Florian Zeitz
parents:
1958
diff
changeset
|
42 if value then |
e34fdca432a9
util.dataforms: Only add value to rendered form if supplied in the data
Florian Zeitz
parents:
1958
diff
changeset
|
43 -- Add value, depending on type |
e34fdca432a9
util.dataforms: Only add value to rendered form if supplied in the data
Florian Zeitz
parents:
1958
diff
changeset
|
44 if field_type == "hidden" then |
e34fdca432a9
util.dataforms: Only add value to rendered form if supplied in the data
Florian Zeitz
parents:
1958
diff
changeset
|
45 if type(value) == "table" then |
e34fdca432a9
util.dataforms: Only add value to rendered form if supplied in the data
Florian Zeitz
parents:
1958
diff
changeset
|
46 -- Assume an XML snippet |
e34fdca432a9
util.dataforms: Only add value to rendered form if supplied in the data
Florian Zeitz
parents:
1958
diff
changeset
|
47 form:tag("value") |
e34fdca432a9
util.dataforms: Only add value to rendered form if supplied in the data
Florian Zeitz
parents:
1958
diff
changeset
|
48 :add_child(value) |
e34fdca432a9
util.dataforms: Only add value to rendered form if supplied in the data
Florian Zeitz
parents:
1958
diff
changeset
|
49 :up(); |
1958
e2b0026143c4
util.dataforms: Incorporate slightly modified patch for list-single type from Florob
Matthew Wild <mwild1@gmail.com>
parents:
1945
diff
changeset
|
50 else |
2061
e34fdca432a9
util.dataforms: Only add value to rendered form if supplied in the data
Florian Zeitz
parents:
1958
diff
changeset
|
51 form:tag("value"):text(tostring(value)):up(); |
e34fdca432a9
util.dataforms: Only add value to rendered form if supplied in the data
Florian Zeitz
parents:
1958
diff
changeset
|
52 end |
e34fdca432a9
util.dataforms: Only add value to rendered form if supplied in the data
Florian Zeitz
parents:
1958
diff
changeset
|
53 elseif field_type == "boolean" then |
e34fdca432a9
util.dataforms: Only add value to rendered form if supplied in the data
Florian Zeitz
parents:
1958
diff
changeset
|
54 form:tag("value"):text((value and "1") or "0"):up(); |
e34fdca432a9
util.dataforms: Only add value to rendered form if supplied in the data
Florian Zeitz
parents:
1958
diff
changeset
|
55 elseif field_type == "fixed" then |
5551
e1e06f1465be
util.dataforms: Add support for generating type='fixed' fields
Florian Zeitz <florob@babelmonkeys.de>
parents:
4928
diff
changeset
|
56 form:tag("value"):text(value):up(); |
2061
e34fdca432a9
util.dataforms: Only add value to rendered form if supplied in the data
Florian Zeitz
parents:
1958
diff
changeset
|
57 elseif field_type == "jid-multi" then |
e34fdca432a9
util.dataforms: Only add value to rendered form if supplied in the data
Florian Zeitz
parents:
1958
diff
changeset
|
58 for _, jid in ipairs(value) do |
e34fdca432a9
util.dataforms: Only add value to rendered form if supplied in the data
Florian Zeitz
parents:
1958
diff
changeset
|
59 form:tag("value"):text(jid):up(); |
e34fdca432a9
util.dataforms: Only add value to rendered form if supplied in the data
Florian Zeitz
parents:
1958
diff
changeset
|
60 end |
e34fdca432a9
util.dataforms: Only add value to rendered form if supplied in the data
Florian Zeitz
parents:
1958
diff
changeset
|
61 elseif field_type == "jid-single" then |
e34fdca432a9
util.dataforms: Only add value to rendered form if supplied in the data
Florian Zeitz
parents:
1958
diff
changeset
|
62 form:tag("value"):text(value):up(); |
e34fdca432a9
util.dataforms: Only add value to rendered form if supplied in the data
Florian Zeitz
parents:
1958
diff
changeset
|
63 elseif field_type == "text-single" or field_type == "text-private" then |
e34fdca432a9
util.dataforms: Only add value to rendered form if supplied in the data
Florian Zeitz
parents:
1958
diff
changeset
|
64 form:tag("value"):text(value):up(); |
e34fdca432a9
util.dataforms: Only add value to rendered form if supplied in the data
Florian Zeitz
parents:
1958
diff
changeset
|
65 elseif field_type == "text-multi" then |
e34fdca432a9
util.dataforms: Only add value to rendered form if supplied in the data
Florian Zeitz
parents:
1958
diff
changeset
|
66 -- Split into multiple <value> tags, one for each line |
e34fdca432a9
util.dataforms: Only add value to rendered form if supplied in the data
Florian Zeitz
parents:
1958
diff
changeset
|
67 for line in value:gmatch("([^\r\n]+)\r?\n*") do |
e34fdca432a9
util.dataforms: Only add value to rendered form if supplied in the data
Florian Zeitz
parents:
1958
diff
changeset
|
68 form:tag("value"):text(line):up(); |
e34fdca432a9
util.dataforms: Only add value to rendered form if supplied in the data
Florian Zeitz
parents:
1958
diff
changeset
|
69 end |
e34fdca432a9
util.dataforms: Only add value to rendered form if supplied in the data
Florian Zeitz
parents:
1958
diff
changeset
|
70 elseif field_type == "list-single" then |
3379
17d4298b2a58
util.dataforms: Capability to set default for list-single
Florian Zeitz <florob@babelmonkeys.de>
parents:
2923
diff
changeset
|
71 local has_default = false; |
7442
156c95bfed0b
util.dataforms: Allow separation of options from values in list fields
Kim Alvefur <zash@zash.se>
parents:
6981
diff
changeset
|
72 for _, val in ipairs(field.options or value) do |
2061
e34fdca432a9
util.dataforms: Only add value to rendered form if supplied in the data
Florian Zeitz
parents:
1958
diff
changeset
|
73 if type(val) == "table" then |
e34fdca432a9
util.dataforms: Only add value to rendered form if supplied in the data
Florian Zeitz
parents:
1958
diff
changeset
|
74 form:tag("option", { label = val.label }):tag("value"):text(val.value):up():up(); |
7446
0db72fac2faa
util.dataforms: Fix including default value for list-single when given as field.value[].default
Kim Alvefur <zash@zash.se>
parents:
7442
diff
changeset
|
75 if value == val.value or val.default and (not has_default) then |
3379
17d4298b2a58
util.dataforms: Capability to set default for list-single
Florian Zeitz <florob@babelmonkeys.de>
parents:
2923
diff
changeset
|
76 form:tag("value"):text(val.value):up(); |
17d4298b2a58
util.dataforms: Capability to set default for list-single
Florian Zeitz <florob@babelmonkeys.de>
parents:
2923
diff
changeset
|
77 has_default = true; |
17d4298b2a58
util.dataforms: Capability to set default for list-single
Florian Zeitz <florob@babelmonkeys.de>
parents:
2923
diff
changeset
|
78 end |
2061
e34fdca432a9
util.dataforms: Only add value to rendered form if supplied in the data
Florian Zeitz
parents:
1958
diff
changeset
|
79 else |
e34fdca432a9
util.dataforms: Only add value to rendered form if supplied in the data
Florian Zeitz
parents:
1958
diff
changeset
|
80 form:tag("option", { label= val }):tag("value"):text(tostring(val)):up():up(); |
e34fdca432a9
util.dataforms: Only add value to rendered form if supplied in the data
Florian Zeitz
parents:
1958
diff
changeset
|
81 end |
1958
e2b0026143c4
util.dataforms: Incorporate slightly modified patch for list-single type from Florob
Matthew Wild <mwild1@gmail.com>
parents:
1945
diff
changeset
|
82 end |
7442
156c95bfed0b
util.dataforms: Allow separation of options from values in list fields
Kim Alvefur <zash@zash.se>
parents:
6981
diff
changeset
|
83 if field.options and value then |
156c95bfed0b
util.dataforms: Allow separation of options from values in list fields
Kim Alvefur <zash@zash.se>
parents:
6981
diff
changeset
|
84 form:tag("value"):text(value):up(); |
156c95bfed0b
util.dataforms: Allow separation of options from values in list fields
Kim Alvefur <zash@zash.se>
parents:
6981
diff
changeset
|
85 end |
3380
e74e80b454a1
util.dataforms: Add list-multi support
Florian Zeitz <florob@babelmonkeys.de>
parents:
3379
diff
changeset
|
86 elseif field_type == "list-multi" then |
7442
156c95bfed0b
util.dataforms: Allow separation of options from values in list fields
Kim Alvefur <zash@zash.se>
parents:
6981
diff
changeset
|
87 for _, val in ipairs(field.options or value) do |
3380
e74e80b454a1
util.dataforms: Add list-multi support
Florian Zeitz <florob@babelmonkeys.de>
parents:
3379
diff
changeset
|
88 if type(val) == "table" then |
e74e80b454a1
util.dataforms: Add list-multi support
Florian Zeitz <florob@babelmonkeys.de>
parents:
3379
diff
changeset
|
89 form:tag("option", { label = val.label }):tag("value"):text(val.value):up():up(); |
7442
156c95bfed0b
util.dataforms: Allow separation of options from values in list fields
Kim Alvefur <zash@zash.se>
parents:
6981
diff
changeset
|
90 if not field.options and val.default then |
3380
e74e80b454a1
util.dataforms: Add list-multi support
Florian Zeitz <florob@babelmonkeys.de>
parents:
3379
diff
changeset
|
91 form:tag("value"):text(val.value):up(); |
e74e80b454a1
util.dataforms: Add list-multi support
Florian Zeitz <florob@babelmonkeys.de>
parents:
3379
diff
changeset
|
92 end |
e74e80b454a1
util.dataforms: Add list-multi support
Florian Zeitz <florob@babelmonkeys.de>
parents:
3379
diff
changeset
|
93 else |
e74e80b454a1
util.dataforms: Add list-multi support
Florian Zeitz <florob@babelmonkeys.de>
parents:
3379
diff
changeset
|
94 form:tag("option", { label= val }):tag("value"):text(tostring(val)):up():up(); |
e74e80b454a1
util.dataforms: Add list-multi support
Florian Zeitz <florob@babelmonkeys.de>
parents:
3379
diff
changeset
|
95 end |
e74e80b454a1
util.dataforms: Add list-multi support
Florian Zeitz <florob@babelmonkeys.de>
parents:
3379
diff
changeset
|
96 end |
7442
156c95bfed0b
util.dataforms: Allow separation of options from values in list fields
Kim Alvefur <zash@zash.se>
parents:
6981
diff
changeset
|
97 if field.options and value then |
156c95bfed0b
util.dataforms: Allow separation of options from values in list fields
Kim Alvefur <zash@zash.se>
parents:
6981
diff
changeset
|
98 for _, val in ipairs(value) do |
156c95bfed0b
util.dataforms: Allow separation of options from values in list fields
Kim Alvefur <zash@zash.se>
parents:
6981
diff
changeset
|
99 form:tag("value"):text(val):up(); |
156c95bfed0b
util.dataforms: Allow separation of options from values in list fields
Kim Alvefur <zash@zash.se>
parents:
6981
diff
changeset
|
100 end |
156c95bfed0b
util.dataforms: Allow separation of options from values in list fields
Kim Alvefur <zash@zash.se>
parents:
6981
diff
changeset
|
101 end |
1958
e2b0026143c4
util.dataforms: Incorporate slightly modified patch for list-single type from Florob
Matthew Wild <mwild1@gmail.com>
parents:
1945
diff
changeset
|
102 end |
845
fc3dced9801e
util.dataforms: First commit, incomplete
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
103 end |
6148
7dcd6f124c93
util.dataforms: Add support for XEP-0221: Data Forms Media Element
Kim Alvefur <zash@zash.se>
parents:
5693
diff
changeset
|
104 |
7dcd6f124c93
util.dataforms: Add support for XEP-0221: Data Forms Media Element
Kim Alvefur <zash@zash.se>
parents:
5693
diff
changeset
|
105 local media = field.media; |
7dcd6f124c93
util.dataforms: Add support for XEP-0221: Data Forms Media Element
Kim Alvefur <zash@zash.se>
parents:
5693
diff
changeset
|
106 if media then |
7dcd6f124c93
util.dataforms: Add support for XEP-0221: Data Forms Media Element
Kim Alvefur <zash@zash.se>
parents:
5693
diff
changeset
|
107 form:tag("media", { xmlns = "urn:xmpp:media-element", height = media.height, width = media.width }); |
7dcd6f124c93
util.dataforms: Add support for XEP-0221: Data Forms Media Element
Kim Alvefur <zash@zash.se>
parents:
5693
diff
changeset
|
108 for _, val in ipairs(media) do |
7dcd6f124c93
util.dataforms: Add support for XEP-0221: Data Forms Media Element
Kim Alvefur <zash@zash.se>
parents:
5693
diff
changeset
|
109 form:tag("uri", { type = val.type }):text(val.uri):up() |
7dcd6f124c93
util.dataforms: Add support for XEP-0221: Data Forms Media Element
Kim Alvefur <zash@zash.se>
parents:
5693
diff
changeset
|
110 end |
7dcd6f124c93
util.dataforms: Add support for XEP-0221: Data Forms Media Element
Kim Alvefur <zash@zash.se>
parents:
5693
diff
changeset
|
111 form:up(); |
7dcd6f124c93
util.dataforms: Add support for XEP-0221: Data Forms Media Element
Kim Alvefur <zash@zash.se>
parents:
5693
diff
changeset
|
112 end |
6149 | 113 |
952
ef648f49e734
util.dataforms: Add support for <required/> fields
Matthew Wild <mwild1@gmail.com>
parents:
951
diff
changeset
|
114 if field.required then |
ef648f49e734
util.dataforms: Add support for <required/> fields
Matthew Wild <mwild1@gmail.com>
parents:
951
diff
changeset
|
115 form:tag("required"):up(); |
ef648f49e734
util.dataforms: Add support for <required/> fields
Matthew Wild <mwild1@gmail.com>
parents:
951
diff
changeset
|
116 end |
5776
bd0ff8ae98a8
Remove all trailing whitespace
Florian Zeitz <florob@babelmonkeys.de>
parents:
5693
diff
changeset
|
117 |
845
fc3dced9801e
util.dataforms: First commit, incomplete
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
118 -- Jump back up to list of fields |
fc3dced9801e
util.dataforms: First commit, incomplete
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
119 form:up(); |
fc3dced9801e
util.dataforms: First commit, incomplete
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
120 end |
851
b48c7ed3f7f8
util.dataforms: Return the form
Matthew Wild <mwild1@gmail.com>
parents:
845
diff
changeset
|
121 return form; |
845
fc3dced9801e
util.dataforms: First commit, incomplete
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
122 end |
fc3dced9801e
util.dataforms: First commit, incomplete
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
123 |
955
98ca5a753fee
util.dataforms: Support for retriving the field value data from forms
Matthew Wild <mwild1@gmail.com>
parents:
954
diff
changeset
|
124 local field_readers = {}; |
98ca5a753fee
util.dataforms: Support for retriving the field value data from forms
Matthew Wild <mwild1@gmail.com>
parents:
954
diff
changeset
|
125 |
845
fc3dced9801e
util.dataforms: First commit, incomplete
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
126 function form_t.data(layout, stanza) |
955
98ca5a753fee
util.dataforms: Support for retriving the field value data from forms
Matthew Wild <mwild1@gmail.com>
parents:
954
diff
changeset
|
127 local data = {}; |
4397
1378e3c79c34
util.dataforms: Add field verification logic
Florian Zeitz <florob@babelmonkeys.de>
parents:
3540
diff
changeset
|
128 local errors = {}; |
6981
bcaa553de6e8
util.dataforms: Track which fields are included in a form
Kim Alvefur <zash@zash.se>
parents:
6830
diff
changeset
|
129 local present = {}; |
4397
1378e3c79c34
util.dataforms: Add field verification logic
Florian Zeitz <florob@babelmonkeys.de>
parents:
3540
diff
changeset
|
130 |
1378e3c79c34
util.dataforms: Add field verification logic
Florian Zeitz <florob@babelmonkeys.de>
parents:
3540
diff
changeset
|
131 for _, field in ipairs(layout) do |
1378e3c79c34
util.dataforms: Add field verification logic
Florian Zeitz <florob@babelmonkeys.de>
parents:
3540
diff
changeset
|
132 local tag; |
6467
77d00a895bbd
util/dataforms: Make sure we iterate over field tags
daurnimator <quae@daurnimator.com>
parents:
6148
diff
changeset
|
133 for field_tag in stanza:childtags("field") do |
2219
9e1c6b6a2ee4
util.dataforms: Don't require type when parsing form XML
Florian Zeitz
parents:
2070
diff
changeset
|
134 if field.name == field_tag.attr.var then |
4397
1378e3c79c34
util.dataforms: Add field verification logic
Florian Zeitz <florob@babelmonkeys.de>
parents:
3540
diff
changeset
|
135 tag = field_tag; |
2219
9e1c6b6a2ee4
util.dataforms: Don't require type when parsing form XML
Florian Zeitz
parents:
2070
diff
changeset
|
136 break; |
9e1c6b6a2ee4
util.dataforms: Don't require type when parsing form XML
Florian Zeitz
parents:
2070
diff
changeset
|
137 end |
9e1c6b6a2ee4
util.dataforms: Don't require type when parsing form XML
Florian Zeitz
parents:
2070
diff
changeset
|
138 end |
4397
1378e3c79c34
util.dataforms: Add field verification logic
Florian Zeitz <florob@babelmonkeys.de>
parents:
3540
diff
changeset
|
139 |
4434
51a7c85751b9
util.dataforms: Fix form verification
Florian Zeitz <florob@babelmonkeys.de>
parents:
4397
diff
changeset
|
140 if not tag then |
51a7c85751b9
util.dataforms: Fix form verification
Florian Zeitz <florob@babelmonkeys.de>
parents:
4397
diff
changeset
|
141 if field.required then |
51a7c85751b9
util.dataforms: Fix form verification
Florian Zeitz <florob@babelmonkeys.de>
parents:
4397
diff
changeset
|
142 errors[field.name] = "Required value missing"; |
51a7c85751b9
util.dataforms: Fix form verification
Florian Zeitz <florob@babelmonkeys.de>
parents:
4397
diff
changeset
|
143 end |
51a7c85751b9
util.dataforms: Fix form verification
Florian Zeitz <florob@babelmonkeys.de>
parents:
4397
diff
changeset
|
144 else |
6981
bcaa553de6e8
util.dataforms: Track which fields are included in a form
Kim Alvefur <zash@zash.se>
parents:
6830
diff
changeset
|
145 present[field.name] = true; |
4434
51a7c85751b9
util.dataforms: Fix form verification
Florian Zeitz <florob@babelmonkeys.de>
parents:
4397
diff
changeset
|
146 local reader = field_readers[field.type]; |
51a7c85751b9
util.dataforms: Fix form verification
Florian Zeitz <florob@babelmonkeys.de>
parents:
4397
diff
changeset
|
147 if reader then |
4884
b8d852aea3ad
util.dataforms: Do field validation and normalization in field readers.
Kim Alvefur <zash@zash.se>
parents:
4435
diff
changeset
|
148 data[field.name], errors[field.name] = reader(tag, field.required); |
4397
1378e3c79c34
util.dataforms: Add field verification logic
Florian Zeitz <florob@babelmonkeys.de>
parents:
3540
diff
changeset
|
149 end |
955
98ca5a753fee
util.dataforms: Support for retriving the field value data from forms
Matthew Wild <mwild1@gmail.com>
parents:
954
diff
changeset
|
150 end |
4397
1378e3c79c34
util.dataforms: Add field verification logic
Florian Zeitz <florob@babelmonkeys.de>
parents:
3540
diff
changeset
|
151 end |
1378e3c79c34
util.dataforms: Add field verification logic
Florian Zeitz <florob@babelmonkeys.de>
parents:
3540
diff
changeset
|
152 if next(errors) then |
6981
bcaa553de6e8
util.dataforms: Track which fields are included in a form
Kim Alvefur <zash@zash.se>
parents:
6830
diff
changeset
|
153 return data, errors, present; |
955
98ca5a753fee
util.dataforms: Support for retriving the field value data from forms
Matthew Wild <mwild1@gmail.com>
parents:
954
diff
changeset
|
154 end |
6981
bcaa553de6e8
util.dataforms: Track which fields are included in a form
Kim Alvefur <zash@zash.se>
parents:
6830
diff
changeset
|
155 return data, nil, present; |
845
fc3dced9801e
util.dataforms: First commit, incomplete
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
156 end |
fc3dced9801e
util.dataforms: First commit, incomplete
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
157 |
6829
22522443982f
util.dataforms: Refactor parsing to reuse simple text parser instead of duplicate code
Kim Alvefur <zash@zash.se>
parents:
6777
diff
changeset
|
158 local function simple_text(field_tag, required) |
22522443982f
util.dataforms: Refactor parsing to reuse simple text parser instead of duplicate code
Kim Alvefur <zash@zash.se>
parents:
6777
diff
changeset
|
159 local data = field_tag:get_child_text("value"); |
6830
e08f5d081a6c
util.dataforms: Fix interaction of required fields and empty string values (fixes #521)
Kim Alvefur <zash@zash.se>
parents:
6829
diff
changeset
|
160 -- XEP-0004 does not say if an empty string is acceptable for a required value |
e08f5d081a6c
util.dataforms: Fix interaction of required fields and empty string values (fixes #521)
Kim Alvefur <zash@zash.se>
parents:
6829
diff
changeset
|
161 -- so we will follow HTML5 which says that empty string means missing |
e08f5d081a6c
util.dataforms: Fix interaction of required fields and empty string values (fixes #521)
Kim Alvefur <zash@zash.se>
parents:
6829
diff
changeset
|
162 if required and (data == nil or data == "") then |
6829
22522443982f
util.dataforms: Refactor parsing to reuse simple text parser instead of duplicate code
Kim Alvefur <zash@zash.se>
parents:
6777
diff
changeset
|
163 return nil, "Required value missing"; |
4397
1378e3c79c34
util.dataforms: Add field verification logic
Florian Zeitz <florob@babelmonkeys.de>
parents:
3540
diff
changeset
|
164 end |
6830
e08f5d081a6c
util.dataforms: Fix interaction of required fields and empty string values (fixes #521)
Kim Alvefur <zash@zash.se>
parents:
6829
diff
changeset
|
165 return data; -- Return whatever get_child_text returned, even if empty string |
6829
22522443982f
util.dataforms: Refactor parsing to reuse simple text parser instead of duplicate code
Kim Alvefur <zash@zash.se>
parents:
6777
diff
changeset
|
166 end |
4397
1378e3c79c34
util.dataforms: Add field verification logic
Florian Zeitz <florob@babelmonkeys.de>
parents:
3540
diff
changeset
|
167 |
6829
22522443982f
util.dataforms: Refactor parsing to reuse simple text parser instead of duplicate code
Kim Alvefur <zash@zash.se>
parents:
6777
diff
changeset
|
168 field_readers["text-single"] = simple_text; |
22522443982f
util.dataforms: Refactor parsing to reuse simple text parser instead of duplicate code
Kim Alvefur <zash@zash.se>
parents:
6777
diff
changeset
|
169 |
22522443982f
util.dataforms: Refactor parsing to reuse simple text parser instead of duplicate code
Kim Alvefur <zash@zash.se>
parents:
6777
diff
changeset
|
170 field_readers["text-private"] = simple_text; |
955
98ca5a753fee
util.dataforms: Support for retriving the field value data from forms
Matthew Wild <mwild1@gmail.com>
parents:
954
diff
changeset
|
171 |
1944
754eebd31538
util.dataforms: Support for jid-single field type especially for Florob :)
Matthew Wild <mwild1@gmail.com>
parents:
1522
diff
changeset
|
172 field_readers["jid-single"] = |
4884
b8d852aea3ad
util.dataforms: Do field validation and normalization in field readers.
Kim Alvefur <zash@zash.se>
parents:
4435
diff
changeset
|
173 function (field_tag, required) |
6829
22522443982f
util.dataforms: Refactor parsing to reuse simple text parser instead of duplicate code
Kim Alvefur <zash@zash.se>
parents:
6777
diff
changeset
|
174 local raw_data, err = simple_text(field_tag, required); |
22522443982f
util.dataforms: Refactor parsing to reuse simple text parser instead of duplicate code
Kim Alvefur <zash@zash.se>
parents:
6777
diff
changeset
|
175 if not raw_data then return raw_data, err; end |
4884
b8d852aea3ad
util.dataforms: Do field validation and normalization in field readers.
Kim Alvefur <zash@zash.se>
parents:
4435
diff
changeset
|
176 local data = jid_prep(raw_data); |
6829
22522443982f
util.dataforms: Refactor parsing to reuse simple text parser instead of duplicate code
Kim Alvefur <zash@zash.se>
parents:
6777
diff
changeset
|
177 if not data then |
4887
4dd61fe04db4
util.dataforms: Don't return invalid JIDs in jid-single.
Kim Alvefur <zash@zash.se>
parents:
4886
diff
changeset
|
178 return nil, "Invalid JID: " .. raw_data; |
4397
1378e3c79c34
util.dataforms: Add field verification logic
Florian Zeitz <florob@babelmonkeys.de>
parents:
3540
diff
changeset
|
179 end |
6829
22522443982f
util.dataforms: Refactor parsing to reuse simple text parser instead of duplicate code
Kim Alvefur <zash@zash.se>
parents:
6777
diff
changeset
|
180 return data; |
4397
1378e3c79c34
util.dataforms: Add field verification logic
Florian Zeitz <florob@babelmonkeys.de>
parents:
3540
diff
changeset
|
181 end |
1378e3c79c34
util.dataforms: Add field verification logic
Florian Zeitz <florob@babelmonkeys.de>
parents:
3540
diff
changeset
|
182 |
3540
bc139431830b
Monster whitespace commit (beware the whitespace monster).
Waqas Hussain <waqas20@gmail.com>
parents:
3380
diff
changeset
|
183 field_readers["jid-multi"] = |
4884
b8d852aea3ad
util.dataforms: Do field validation and normalization in field readers.
Kim Alvefur <zash@zash.se>
parents:
4435
diff
changeset
|
184 function (field_tag, required) |
2070
25dc4b9d06b1
util.dataforms: Support for jid-multi field type
Florian Zeitz
parents:
2061
diff
changeset
|
185 local result = {}; |
4884
b8d852aea3ad
util.dataforms: Do field validation and normalization in field readers.
Kim Alvefur <zash@zash.se>
parents:
4435
diff
changeset
|
186 local err = {}; |
b8d852aea3ad
util.dataforms: Do field validation and normalization in field readers.
Kim Alvefur <zash@zash.se>
parents:
4435
diff
changeset
|
187 for value_tag in field_tag:childtags("value") do |
b8d852aea3ad
util.dataforms: Do field validation and normalization in field readers.
Kim Alvefur <zash@zash.se>
parents:
4435
diff
changeset
|
188 local raw_value = value_tag:get_text(); |
b8d852aea3ad
util.dataforms: Do field validation and normalization in field readers.
Kim Alvefur <zash@zash.se>
parents:
4435
diff
changeset
|
189 local value = jid_prep(raw_value); |
b8d852aea3ad
util.dataforms: Do field validation and normalization in field readers.
Kim Alvefur <zash@zash.se>
parents:
4435
diff
changeset
|
190 result[#result+1] = value; |
b8d852aea3ad
util.dataforms: Do field validation and normalization in field readers.
Kim Alvefur <zash@zash.se>
parents:
4435
diff
changeset
|
191 if raw_value and not value then |
b8d852aea3ad
util.dataforms: Do field validation and normalization in field readers.
Kim Alvefur <zash@zash.se>
parents:
4435
diff
changeset
|
192 err[#err+1] = ("Invalid JID: " .. raw_value); |
2070
25dc4b9d06b1
util.dataforms: Support for jid-multi field type
Florian Zeitz
parents:
2061
diff
changeset
|
193 end |
25dc4b9d06b1
util.dataforms: Support for jid-multi field type
Florian Zeitz
parents:
2061
diff
changeset
|
194 end |
4884
b8d852aea3ad
util.dataforms: Do field validation and normalization in field readers.
Kim Alvefur <zash@zash.se>
parents:
4435
diff
changeset
|
195 if #result > 0 then |
b8d852aea3ad
util.dataforms: Do field validation and normalization in field readers.
Kim Alvefur <zash@zash.se>
parents:
4435
diff
changeset
|
196 return result, (#err > 0 and t_concat(err, "\n") or nil); |
b8d852aea3ad
util.dataforms: Do field validation and normalization in field readers.
Kim Alvefur <zash@zash.se>
parents:
4435
diff
changeset
|
197 elseif required then |
b8d852aea3ad
util.dataforms: Do field validation and normalization in field readers.
Kim Alvefur <zash@zash.se>
parents:
4435
diff
changeset
|
198 return nil, "Required value missing"; |
4397
1378e3c79c34
util.dataforms: Add field verification logic
Florian Zeitz <florob@babelmonkeys.de>
parents:
3540
diff
changeset
|
199 end |
1378e3c79c34
util.dataforms: Add field verification logic
Florian Zeitz <florob@babelmonkeys.de>
parents:
3540
diff
changeset
|
200 end |
1378e3c79c34
util.dataforms: Add field verification logic
Florian Zeitz <florob@babelmonkeys.de>
parents:
3540
diff
changeset
|
201 |
4884
b8d852aea3ad
util.dataforms: Do field validation and normalization in field readers.
Kim Alvefur <zash@zash.se>
parents:
4435
diff
changeset
|
202 field_readers["list-multi"] = |
b8d852aea3ad
util.dataforms: Do field validation and normalization in field readers.
Kim Alvefur <zash@zash.se>
parents:
4435
diff
changeset
|
203 function (field_tag, required) |
955
98ca5a753fee
util.dataforms: Support for retriving the field value data from forms
Matthew Wild <mwild1@gmail.com>
parents:
954
diff
changeset
|
204 local result = {}; |
4884
b8d852aea3ad
util.dataforms: Do field validation and normalization in field readers.
Kim Alvefur <zash@zash.se>
parents:
4435
diff
changeset
|
205 for value in field_tag:childtags("value") do |
4928
5211c11dd865
util.dataforms: Fix parsing of -multi fields
Florian Zeitz <florob@babelmonkeys.de>
parents:
4887
diff
changeset
|
206 result[#result+1] = value:get_text(); |
955
98ca5a753fee
util.dataforms: Support for retriving the field value data from forms
Matthew Wild <mwild1@gmail.com>
parents:
954
diff
changeset
|
207 end |
5693
ef490e9276df
util.dataforms: Return nil for empty list-mutli responses, to be consistent with other readers
Florian Zeitz <florob@babelmonkeys.de>
parents:
5551
diff
changeset
|
208 if #result > 0 then |
ef490e9276df
util.dataforms: Return nil for empty list-mutli responses, to be consistent with other readers
Florian Zeitz <florob@babelmonkeys.de>
parents:
5551
diff
changeset
|
209 return result; |
ef490e9276df
util.dataforms: Return nil for empty list-mutli responses, to be consistent with other readers
Florian Zeitz <florob@babelmonkeys.de>
parents:
5551
diff
changeset
|
210 elseif required then |
ef490e9276df
util.dataforms: Return nil for empty list-mutli responses, to be consistent with other readers
Florian Zeitz <florob@babelmonkeys.de>
parents:
5551
diff
changeset
|
211 return nil, "Required value missing"; |
ef490e9276df
util.dataforms: Return nil for empty list-mutli responses, to be consistent with other readers
Florian Zeitz <florob@babelmonkeys.de>
parents:
5551
diff
changeset
|
212 end |
955
98ca5a753fee
util.dataforms: Support for retriving the field value data from forms
Matthew Wild <mwild1@gmail.com>
parents:
954
diff
changeset
|
213 end |
98ca5a753fee
util.dataforms: Support for retriving the field value data from forms
Matthew Wild <mwild1@gmail.com>
parents:
954
diff
changeset
|
214 |
4884
b8d852aea3ad
util.dataforms: Do field validation and normalization in field readers.
Kim Alvefur <zash@zash.se>
parents:
4435
diff
changeset
|
215 field_readers["text-multi"] = |
b8d852aea3ad
util.dataforms: Do field validation and normalization in field readers.
Kim Alvefur <zash@zash.se>
parents:
4435
diff
changeset
|
216 function (field_tag, required) |
b8d852aea3ad
util.dataforms: Do field validation and normalization in field readers.
Kim Alvefur <zash@zash.se>
parents:
4435
diff
changeset
|
217 local data, err = field_readers["list-multi"](field_tag, required); |
b8d852aea3ad
util.dataforms: Do field validation and normalization in field readers.
Kim Alvefur <zash@zash.se>
parents:
4435
diff
changeset
|
218 if data then |
b8d852aea3ad
util.dataforms: Do field validation and normalization in field readers.
Kim Alvefur <zash@zash.se>
parents:
4435
diff
changeset
|
219 data = t_concat(data, "\n"); |
b8d852aea3ad
util.dataforms: Do field validation and normalization in field readers.
Kim Alvefur <zash@zash.se>
parents:
4435
diff
changeset
|
220 end |
b8d852aea3ad
util.dataforms: Do field validation and normalization in field readers.
Kim Alvefur <zash@zash.se>
parents:
4435
diff
changeset
|
221 return data, err; |
b8d852aea3ad
util.dataforms: Do field validation and normalization in field readers.
Kim Alvefur <zash@zash.se>
parents:
4435
diff
changeset
|
222 end |
4397
1378e3c79c34
util.dataforms: Add field verification logic
Florian Zeitz <florob@babelmonkeys.de>
parents:
3540
diff
changeset
|
223 |
6829
22522443982f
util.dataforms: Refactor parsing to reuse simple text parser instead of duplicate code
Kim Alvefur <zash@zash.se>
parents:
6777
diff
changeset
|
224 field_readers["list-single"] = simple_text; |
1958
e2b0026143c4
util.dataforms: Incorporate slightly modified patch for list-single type from Florob
Matthew Wild <mwild1@gmail.com>
parents:
1945
diff
changeset
|
225 |
4928
5211c11dd865
util.dataforms: Fix parsing of -multi fields
Florian Zeitz <florob@babelmonkeys.de>
parents:
4887
diff
changeset
|
226 local boolean_values = { |
5211c11dd865
util.dataforms: Fix parsing of -multi fields
Florian Zeitz <florob@babelmonkeys.de>
parents:
4887
diff
changeset
|
227 ["1"] = true, ["true"] = true, |
5211c11dd865
util.dataforms: Fix parsing of -multi fields
Florian Zeitz <florob@babelmonkeys.de>
parents:
4887
diff
changeset
|
228 ["0"] = false, ["false"] = false, |
5211c11dd865
util.dataforms: Fix parsing of -multi fields
Florian Zeitz <florob@babelmonkeys.de>
parents:
4887
diff
changeset
|
229 }; |
4397
1378e3c79c34
util.dataforms: Add field verification logic
Florian Zeitz <florob@babelmonkeys.de>
parents:
3540
diff
changeset
|
230 |
3540
bc139431830b
Monster whitespace commit (beware the whitespace monster).
Waqas Hussain <waqas20@gmail.com>
parents:
3380
diff
changeset
|
231 field_readers["boolean"] = |
4884
b8d852aea3ad
util.dataforms: Do field validation and normalization in field readers.
Kim Alvefur <zash@zash.se>
parents:
4435
diff
changeset
|
232 function (field_tag, required) |
6829
22522443982f
util.dataforms: Refactor parsing to reuse simple text parser instead of duplicate code
Kim Alvefur <zash@zash.se>
parents:
6777
diff
changeset
|
233 local raw_value, err = simple_text(field_tag, required); |
22522443982f
util.dataforms: Refactor parsing to reuse simple text parser instead of duplicate code
Kim Alvefur <zash@zash.se>
parents:
6777
diff
changeset
|
234 if not raw_value then return raw_value, err; end |
22522443982f
util.dataforms: Refactor parsing to reuse simple text parser instead of duplicate code
Kim Alvefur <zash@zash.se>
parents:
6777
diff
changeset
|
235 local value = boolean_values[raw_value]; |
22522443982f
util.dataforms: Refactor parsing to reuse simple text parser instead of duplicate code
Kim Alvefur <zash@zash.se>
parents:
6777
diff
changeset
|
236 if value == nil then |
22522443982f
util.dataforms: Refactor parsing to reuse simple text parser instead of duplicate code
Kim Alvefur <zash@zash.se>
parents:
6777
diff
changeset
|
237 return nil, "Invalid boolean representation:" .. raw_value; |
4397
1378e3c79c34
util.dataforms: Add field verification logic
Florian Zeitz <florob@babelmonkeys.de>
parents:
3540
diff
changeset
|
238 end |
6829
22522443982f
util.dataforms: Refactor parsing to reuse simple text parser instead of duplicate code
Kim Alvefur <zash@zash.se>
parents:
6777
diff
changeset
|
239 return value; |
4397
1378e3c79c34
util.dataforms: Add field verification logic
Florian Zeitz <florob@babelmonkeys.de>
parents:
3540
diff
changeset
|
240 end |
1378e3c79c34
util.dataforms: Add field verification logic
Florian Zeitz <florob@babelmonkeys.de>
parents:
3540
diff
changeset
|
241 |
3540
bc139431830b
Monster whitespace commit (beware the whitespace monster).
Waqas Hussain <waqas20@gmail.com>
parents:
3380
diff
changeset
|
242 field_readers["hidden"] = |
955
98ca5a753fee
util.dataforms: Support for retriving the field value data from forms
Matthew Wild <mwild1@gmail.com>
parents:
954
diff
changeset
|
243 function (field_tag) |
4884
b8d852aea3ad
util.dataforms: Do field validation and normalization in field readers.
Kim Alvefur <zash@zash.se>
parents:
4435
diff
changeset
|
244 return field_tag:get_child_text("value"); |
955
98ca5a753fee
util.dataforms: Support for retriving the field value data from forms
Matthew Wild <mwild1@gmail.com>
parents:
954
diff
changeset
|
245 end |
4397
1378e3c79c34
util.dataforms: Add field verification logic
Florian Zeitz <florob@babelmonkeys.de>
parents:
3540
diff
changeset
|
246 |
6777
5de6b93d0190
util.*: Remove use of module() function, make all module functions local and return them in a table at the end
Kim Alvefur <zash@zash.se>
parents:
6672
diff
changeset
|
247 return { |
5de6b93d0190
util.*: Remove use of module() function, make all module functions local and return them in a table at the end
Kim Alvefur <zash@zash.se>
parents:
6672
diff
changeset
|
248 new = new; |
5de6b93d0190
util.*: Remove use of module() function, make all module functions local and return them in a table at the end
Kim Alvefur <zash@zash.se>
parents:
6672
diff
changeset
|
249 }; |
845
fc3dced9801e
util.dataforms: First commit, incomplete
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
250 |
fc3dced9801e
util.dataforms: First commit, incomplete
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
251 |
951
4b9207949735
util.dataforms: Fixed to actually work, mostly
Matthew Wild <mwild1@gmail.com>
parents:
851
diff
changeset
|
252 --[=[ |
845
fc3dced9801e
util.dataforms: First commit, incomplete
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
253 |
fc3dced9801e
util.dataforms: First commit, incomplete
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
254 Layout: |
fc3dced9801e
util.dataforms: First commit, incomplete
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
255 { |
fc3dced9801e
util.dataforms: First commit, incomplete
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
256 |
fc3dced9801e
util.dataforms: First commit, incomplete
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
257 title = "MUC Configuration", |
fc3dced9801e
util.dataforms: First commit, incomplete
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
258 instructions = [[Use this form to configure options for this MUC room.]], |
fc3dced9801e
util.dataforms: First commit, incomplete
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
259 |
fc3dced9801e
util.dataforms: First commit, incomplete
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
260 { name = "FORM_TYPE", type = "hidden", required = true }; |
fc3dced9801e
util.dataforms: First commit, incomplete
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
261 { name = "field-name", type = "field-type", required = false }; |
fc3dced9801e
util.dataforms: First commit, incomplete
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
262 } |
fc3dced9801e
util.dataforms: First commit, incomplete
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
263 |
fc3dced9801e
util.dataforms: First commit, incomplete
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
264 |
951
4b9207949735
util.dataforms: Fixed to actually work, mostly
Matthew Wild <mwild1@gmail.com>
parents:
851
diff
changeset
|
265 --]=] |