summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Mason <ms13sp@gmail.com>2008-02-14 22:03:42 +0000
committerMike Mason <ms13sp@gmail.com>2008-02-14 22:03:42 +0000
commit4320f28563fb662ac47e2a6ae56a0717de8a3d5d (patch)
tree599a6092d8719a4ba8afdc58564bda49eefc1846
parent71a6579a6e5337f8148d0da83d40256639169e3c (diff)
downloadacf-core-4320f28563fb662ac47e2a6ae56a0717de8a3d5d.tar.bz2
acf-core-4320f28563fb662ac47e2a6ae56a0717de8a3d5d.tar.xz
Getting menu and permission to start working together. Just test code most commented out.
git-svn-id: svn://svn.alpinelinux.org/acf/core/trunk@723 ab2d0c66-481e-0410-8bed-d214d4d58bed
-rw-r--r--app/acf_www-controller.lua32
-rw-r--r--lib/menubuilder.lua3
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)