summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--core/src/dispatcher.lua10
-rw-r--r--core/src/fs.lua14
-rw-r--r--core/src/util.lua12
3 files changed, 33 insertions, 3 deletions
diff --git a/core/src/dispatcher.lua b/core/src/dispatcher.lua
index a05c8805cb..e820a8864b 100644
--- a/core/src/dispatcher.lua
+++ b/core/src/dispatcher.lua
@@ -126,8 +126,14 @@ end
function createindex()
local root = ffluci.sys.libpath() .. "/controller/"
local suff = ".lua"
- for i,c in ipairs(ffluci.fs.glob(root .. "*/*" .. suff)) do
- c = "ffluci.controller." .. c:sub(#root+1, #c-#suff):gsub("/", ".", 1)
+
+ local controllers = ffluci.util.combine(
+ ffluci.fs.glob(root .. "*" .. suff),
+ ffluci.fs.glob(root .. "*/*" .. suff)
+ )
+
+ for i,c in ipairs(controllers) do
+ c = "ffluci.controller." .. c:sub(#root+1, #c-#suff):gsub("/", ".")
stat, mod = pcall(require, c)
if stat and mod and type(mod.index) == "function" then
diff --git a/core/src/fs.lua b/core/src/fs.lua
index 4639ac4a86..70962ba59d 100644
--- a/core/src/fs.lua
+++ b/core/src/fs.lua
@@ -83,4 +83,16 @@ dir = posix.dir
mkdir = posix.mkdir
-- Alias for posix.rmdir
-rmdir = posix.rmdir \ No newline at end of file
+rmdir = posix.rmdir
+
+-- Alias for posix.stat
+stat = posix.stat
+
+-- Alias for posix.chmod
+chmod = posix.chmod
+
+-- Alias for posix.link
+link = posix.link
+
+-- Alias for posix.unlink
+unlink = posix.unlink \ No newline at end of file
diff --git a/core/src/util.lua b/core/src/util.lua
index 9e3c7f25e9..c7dba31969 100644
--- a/core/src/util.lua
+++ b/core/src/util.lua
@@ -73,6 +73,18 @@ function clone(object, deep)
end
+-- Combines two or more numerically indexed tables into one
+function combine(...)
+ local result = {}
+ for i, a in ipairs(arg) do
+ for j, v in ipairs(a) do
+ table.insert(result, v)
+ end
+ end
+ return result
+end
+
+
-- Checks whether a table has an object "value" in it
function contains(table, value)
for k,v in pairs(table) do