* Generalized dispatcher handling

This commit is contained in:
Steven Barth 2008-05-17 10:00:44 +00:00
parent 357ba22175
commit 6eae1a0103
6 changed files with 24 additions and 4 deletions

View file

@ -1,4 +1,4 @@
#!/usr/bin/haserl --shell=luac --upload-limit=6144
#!/usr/bin/haserl --shell=luac --upload-limit=16384
-- This is a bit hacky: remove -upload from SCRIPT_NAME
ENV.SCRIPT_NAME = ENV.SCRIPT_NAME:sub(1, #ENV.SCRIPT_NAME - 7)
dofile("ffluci")

View file

@ -29,6 +29,15 @@ require("ffluci.fs")
-- Environment Table
ffluci.http.env = ENV
-- Returns the main dispatcher URL
function ffluci.http.dispatcher()
return ffluci.http.env.SCRIPT_NAME or ""
end
-- Returns the upload dispatcher URL
function ffluci.http.dispatcher_upload()
return ffluci.http.dispatcher() .. "-upload"
end
-- Returns a table of all COOKIE, GET and POST Parameters
function ffluci.http.formvalues()

View file

@ -31,6 +31,16 @@ ffluci.http.env = webuci.env
local status_set = false
-- Returns the main dispatcher URL
function ffluci.http.dispatcher()
return ffluci.http.env.SCRIPT_NAME or ""
end
-- Returns the upload dispatcher URL
function ffluci.http.dispatcher_upload()
-- To be implemented
end
-- Returns a table of all COOKIE, GET and POST Parameters
function ffluci.http.formvalues()
return webuci.vars

View file

@ -104,7 +104,7 @@ function build_url(category, module, action)
module = module or "index"
action = action or "index"
local pattern = ffluci.http.env.SCRIPT_NAME .. "/%s/%s/%s"
local pattern = ffluci.http.dispatcher() .. "/%s/%s/%s"
return pattern:format(category, module, action)
end

View file

@ -52,7 +52,8 @@ compiler_enable_bytecode = false
viewns = {
translate = function(...) return require("ffluci.i18n").translate(...) end,
config = function(...) return require("ffluci.model.uci").get(...) or "" end,
controller = ffluci.http.env.SCRIPT_NAME or "",
controller = ffluci.http.dispatcher(),
uploadctrl = ffluci.http.dispatcher_upload(),
media = ffluci.config.main.mediaurlbase,
images = ffluci.config.main.imagebase,
write = io.write,

View file

@ -5,7 +5,7 @@
Das Format der Firmware ist plattformabhängig.%></p>
<br />
<% if sysupgrade and not ret then %>
<form method="post" action="<%=controller%>-upload/admin/system/upgrade" enctype="multipart/form-data">
<form method="post" action="<%=uploadctrl%>/admin/system/upgrade" enctype="multipart/form-data">
<div class="cbi-section-node">
<div class="cbi-value clear">
<div class="cbi-value-title left"><%:fwimage Firmwareimage%></div>