diff options
author | Mika Havela <mika.havela@gmail.com> | 2007-12-04 15:28:15 +0000 |
---|---|---|
committer | Mika Havela <mika.havela@gmail.com> | 2007-12-04 15:28:15 +0000 |
commit | 0ab11b9ff3aedaa2b1ed23bdd407588bde2576cf (patch) | |
tree | b366754b6c919b8d2b06c39ed5f471379b56c5fe /openntpd-controller.lua | |
download | acf-openntpd-0ab11b9ff3aedaa2b1ed23bdd407588bde2576cf.tar.bz2 acf-openntpd-0ab11b9ff3aedaa2b1ed23bdd407588bde2576cf.tar.xz |
Starting up openntpdv1.0_alpha1
git-svn-id: svn://svn.alpinelinux.org/acf/openntpd/trunk@403 ab2d0c66-481e-0410-8bed-d214d4d58bed
Diffstat (limited to 'openntpd-controller.lua')
-rw-r--r-- | openntpd-controller.lua | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/openntpd-controller.lua b/openntpd-controller.lua new file mode 100644 index 0000000..d298b1d --- /dev/null +++ b/openntpd-controller.lua @@ -0,0 +1,34 @@ +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 + + +read = function (self) + return ( {filecontent = self.model:get(), url = ENV["SCRIPT_NAME"] .. self.conf.prefix .. self.conf.controller } ) +end + +advanced = function (self) + local filecontent = self.clientdata.modifications or "" + if ( filecontent ~= "") then + local me = ( {filecontent = self.model:update_filecontent(filecontent), url = ENV["SCRIPT_NAME"] .. self.conf.prefix .. self.conf.controller } ) + list_redir(self) + else + local me = ( {filecontent = self.model:get_filecontent(), url = ENV["SCRIPT_NAME"] .. self.conf.prefix .. self.conf.controller } ) + return me + end +end + |