25 if query:child ( 'registered' ) then |
23 if query:child ( 'registered' ) then |
26 form.registered = true |
24 form.registered = true |
27 end |
25 end |
28 |
26 |
29 local x = query:child ( 'x' ) |
27 local x = query:child ( 'x' ) |
30 if x:attribute ( 'xmlns' ) == 'jabber:x:data' then |
28 if x and x:attribute ( 'xmlns' ) == 'jabber:x:data' then |
31 form = form.parse ( x ) |
29 form = x_data.parse ( x ) |
32 local format = form.format |
30 local format = form.format |
33 form.format = |
31 form.format = |
34 function ( form, root ) |
32 function ( form, root ) |
35 root.query = format ( form, { xmlns = 'jabber:iq:register' } ) |
33 root.query = format ( form, { xmlns = 'jabber:iq:register' } ) |
36 return root |
34 return root |
37 end |
35 end |
38 return form |
36 return form |
39 end |
37 end |
40 |
38 |
41 local field = query:children () |
39 local field = query:children () |
42 while field do |
40 while field do |
43 local name = field:name () |
41 local name = field:name () |
44 if name ~= 'instructions' and name ~= 'registered' then |
42 if name ~= 'instructions' and name ~= 'registered' then |
45 table.insert ( form, { type = 'text-single', var = name, value = { field:value () or '' } } ) |
43 table.insert ( form, { type = 'text-single', var = name, value = field:value () or '' } ) |
46 end |
44 end |
47 field = field:next () |
45 field = field:next () |
48 end |
46 end |
49 form.format = |
47 form.format = |
50 function ( form, root ) |
48 function ( form, root ) |