From 790fc5c495d8f5dc428fdd8964500e24d7bd2014 Mon Sep 17 00:00:00 2001 From: Mika Havela Date: Thu, 20 Dec 2007 14:09:36 +0000 Subject: Gives you alternative to change skin git-svn-id: svn://svn.alpinelinux.org/acf/alpine-baselayout/trunk@427 ab2d0c66-481e-0410-8bed-d214d4d58bed --- skins-controller.lua | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 skins-controller.lua (limited to 'skins-controller.lua') diff --git a/skins-controller.lua b/skins-controller.lua new file mode 100644 index 0000000..bf7a02a --- /dev/null +++ b/skins-controller.lua @@ -0,0 +1,31 @@ +module (..., package.seeall) + +-- Cause an http redirect to our "read" action +-- We use the self.conf table because it already has prefix,controller,etc +-- The redir code is defined in the application error handler (acf-controller) +local list_redir = function (self) + self.conf.action = "read" + self.conf.type = "redir" + error (self.conf) +end + +mvc={} +mvc.on_load = function(self, parent) + if (self.worker[self.conf.action] == nil ) or ( self.conf.action == "init" ) then + self.worker[self.conf.action] = list_redir(self) + end +end + +-- Public methods + +read = function (self ) + return ({skin = self.model:get(), url = ENV["SCRIPT_NAME"] .. self.conf.prefix .. self.conf.controller} ) +end + +update = function (self ) + local newskin = self.clientdata.skin or "" + local updated = self.model:update(newskin) + list_redir(self) +-- return ({skin = self.model:get(), updated=self.model:update(newskin), url = ENV["SCRIPT_NAME"] .. self.conf.prefix .. self.conf.controller} ) +end + -- cgit v1.2.3