diff options
-rw-r--r-- | app/acf_www-controller.lua | 32 | ||||
-rw-r--r-- | lib/menubuilder.lua | 3 |
2 files changed, 34 insertions, 1 deletions
diff --git a/app/acf_www-controller.lua b/app/acf_www-controller.lua index bfc0761..9463934 100644 --- a/app/acf_www-controller.lua +++ b/app/acf_www-controller.lua @@ -18,9 +18,41 @@ local parent_exception_handler local function build_menus(self) --Build the menu m=require("menubuilder") + roll = require ("roles") + form = require ("format") sessiondata.menu = {} sessiondata.menu.mainmenu = m.get_menuitems(self.conf.appdir) sessiondata.menu.submenu = m.get_submenuitems(self.conf.appdir) +-- if sessiondata.userinfo == nil then + --we are dealing with un unknown user +-- p = {"ALL"} + --temp should be the +-- local temp = format.string_to_table(roll.get_roles_perm(self,p),",") + --lets apply permissions +-- for a,b in pairs(sessiondata.menu.mainmenu) do +-- for k,v in pairs(temp) do + +-- local control,acti = string.match(v,"(%a+):(%a+)") +-- if sessiondata.menu.mainmenu[a].controller == control then +-- test action +-- +-- sessiondata.menu.mainmenu[a].action ~= acti then +-- sessiondata.menu.mainmenu[a] = nil +-- end + +-- end +-- end + -- else + --we don't need to figure out what permission have it is in sessiondata +-- local temp = format.string_to_table(sessiondata.userinfo.perm,",") +-- for e,f in pairs(temp) do +-- local control,acti = string.match(f,"(%a+):(%a+)") +-- if sessiondata.menu.mainmenu[a].controller ~= control and sessiondata.menu.mainmenu[a].action ~= acti then +-- sessiondata.menu.mainmenu[a] = nil +-- end +-- end + + -- end -- Debug: Timestamp on menu creation sessiondata.menu.timestamp = {tab="Menu_created: " .. os.date(),action="Menu_created: " .. os.date(),} end diff --git a/lib/menubuilder.lua b/lib/menubuilder.lua index ecdf9f1..1d4c974 100644 --- a/lib/menubuilder.lua +++ b/lib/menubuilder.lua @@ -63,7 +63,8 @@ get_menuitems = function (startdir) local fh = io.open(startdir .. "/" .. v) local prio = 10 for x in fh:lines() do - if not string.match(x, "^#") then + local c = string.match(x, "^#") or string.match(x,"^$") + if c == nil then local item = {} for i in string.gmatch(x, "%S+") do table.insert(item, i) |