liquid_feedback_frontend
annotate env/util/help.lua @ 4:80c215dbf076
Version alpha5
Many optical changes and improved usability
Support for different wiki-formatting-engines
Help system
Many optical changes and improved usability
Support for different wiki-formatting-engines
Help system
author | bsw/jbe |
---|---|
date | Thu Dec 10 12:00:00 2009 +0100 (2009-12-10) |
parents | |
children | 00d1004545f1 |
rev | line source |
---|---|
bsw/jbe@4 | 1 function util.help(id, title) |
bsw/jbe@4 | 2 local setting_key = "liquidfeedback_frontend_hidden_help_" .. id |
bsw/jbe@4 | 3 local setting = Setting:by_pk(app.session.member.id, setting_key) |
bsw/jbe@4 | 4 if not setting then |
bsw/jbe@4 | 5 ui.container{ |
bsw/jbe@4 | 6 attr = { class = "help help_visible" }, |
bsw/jbe@4 | 7 content = function() |
bsw/jbe@4 | 8 ui.image{ |
bsw/jbe@4 | 9 attr = { class = "help_icon" }, |
bsw/jbe@4 | 10 static = "icons/16/help.png" |
bsw/jbe@4 | 11 } |
bsw/jbe@4 | 12 ui.container{ |
bsw/jbe@4 | 13 attr = { class = "help_actions" }, |
bsw/jbe@4 | 14 content = function() |
bsw/jbe@4 | 15 ui.link{ |
bsw/jbe@4 | 16 content = _"Hide this help message", |
bsw/jbe@4 | 17 module = "help", |
bsw/jbe@4 | 18 action = "update", |
bsw/jbe@4 | 19 params = { |
bsw/jbe@4 | 20 help_ident = id, |
bsw/jbe@4 | 21 hide = true |
bsw/jbe@4 | 22 }, |
bsw/jbe@4 | 23 routing = { |
bsw/jbe@4 | 24 default = { |
bsw/jbe@4 | 25 mode = "redirect", |
bsw/jbe@4 | 26 module = request.get_module(), |
bsw/jbe@4 | 27 view = request.get_view(), |
bsw/jbe@4 | 28 id = param.get_id_cgi(), |
bsw/jbe@4 | 29 params = param.get_all_cgi() |
bsw/jbe@4 | 30 } |
bsw/jbe@4 | 31 } |
bsw/jbe@4 | 32 } |
bsw/jbe@4 | 33 end |
bsw/jbe@4 | 34 } |
bsw/jbe@4 | 35 local lang = locale.get("lang") |
bsw/jbe@4 | 36 local basepath = request.get_app_basepath() |
bsw/jbe@4 | 37 local file_name = basepath .. "/locale/help/" .. id .. "." .. lang .. ".txt" |
bsw/jbe@4 | 38 local file = io.open(file_name) |
bsw/jbe@4 | 39 if file ~= nil then |
bsw/jbe@4 | 40 local help_text = file:read("*a") |
bsw/jbe@4 | 41 if #help_text > 0 then |
bsw/jbe@4 | 42 ui.container{ |
bsw/jbe@4 | 43 attr = { class = "wiki" }, |
bsw/jbe@4 | 44 content = function() |
bsw/jbe@4 | 45 slot.put(format.wiki_text(help_text)) |
bsw/jbe@4 | 46 end |
bsw/jbe@4 | 47 } |
bsw/jbe@4 | 48 else |
bsw/jbe@4 | 49 ui.field.text{ value = _("Empty help text: #{id}.#{lang}.txt", { id = id, lang = lang }) } |
bsw/jbe@4 | 50 end |
bsw/jbe@4 | 51 else |
bsw/jbe@4 | 52 ui.field.text{ value = _("Missing help text: #{id}.#{lang}.txt", { id = id, lang = lang }) } |
bsw/jbe@4 | 53 end |
bsw/jbe@4 | 54 end |
bsw/jbe@4 | 55 } |
bsw/jbe@4 | 56 else |
bsw/jbe@4 | 57 if util._hidden_helps == nil then |
bsw/jbe@4 | 58 util._hidden_helps = {} |
bsw/jbe@4 | 59 end |
bsw/jbe@4 | 60 util._hidden_helps[#util._hidden_helps+1] = { |
bsw/jbe@4 | 61 id = id, |
bsw/jbe@4 | 62 title = title |
bsw/jbe@4 | 63 } |
bsw/jbe@4 | 64 end |
bsw/jbe@4 | 65 end |