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