diff options
Diffstat (limited to 'app/acf-util/skins-model.lua')
-rw-r--r-- | app/acf-util/skins-model.lua | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/app/acf-util/skins-model.lua b/app/acf-util/skins-model.lua index 8b5a57e..860a943 100644 --- a/app/acf-util/skins-model.lua +++ b/app/acf-util/skins-model.lua @@ -1,4 +1,3 @@ --- acf model for displaying logfiles recusivly module (..., package.seeall) require("fs") @@ -7,9 +6,9 @@ require("format") local function set_skins(self, skin) local content = "\n"..(fs.read_file(self.conf.conffile) or "") local count - content,count = string.gsub(content, "\n%s*skin%s*=[^\n]*", "\nskin="..format.escapespecialcharacters(skin)) + content,count = string.gsub(content, "\n%s*skin%s*=[^\n]*", "\nskin="..skin) if count == 0 then - content = "\nskin="..format.escapespecialcharacters(skin)..content + content = "\nskin="..skin..content end fs.write_file(self.conf.conffile, string.sub(content,2)) local cmdoutput = "New skin selected" @@ -18,13 +17,15 @@ end local function list_skins(self) local skinarray = {} - for i,file in ipairs(posix.dir(self.conf.wwwdir ..self.conf.skindir) or {}) do - -- Ignore files that begins with a '.' and 'cgi-bin' and only list folders - if not ((string.match(file, "^%.")) or (string.match(file, "^cgi[-]bin")) or (string.match(file, "^static")) or (posix.stat(self.conf.wwwdir .. self.conf.skindir .. file).type ~= "directory")) then - local entry = cfe({ value=file, label="Skin name" }) - local current = conf.skin - entry.inuse = (file == current) - table.insert(skinarray, entry) + for skin in string.gmatch(self.conf.skindir, "[^,]+") do + for i,file in ipairs(posix.dir(self.conf.wwwdir ..skin) or {}) do + -- Ignore files that begins with a '.' and 'cgi-bin' and only list folders + if not ((string.match(file, "^%.")) or (string.match(file, "^cgi[-]bin")) or (string.match(file, "^static")) or (posix.stat(self.conf.wwwdir .. skin .. file).type ~= "directory")) then + local entry = cfe({ value=skin..file, label="Skin name" }) + local current = conf.skin + entry.inuse = (file == current) + table.insert(skinarray, entry) + end end end return cfe({ type="list", value=skinarray, label="Skins" }) |