(no commit message)
[project/luci.git] / core / src / ffluci / template.lua
index 502013684bdd5679ec2fa95f7d028243251320df..7ac47cbbefe79223e2db14a410fbddee17ee8c79 100644 (file)
@@ -28,11 +28,9 @@ module("ffluci.template", package.seeall)
 require("ffluci.config")
 require("ffluci.util")
 require("ffluci.fs")
-require("ffluci.i18n")
 require("ffluci.http")
-require("ffluci.model.uci")
 
-viewdir = ffluci.config.path .. "/view/"
+viewdir = ffluci.sys.libpath() .. "/view/"
 
 
 -- Compile modes:
@@ -52,9 +50,9 @@ compiler_enable_bytecode = false
 
 -- Define the namespace for template modules
 viewns = {
-       translate  = ffluci.i18n.translate,
-       config     = function(...) return ffluci.model.uci.get(...) or "" end,
-       controller = ffluci.http.script_name(),
+       translate  = function(...) return require("ffluci.i18n").translate(...) end,
+       config     = function(...) return require("ffluci.model.uci").get(...) or "" end,
+       controller = ffluci.http.env.SCRIPT_NAME,
        media      = ffluci.config.main.mediaurlbase,
        write      = io.write,
        include    = function(name) Template(name):render(getfenv(2)) end,      
@@ -95,7 +93,7 @@ function compile(template)
        local r_include = "')\ninclude('%s')\nwrite('"
        local r_i18n    = "'..translate('%1','%2')..'"
        local r_uci     = "'..config('%1','%2','%3')..'"
-       local r_pexec   = "'..%s..'"
+       local r_pexec   = "'..(%s or '')..'"
        local r_exec    = "')\n%s\nwrite('"
        
        -- Parse the expressions