summaryrefslogtreecommitdiffstats
path: root/skins-model.lua
diff options
context:
space:
mode:
Diffstat (limited to 'skins-model.lua')
-rw-r--r--skins-model.lua62
1 files changed, 62 insertions, 0 deletions
diff --git a/skins-model.lua b/skins-model.lua
new file mode 100644
index 0000000..dc9d5fb
--- /dev/null
+++ b/skins-model.lua
@@ -0,0 +1,62 @@
+-- acf model for displaying logfiles recusivly
+module (..., package.seeall)
+
+-- no initializer in model - use controller.init for that
+
+local function set_skins(skin)
+--local addremove_opts = function ( addremove, file, variable, option )
+-- if (string.lower(addremove) == "remove" ) then
+ cmdtxt = "/bin/sed -i 's/skin=.*/skin=" .. skin .. "/' /etc/acf/acf.conf"
+-- /bin/sed 's/skin=.*/skin=plupp/' /etc/acf/acf.conf
+ local cmd, error = io.popen ( cmdtxt )
+ local cmdoutput = cmd:read("*a")
+ cmd:close()
+ -- Cleanup the variable by removing unneccesary blanks
+-- cmdtxt = "/bin/sed -i 's/\\\"\\ /\\\"/g' " .. file
+-- cmdtxt = cmdtxt .. ";/bin/sed -i 's/\\ \\\"/\\\"/g' " .. file
+-- local cmd, error = io.popen ( cmdtxt )
+-- cmd:close()
+-- elseif (string.lower(addremove) == "add" ) then
+-- cmdtxt = "/bin/sed -i 's/\\(" .. variable .. ".*\\)\\\"/\\1" .. option .. " \\\"/' " .. file
+-- local cmd, error = io.popen ( cmdtxt )
+-- local cmdoutput = cmd:read("*a")
+-- cmd:close()
+-- end
+ return cmdtxt
+end
+
+local function list_skins()
+ local path = "/usr/share/acf/www/"
+ local skinarray = {}
+ local skins = {}
+ local k,v
+ for k,v in pairs(posix.dir(path) or {}) do
+ -- Ignore files that begins with a '.' and 'cgi-bin' and only list folders
+ if not ((string.match(v, "^%.")) or (string.match(v, "^cgi[-]bin")) or (posix.stat(path .. v).type ~= "directory")) then
+ local f = v
+ local current = conf.skin
+ if (current == f) then
+ table.insert(skinarray, {name=f, inuse="In use"})
+ else
+ table.insert(skinarray, {name=f})
+ end
+ end
+ end
+ return skinarray
+end
+
+
+get = function (self)
+ return list_skins()
+end
+
+update = function (self,skin)
+ local availableskins = list_skins()
+-- for k,v in pars(availableskins.skinarray.name) do
+-- if ( availableskins[k].name == skin) then
+ return set_skins(skin)
+-- end
+-- end
+end
+
+