require "proto" require "janitor" require "exception" local account_create = Object:clone() -- Metaacls: path meta user call constr -- #metaacl# / acl Anon get recursive -- #metaacl# / user Anon new recursive function account_create:invoke(session, request, response) local credentials = session:account_create{ login = request.params.newlogin:sanitize('name'), pass = request.params.newpass and md5.sumhexa(request.params.newpass) or nil; email = request.params.newemail:sanitize('email'), name = request.params.newname:sanitize('words') } if credentials.ssign then response:write("
") response:write("Account created! ") response:write( [[ use: This Link to log in ]] % { login = credentials.login:sanitize('url'), ssign = credentials.ssign }) response:write("") -- TODO account verification via email or other means, from config session:done() else -- error TODO error page response.status = 500 response.headers = { ["Content-Type"] = "text/html" } -- clears cookies response:write("") response:write("Error creating account, possibly already exists!") response:write("") session:abort() end return response:finish() end return account_create -- Local Variables: -- mode: lua -- lua-indent-level: 4 -- indent-tabs-mode: nil -- End: