From cddba18888daa04b8b07e5b04699f59287debd9f Mon Sep 17 00:00:00 2001 From: coolsnowwolf Date: Mon, 8 Oct 2018 11:57:25 +0800 Subject: [PATCH] re-add LuCI support for Scheduled Reboot and update some translation typo --- package/lean/luci-app-autoreboot/Makefile | 17 ++++++++ .../luasrc/controller/autoreboot.lua | 4 ++ .../luasrc/model/cbi/autoreboot.lua | 38 ++++++++++++++++++ .../po/zh-cn/autoreboot.po | 25 ++++++++++++ .../root/etc/config/autoreboot | 7 ++++ .../root/etc/init.d/autoreboot | 39 +++++++++++++++++++ 6 files changed, 130 insertions(+) create mode 100644 package/lean/luci-app-autoreboot/Makefile create mode 100644 package/lean/luci-app-autoreboot/luasrc/controller/autoreboot.lua create mode 100644 package/lean/luci-app-autoreboot/luasrc/model/cbi/autoreboot.lua create mode 100644 package/lean/luci-app-autoreboot/po/zh-cn/autoreboot.po create mode 100644 package/lean/luci-app-autoreboot/root/etc/config/autoreboot create mode 100755 package/lean/luci-app-autoreboot/root/etc/init.d/autoreboot diff --git a/package/lean/luci-app-autoreboot/Makefile b/package/lean/luci-app-autoreboot/Makefile new file mode 100644 index 000000000..9e2732986 --- /dev/null +++ b/package/lean/luci-app-autoreboot/Makefile @@ -0,0 +1,17 @@ +# Copyright (C) 2016 Openwrt.org +# +# This is free software, licensed under the Apache License, Version 2.0 . +# + +include $(TOPDIR)/rules.mk + +LUCI_TITLE:=LuCI support for Scheduled Reboot +LUCI_DEPENDS:=+luci +LUCI_PKGARCH:=all +PKG_VERSION:=1.0 +PKG_RELEASE:=8 + +include $(TOPDIR)/feeds/luci/luci.mk + +# call BuildPackage - OpenWrt buildroot signature + diff --git a/package/lean/luci-app-autoreboot/luasrc/controller/autoreboot.lua b/package/lean/luci-app-autoreboot/luasrc/controller/autoreboot.lua new file mode 100644 index 000000000..e0429f34f --- /dev/null +++ b/package/lean/luci-app-autoreboot/luasrc/controller/autoreboot.lua @@ -0,0 +1,4 @@ +module("luci.controller.autoreboot",package.seeall) +function index() +entry({"admin","system","autoreboot"},cbi("autoreboot"),_("Scheduled Reboot"),88) +end diff --git a/package/lean/luci-app-autoreboot/luasrc/model/cbi/autoreboot.lua b/package/lean/luci-app-autoreboot/luasrc/model/cbi/autoreboot.lua new file mode 100644 index 000000000..8a008d7fa --- /dev/null +++ b/package/lean/luci-app-autoreboot/luasrc/model/cbi/autoreboot.lua @@ -0,0 +1,38 @@ +require("luci.sys") + +m=Map("autoreboot",translate("Scheduled Reboot"),translate("Scheduled reboot Setting")) + +s=m:section(TypedSection,"login","") +s.addremove=false +s.anonymous=true + +enable=s:option(Flag,"enable",translate("Enable")) +enable.rmempty = false +enable.default=0 + +week=s:option(ListValue,"week",translate("Week Day")) +week:value(0,translate("Everyday")) +week:value(1,translate("Monday")) +week:value(2,translate("Tuesday")) +week:value(3,translate("Wednesday")) +week:value(4,translate("Thursday")) +week:value(5,translate("Friday")) +week:value(6,translate("Saturday")) +week:value(7,translate("Sunday")) +week.default=0 + +hour=s:option(Value,"hour",translate("Hour")) +hour.datatype = "range(0,23)" +hour.rmempty = false + +pass=s:option(Value,"minute",translate("Minute")) +pass.datatype = "range(0,59)" +pass.rmempty = false + + +local e=luci.http.formvalue("cbi.apply") +if e then + io.popen("/etc/init.d/autoreboot restart") +end + +return m diff --git a/package/lean/luci-app-autoreboot/po/zh-cn/autoreboot.po b/package/lean/luci-app-autoreboot/po/zh-cn/autoreboot.po new file mode 100644 index 000000000..554ef2cc3 --- /dev/null +++ b/package/lean/luci-app-autoreboot/po/zh-cn/autoreboot.po @@ -0,0 +1,25 @@ +msgid "Scheduled Reboot" +msgstr "定时重启" + +msgid "Scheduled reboot Setting" +msgstr "定时重启设置" + +msgid "Week Day" +msgstr "星期" + +msgid "Everyday" +msgstr "每天" + +msgid "Day" +msgstr "天" + +msgid "Hour" +msgstr "小时" + +msgid "Minute" +msgstr "分钟" + + + + + diff --git a/package/lean/luci-app-autoreboot/root/etc/config/autoreboot b/package/lean/luci-app-autoreboot/root/etc/config/autoreboot new file mode 100644 index 000000000..3b57e1484 --- /dev/null +++ b/package/lean/luci-app-autoreboot/root/etc/config/autoreboot @@ -0,0 +1,7 @@ + +config login + option minute '0' + option hour '5' + option week '3' + option enable '0' + diff --git a/package/lean/luci-app-autoreboot/root/etc/init.d/autoreboot b/package/lean/luci-app-autoreboot/root/etc/init.d/autoreboot new file mode 100755 index 000000000..7973d6c3f --- /dev/null +++ b/package/lean/luci-app-autoreboot/root/etc/init.d/autoreboot @@ -0,0 +1,39 @@ +#!/bin/sh /etc/rc.common +START=50 + +run_reboot() +{ + local enable + config_get_bool enable $1 enable + + if [ $enable = 1 ]; then + local minute + local hour + config_get week $1 week + config_get minute $1 minute + config_get hour $1 hour + if [ $minute = 0 ] ; then + minute="00" + fi + if [ $week = 0 ] ; then + week="*" + fi + sed -i '/reboot/d' /etc/crontabs/root >/dev/null 2>&1 + echo "$minute $hour * * $week sleep 5 && touch /etc/banner && reboot" >> /etc/crontabs/root + echo "Auto REBOOT has started." + else + sed -i '/reboot/d' /etc/crontabs/root >/dev/null 2>&1 + echo "Auto REBOOT has started." + fi +} + +start() +{ + config_load autoreboot + config_foreach run_reboot login +} + +stop() +{ + echo "Auto REBOOT has stoped." +}