* Added file upload capabilities
authorSteven Barth <steven@midlink.org>
Sun, 6 Apr 2008 12:08:05 +0000 (12:08 +0000)
committerSteven Barth <steven@midlink.org>
Sun, 6 Apr 2008 12:08:05 +0000 (12:08 +0000)
contrib/ffluci-upload [new file with mode: 0755]
contrib/package/ffluci/Makefile
contrib/package/ffluci/ipkg/ffluci.postinst
src/ffluci/http.lua
src/ffluci/template.lua

diff --git a/contrib/ffluci-upload b/contrib/ffluci-upload
new file mode 100755 (executable)
index 0000000..0128c2d
--- /dev/null
@@ -0,0 +1,4 @@
+#!/usr/bin/haserl --shell=luac --upload-limit=6144
+-- 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 9ec4f311aa4d7a4a6a74b62ed58b9ab5f0f362b8..f10476e898fbec228ae3454e58d8d9f4998f9a16 100644 (file)
@@ -44,6 +44,7 @@ define Package/ffluci/install
        $(CP) $(PKG_BUILD_DIR)/dist/* $(1)/usr/lib/lua/ -R
        $(CP) $(PKG_BUILD_DIR)/contrib/media $(1)/www/ffluci/ -R
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/contrib/ffluci $(1)/www/cgi-bin
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/contrib/ffluci-upload $(1)/www/cgi-bin
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/contrib/index.cgi $(1)/www/cgi-bin
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/contrib/index.html $(1)/www
        $(CP) $(PKG_BUILD_DIR)/contrib/uci/luci $(1)/etc/config/luci
index 7265cb96b881d2c87481e9c6c1bf9e1145b894e9..97ada182d57ee3b1bd6bc6942e896554088faea6 100755 (executable)
@@ -1,4 +1,9 @@
 #!/bin/sh
-PATTERN='/cgi-bin/ffluci/admin:root:$p$root'
-grep $PATTERN ${IPKG_INSTROOT}/etc/httpd.conf >/dev/null 2>/dev/null || echo $PATTERN >> ${IPKG_INSTROOT}/etc/httpd.conf 
+PATTERNS='/cgi-bin/ffluci/admin:root:$p$root /cgi-bin/ffluci-upload:root:$p$root'
+
+for i in "$PATTERNS"
+do
+       grep "$i" ${IPKG_INSTROOT}/etc/httpd.conf >/dev/null 2>/dev/null || echo "$i" >> ${IPKG_INSTROOT}/etc/httpd.conf
+done 
+
 [ -n ${IPKG_INSTROOT} ] || /etc/init.d/httpd restart
index b7ce92ffab2a79249445a1b408045a242bfb799f..06e1c43bda945925995a12af91f738f11e31d90a 100644 (file)
@@ -54,11 +54,17 @@ function request_redirect(category, module, action, ...)
        module   = module   or "index"
        action   = action   or "index"
        
-       local pattern = os.getenv("SCRIPT_NAME") .. "/%s/%s/%s"
+       local pattern = script_name() .. "/%s/%s/%s"
        redirect(pattern:format(category, module, action), ...)
 end
 
 
+-- Returns the script name
+function script_name()
+       return ENV.SCRIPT_NAME
+end
+
+
 -- Gets form value from key
 function formvalue(key, default)
        local c = formvalues()
index 589f43c679c1fd5d32a21c84b8267e8e92430a94..502013684bdd5679ec2fa95f7d028243251320df 100644 (file)
@@ -29,6 +29,7 @@ require("ffluci.config")
 require("ffluci.util")
 require("ffluci.fs")
 require("ffluci.i18n")
+require("ffluci.http")
 require("ffluci.model.uci")
 
 viewdir = ffluci.config.path .. "/view/"
@@ -53,7 +54,7 @@ compiler_enable_bytecode = false
 viewns = {
        translate  = ffluci.i18n.translate,
        config     = function(...) return ffluci.model.uci.get(...) or "" end,
-       controller = os.getenv("SCRIPT_NAME"),
+       controller = ffluci.http.script_name(),
        media      = ffluci.config.main.mediaurlbase,
        write      = io.write,
        include    = function(name) Template(name):render(getfenv(2)) end,