From 378e53f20a0f11c36afffbaef78f47a5303df9ce Mon Sep 17 00:00:00 2001 From: Ted Trask Date: Wed, 30 Apr 2008 20:36:02 +0000 Subject: Modified cfe, removing option, errtxt, and name, and adding label - This may break things. Rewrote password module, adding model Modified authenticator to make password module work git-svn-id: svn://svn.alpinelinux.org/acf/core/trunk@1052 ab2d0c66-481e-0410-8bed-d214d4d58bed --- lib/viewfunctions.lua | 109 +++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 86 insertions(+), 23 deletions(-) (limited to 'lib/viewfunctions.lua') diff --git a/lib/viewfunctions.lua b/lib/viewfunctions.lua index d69f2cc..c7aa53f 100644 --- a/lib/viewfunctions.lua +++ b/lib/viewfunctions.lua @@ -4,14 +4,14 @@ function displayinfo(myform,tags,viewtype) if (myform[v]) and (myform[v]["value"]) then local val = myform[v] io.write("\n\t 0) then + if (val.errtxt) then val.class = "error" io.write(" class='error'") end io.write(">" .. val.label .. "") io.write("\n\t\t
") if (viewtype == "viewonly") then - if (val.value == "") and (val.errtxt == "") and ((val.descr) and (val.descr == "")) then val.value = " " end + if (val.value == "") and (val.errtxt == nil) and ((val.descr) and (val.descr == "")) then val.value = " " end io.write(val.value) elseif (val.type == "radio") and (type(val.option) == "table") and (#val.option > 0) then io.write("") @@ -26,7 +26,7 @@ function displayinfo(myform,tags,viewtype) io.write(html.form[val.type](val)) end if (val.descr) and (#val.descr > 0) then io.write("\n\t\t

" .. string.gsub(val.descr, "\n", "
") .. "

") end - if (#val.errtxt > 0) then io.write("\n\t\t

" .. string.gsub(val.errtxt, "\n", "
") .. "

") end + if (val.errtxt) then io.write("\n\t\t

" .. string.gsub(val.errtxt, "\n", "
") .. "

") end io.write("\n\t\t
\n") end end @@ -46,31 +46,94 @@ function displaymanagement (myform,tags) end if (myform) and (myform[tags[1]]) then - io.write('
' .. (myform[tags[1]]["label"] or myform[tags[1]]["name"]) .. '
') - io.write('
') - --Show buttons - for k,v in pairs(tags) do - if (myform[v]) then - io.write(html.form[myform[v].type](myform[v])) + io.write('
' .. (myform[tags[1]]["label"] or myform[tags[1]]["name"]) .. '
') + io.write('
') + --Show buttons + for k,v in pairs(tags) do + if (myform[v]) then + io.write(html.form[myform[v].type](myform[v])) + end + end + if (descriptions) and (#descriptions > 0) then + io.write("\n\t\t

" .. string.gsub(descriptions, "\n", "
") .. "

") + end + if (errors) and (#errors > 0) then + io.write("\n\t\t

" .. string.gsub(errors, "\n", "
") .. "

") end + io.write('
') + + -- Display the result of previous action + if (myform) and (myform['actionresult']) then + if (myform['actionresult']['errtxt']) and (#myform['actionresult']['errtxt'] > 0) then + io.write('
' .. myform['actionresult']['label'] .. '
') + io.write('
' .. (myform['actionresult']['errtxt'] or "") .. '
') + elseif (myform['actionresult']['descr']) and (#myform['actionresult']['descr'] > 0) then + io.write('
' .. myform['actionresult']['label'] .. '
') + io.write('
' .. (myform['actionresult']['descr'] or "") .. '
') + end + end + end +end + +function displayitem(myitem, viewtype) + io.write(" 0) then - io.write("\n\t\t

" .. string.gsub(descriptions, "\n", "
") .. "

") + io.write(">" .. myitem.label .. "\n") + io.write("
") + if (viewtype == "viewonly") then + myitem.disabled = "true" end - if (errors) and (#errors > 0) then - io.write("\n\t\t

" .. string.gsub(errors, "\n", "
") .. "

") + if myitem.type == "multi" then + -- FIXME multiple select doesn't work in haserl, so use series of checkboxes + --myitem.type = "select" + --myitem.multiple = "true" + local tempname = myitem.name + local tempval = myitem.value + local reverseval = {} + for x,val in ipairs(tempval) do + reverseval[val] = x + end + for x,val in ipairs(myitem.option) do + myitem.value = val + myitem.checked = reverseval[val] + myitem.name = tempname .. "." .. val + io.write(html.form.checkbox(myitem) .. val .. "
\n") + end + myitem.name = tempname + myitem.value = tempval + else + io.write(html.form[myitem.type](myitem) .. "\n") end - io.write('
') + if myitem.descr then io.write("

" .. string.gsub(myitem.descr, "\n", "
") .. "

\n") end + if myitem.errtxt then io.write("

" .. string.gsub(myitem.errtxt, "\n", "
") .. "

\n") end + io.write("\n") +end - -- Display the result of previous action - if (myform) and (myform['actionresult']) then - if (myform['actionresult']['errtxt']) and (#myform['actionresult']['errtxt'] > 0) then - io.write('
' .. myform['actionresult']['label'] .. '
') - io.write('
' .. (myform['actionresult']['errtxt'] or "") .. '
') - elseif (myform['actionresult']['descr']) and (#myform['actionresult']['descr'] > 0) then - io.write('
' .. myform['actionresult']['label'] .. '
') - io.write('
' .. (myform['actionresult']['descr'] or "") .. '
') +function displayform(myform, order) + if myform.descr then io.write("

" .. string.gsub(myform.descr, "\n", "
") .. "

\n") end + if myform.errtxt then io.write("

" .. string.gsub(myform.errtxt, "\n", "
") .. "

\n") end + io.write('
\n') + io.write('
\n') + local reverseorder= {} + if order then + for x,name in ipairs(order) do + reverseorder[name] = x + if myform.value[name] then + myform.value[name].name = name + displayitem(myform.value[name]) + end end end -end + for name,item in pairs(myform.value) do + if nil == reverseorder[name] then + item.name = name + displayitem(item) + end + end + io.write('
\n') + io.write('
\n') + io.write('
') end -- cgit v1.2.3