summaryrefslogtreecommitdiffstats
path: root/app/acf_www-controller.lua
diff options
context:
space:
mode:
Diffstat (limited to 'app/acf_www-controller.lua')
-rw-r--r--app/acf_www-controller.lua23
1 files changed, 15 insertions, 8 deletions
diff --git a/app/acf_www-controller.lua b/app/acf_www-controller.lua
index b455b4d..6a5f49c 100644
--- a/app/acf_www-controller.lua
+++ b/app/acf_www-controller.lua
@@ -177,11 +177,24 @@ view_resolver = function(self)
pageinfo.viewfunc = viewfunc
pageinfo.skinned = self.clientdata.skinned or "true"
+ if self.sessiondata.userinfo and self.sessiondata.userinfo.skin and self.sessiondata.userinfo.skin ~= "" then
+ pageinfo.skin = self.sessiondata.userinfo.skin
+ else
+ pageinfo.skin = self.conf.skin or ""
+ end
+
-- search for template
local template
if self.conf.component ~= true then
- template = find_template ( self.conf.appdir, self.conf.prefix,
- self.conf.controller, self.conf.action, self.conf.viewtype )
+ -- First, check for skin-specific template
+ if pageinfo.skin ~= "" then
+ template = find_template ( self.conf.wwwdir..pageinfo.skin, "/",
+ self.conf.controller, self.conf.action, self.conf.viewtype )
+ end
+ if not template then
+ template = find_template ( self.conf.appdir, self.conf.prefix,
+ self.conf.controller, self.conf.action, self.conf.viewtype )
+ end
end
local func = viewfunc
@@ -190,12 +203,6 @@ view_resolver = function(self)
func = haserl.loadfile (template)
end
- if self.sessiondata.userinfo and self.sessiondata.userinfo.skin and self.sessiondata.userinfo.skin ~= "" then
- pageinfo.skin = self.sessiondata.userinfo.skin
- else
- pageinfo.skin = self.conf.skin or ""
- end
-
return func, viewlibrary, pageinfo, self.sessiondata
end