summaryrefslogtreecommitdiffhomepage
path: root/libs
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2011-12-20 17:52:10 +0000
committerJo-Philipp Wich <jow@openwrt.org>2011-12-20 17:52:10 +0000
commit3553d308f65a037d7cef2f0c7546db44c23afa14 (patch)
tree9025f22fdc470dd93bd77b5342ef21650b20b8e8 /libs
parent8358175f25c1d73002af5a3ae8f9a7d4711bf228 (diff)
[PATCH] Naive fix for bug #208
For SimpleSection, use the section name (always "1") instead of the section type in the CBI-like string used to identify the upload. This allows upload fields to be placed in SimpleSections. The fix changes a minimal number of lines, but does introduce some unnecessary confusion, it may or may not be better than a more thorough/invasive fix. Set the enctype for the form element in the simpleform view to be multipart/form-data because the default application/x-www-form-urlencoded does not support input files. Signed-off-by: Kevin Locke <kevin@kevinlocke.name>
Diffstat (limited to 'libs')
-rw-r--r--libs/web/luasrc/cbi.lua6
-rw-r--r--libs/web/luasrc/view/cbi/simpleform.htm2
2 files changed, 4 insertions, 4 deletions
diff --git a/libs/web/luasrc/cbi.lua b/libs/web/luasrc/cbi.lua
index 8b9805f04..ff030a268 100644
--- a/libs/web/luasrc/cbi.lua
+++ b/libs/web/luasrc/cbi.lua
@@ -102,7 +102,7 @@ function load(cbimap, ...)
for _, field in ipairs(map.upload_fields) do
uploads[
field.config .. '.' ..
- field.section.sectiontype .. '.' ..
+ (field.section.sectiontype or '1') .. '.' ..
field.option
] = true
end
@@ -124,8 +124,8 @@ function load(cbimap, ...)
)()
if c and s and o then
- local t = uci:get( c, s )
- if t and uploads[c.."."..t.."."..o] then
+ local t = uci:get( c, s ) or s
+ if uploads[c.."."..t.."."..o] then
local path = upldir .. field.name
fd = io.open(path, "w")
if fd then
diff --git a/libs/web/luasrc/view/cbi/simpleform.htm b/libs/web/luasrc/view/cbi/simpleform.htm
index 1a4726a02..f7c9f3324 100644
--- a/libs/web/luasrc/view/cbi/simpleform.htm
+++ b/libs/web/luasrc/view/cbi/simpleform.htm
@@ -1,5 +1,5 @@
<% if not self.embedded then %>
-<form method="post" action="<%=REQUEST_URI%>">
+<form method="post" enctype="multipart/form-data" action="<%=REQUEST_URI%>">
<div>
<script type="text/javascript" src="<%=resource%>/cbi.js"></script>
<input type="hidden" name="cbi.submit" value="1" />