luci-app-mwan3: change hotplug script to mwan3.user
authorFlorian Eckert <fe@dev.tdt.de>
Fri, 11 Aug 2017 13:36:39 +0000 (15:36 +0200)
committerFlorian Eckert <fe@dev.tdt.de>
Wed, 16 Aug 2017 12:48:53 +0000 (14:48 +0200)
Replace old "/etc/hotplug.d/iface/16-mwancustom" edit possibility
with the new "/etc/mwan3.user" hotplug script.
Which will also be saved during sysupgrade.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
applications/luci-app-mwan3/luasrc/model/cbi/mwan/advanced_hotplugscript.lua

index 0e7b8b11d0344fdac0cf81b29e00f81a6dabde29..1b97080216e4d1d5ff864fd7db303f2e64c181aa 100644 (file)
@@ -1,55 +1,40 @@
 -- ------ hotplug script configuration ------ --
 
 fs = require "nixio.fs"
-sys = require "luci.sys"
 ut = require "luci.util"
 
-script = "/etc/hotplug.d/iface/16-mwancustom"
-scriptBackup = "/etc/hotplug.d/iface/16-mwancustombak"
-
-if luci.http.formvalue("cbid.luci.1._restorebak") then -- restore button has been clicked
-       luci.http.redirect(luci.dispatcher.build_url("admin/network/mwan/advanced/hotplugscript") .. "?restore=yes")
-elseif luci.http.formvalue("restore") == "yes" then -- restore script from backup
-       os.execute("cp -f " .. scriptBackup .. " " .. script)
-end
-
+script = "/etc/mwan3.user"
 
 m5 = SimpleForm("luci", nil)
        m5:append(Template("mwan/advanced_hotplugscript")) -- highlight current tab
 
 f = m5:section(SimpleSection, nil,
-       translate("This section allows you to modify the contents of /etc/hotplug.d/iface/16-mwancustom<br />" ..
-       "This is useful for running system commands and/or scripts based on interface ifup or ifdown hotplug events<br /><br />" ..
+       translate("This section allows you to modify the content of \"/etc/mwan3.user\".<br />" ..
+       "The file is also preserved during sysupgrade.<br />" ..
+       "<br />" ..
        "Notes:<br />" ..
-       "The first line of the script must be &#34;#!/bin/sh&#34; without quotes<br />" ..
-       "Lines beginning with # are comments and are not executed<br /><br />" ..
-       "Available variables:<br />" ..
-       "$ACTION is the hotplug event (ifup, ifdown)<br />" ..
-       "$INTERFACE is the interface name (wan1, wan2, etc.)<br />" ..
-       "$DEVICE is the device name attached to the interface (eth0.1, eth1, etc.)"))
-
-
-restore = f:option(Button, "_restorebak", translate("Restore default hotplug script"))
-       restore.inputtitle = translate("Restore...")
-       restore.inputstyle = "apply"
+       "This file is interpreted as a shell script.<br />" ..
+       "The first line of the script must be &#34;#!/bin/sh&#34; without quotes.<br />" ..
+       "Lines beginning with # are comments and are not executed.<br />" ..
+       "Put your custom mwan3 action here, they will<br />" ..
+       "be executed with each netifd hotplug interface event<br />" ..
+       "on interfaces for which mwan3 is enabled.<br />" ..
+       "<br />" ..
+       "There are three main environment variables that are passed to this script.<br />" ..
+       "<br />" ..
+       "$ACTION Either \"ifup\" or \"ifdown\"<br />" ..
+       "$INTERFACE Name of the interface which went up or down (e.g. \"wan\" or \"wwan\")<br />" ..
+       "$DEVICE Physical device name which interface went up or down (e.g. \"eth0\" or \"wwan0\")<br />" ..
+       "<br />"))
 
 t = f:option(TextValue, "lines")
        t.rmempty = true
        t.rows = 20
-
        function t.cfgvalue()
-               local hps = fs.readfile(script)
-               if not hps or hps == "" then -- if script does not exist or is blank restore from backup
-                       sys.call("cp -f " .. scriptBackup .. " " .. script)
-                       return fs.readfile(script)
-               else
-                       return hps
-               end
+               return fs.readfile(script)
        end
-
        function t.write(self, section, data) -- format and write new data to script
                return fs.writefile(script, ut.trim(data:gsub("\r\n", "\n")) .. "\n")
        end
 
-
 return m5