| 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 |