diff --git a/README.md b/README.md index 5b99bfcd..4daa3d5c 100644 --- a/README.md +++ b/README.md @@ -294,7 +294,7 @@ Available scripts * [Manage IP addresses with bridge status](doc/ip-addr-bridge.md) (`ip-addr-bridge`) * [Manage LEDs dark mode](doc/leds-mode.md) (`leds-day-mode`, `leds-night-mode` & `leds-toggle-mode`) * [Forward log messages via notification](doc/log-forward.md) (`log-forward`) -* [Mode button with multiple presses](doc/mode-button.md) (`mode-button` & `mode-button-scheduler`) +* [Mode button with multiple presses](doc/mode-button.md) (`mode-button`) * [Manage DNS and DoH servers from netwatch](doc/netwatch-dns.md) (`netwatch-dns`) * [Notify on host up and down](doc/netwatch-notify.md) (`netwatch-notify`) * [Visualize OSPF state via LEDs](doc/ospf-to-leds.md) (`ospf-to-leds`) diff --git a/global-functions.rsc b/global-functions.rsc index 61db5436..f42bb09b 100644 --- a/global-functions.rsc +++ b/global-functions.rsc @@ -1377,22 +1377,25 @@ :continue; } - :local ReqPolicy [ $ParseKeyValueStore [ $Grep $SourceNew ("\23 requires policy, ") ] ]; - :if ([ :len ($ReqPolicy->"policy") ] > 0) do={ - :set ($ScriptVal->"policy") [ :toarray delimiter=";" ($ReqPolicy->"policy") ]; - $LogPrint debug $0 ("New policy for script '" . $ScriptVal->"name" . \ - "': " . ($ReqPolicy->"policy")); + :local RequirePolicy [ $ParseKeyValueStore [ $Grep $SourceNew ("\23 requires policy, ") ] ]; + :if ([ :len ($RequirePolicy->"policy") ] > 0) do={ + :set ($ScriptVal->"policy") [ :toarray delimiter=";" \ + ($RequirePolicy->"policy") ]; + $LogPrintOnce debug $0 ("New policy for script '" . $ScriptVal->"name" . \ + "': " . ($RequirePolicy->"policy")); } - :if ([ :len ($ReqPolicy->"dont-require-permissions") ] > 0) do={ - :set ($ScriptVal->"dont-require-permissions") ($ReqPolicy->"dont-require-permissions"); - $LogPrint debug $0 ("Setting dont-require-permissions for script '" . $ScriptVal->"name" . "'."); + :if ([ :len ($RequirePolicy->"dont-require-permissions") ] > 0) do={ + :set ($ScriptVal->"dont-require-permissions") ($RequirePolicy->"dont-require-permissions"); + $LogPrintOnce debug $0 ("Setting dont-require-permissions for script '" . $ScriptVal->"name" . "'."); } $LogPrint info $0 ("Updating script: " . $ScriptVal->"name"); /system/script/set owner=($ScriptVal->"name") policy=($ScriptVal->"policy") \ dont-require-permissions=($ScriptVal->"dont-require-permissions") \ source=[ $IfThenElse ($ScriptUpdatesCRLF = true) $SourceCRLF $SourceNew ] $Script; - :if ($ScriptVal->"name" ~ ("^(global-config|global-functions(\\.d/.+)?|mod/.+)\$")) do={ + :if ($ScriptVal->"name" = "global-config" || \ + $ScriptVal->"name" = "global-functions" || \ + $ScriptVal->"name" ~ ("^(global-functions\\.d|mod)/.")) do={ :set ReloadGlobal true; } }