- luci.i18n.loadc("admin-core")
- local i18n = luci.i18n.translate
-
- entry({"admin", "system"}, template("admin_system/index"), i18n("system"), 30)
- entry({"admin", "system", "packages"}, call("action_packages"), i18n("a_s_packages"), 10)
- entry({"admin", "system", "packages", "ipkg"}, form("admin_system/ipkg"), i18n("a_s_p_ipkg"))
- entry({"admin", "system", "passwd"}, call("action_passwd"), i18n("a_s_changepw"), 20)
- entry({"admin", "system", "sshkeys"}, form("admin_system/sshkeys"), i18n("a_s_sshkeys"), 30)
- entry({"admin", "system", "system"}, cbi("admin_system/system"), i18n("system"), 40)
- entry({"admin", "system", "fstab"}, cbi("admin_system/fstab"), i18n("a_s_fstab"), 50)
- entry({"admin", "system", "leds"}, cbi("admin_system/leds"), i18n("leds", "LEDs"), 60)
- entry({"admin", "system", "backup"}, call("action_backup"), i18n("a_s_backup"), 70)
- entry({"admin", "system", "upgrade"}, call("action_upgrade"), i18n("a_s_flash"), 80)
- entry({"admin", "system", "reboot"}, call("action_reboot"), i18n("reboot"), 90)
+ entry({"admin", "system"}, alias("admin", "system", "system"), _("System"), 30).index = true
+ entry({"admin", "system", "system"}, cbi("admin_system/system"), _("System"), 1)
+ entry({"admin", "system", "clock_status"}, call("action_clock_status"))
+
+ entry({"admin", "system", "admin"}, cbi("admin_system/admin"), _("Administration"), 2)
+
+ if nixio.fs.access("/bin/opkg") then
+ entry({"admin", "system", "packages"}, call("action_packages"), _("Software"), 10)
+ entry({"admin", "system", "packages", "ipkg"}, form("admin_system/ipkg"))
+ end
+
+ entry({"admin", "system", "startup"}, form("admin_system/startup"), _("Startup"), 45)
+ entry({"admin", "system", "crontab"}, form("admin_system/crontab"), _("Scheduled Tasks"), 46)
+
+ if nixio.fs.access("/etc/config/fstab") then
+ entry({"admin", "system", "fstab"}, cbi("admin_system/fstab"), _("Mount Points"), 50)
+ entry({"admin", "system", "fstab", "mount"}, cbi("admin_system/fstab/mount"), nil).leaf = true
+ entry({"admin", "system", "fstab", "swap"}, cbi("admin_system/fstab/swap"), nil).leaf = true
+ end
+
+ if nixio.fs.access("/sys/class/leds") then
+ entry({"admin", "system", "leds"}, cbi("admin_system/leds"), _("<abbr title=\"Light Emitting Diode\">LED</abbr> Configuration"), 60)
+ end
+
+ entry({"admin", "system", "flashops"}, call("action_flashops"), _("Backup / Flash Firmware"), 70)
+ entry({"admin", "system", "flashops", "backupfiles"}, form("admin_system/backupfiles"))
+
+ entry({"admin", "system", "reboot"}, call("action_reboot"), _("Reboot"), 90)
+end
+
+function action_clock_status()
+ local set = tonumber(luci.http.formvalue("set"))
+ if set ~= nil and set > 0 then
+ local date = os.date("*t", set)
+ if date then
+ -- prevent session timeoutby updating mtime
+ nixio.fs.utimes(luci.sauth.sessionpath .. "/" .. luci.dispatcher.context.authsession, set, set)
+
+ luci.sys.call("date -s '%04d-%02d-%02d %02d:%02d:%02d'" %{
+ date.year, date.month, date.day, date.hour, date.min, date.sec
+ })
+ end
+ end
+
+ luci.http.prepare_content("application/json")
+ luci.http.write_json({ timestring = os.date("%c") })