* Generalized dispatcher handling
authorSteven Barth <steven@midlink.org>
Sat, 17 May 2008 10:00:44 +0000 (10:00 +0000)
committerSteven Barth <steven@midlink.org>
Sat, 17 May 2008 10:00:44 +0000 (10:00 +0000)
applications/sgi-haserl/root/www/cgi-bin/ffluci-upload
applications/sgi-haserl/src/sgi/haserl.lua
applications/sgi-webuci/src/sgi/webuci.lua
core/src/dispatcher.lua
core/src/template.lua
modules/admin-core/src/view/admin_system/upgrade.htm

index 0128c2d..c31ddb8 100755 (executable)
@@ -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")
\ No newline at end of file
index 0e38839..f3a6ee6 100644 (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()
index d3d4cd4..f05fd2b 100644 (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
index c60e5dc..0a66ccd 100644 (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
 
index e74db7d..6f4e4ad 100644 (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,
index 5980028..185e031 100644 (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>