Compare commits

...

5 commits

3 changed files with 16 additions and 5 deletions

View file

@ -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 with multiple presses](doc/mode-button.md) (`mode-button` & `mode-button-scheduler`)
* [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`)

View file

@ -1434,12 +1434,22 @@
:error false;
}
: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"));
}
: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" . "'.");
}
$LogPrint info $0 ("Updating script: " . $ScriptVal->"name");
/system/script/set owner=($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" || \
$ScriptVal->"name" = "global-functions" || \
$ScriptVal->"name" ~ ("^(global-functions\\.d|mod)/.")) do={
:if ($ScriptVal->"name" ~ ("^(global-config|global-functions(\\.d/.+)?|mod/.+)\$")) do={
:set ReloadGlobal true;
}
} on-error={ }

View file

@ -5,6 +5,7 @@
#
# requires RouterOS, version=7.21
# requires device-mode, scheduler
# requires policy, dont-require-permissions
#
# act on multiple mode and reset button presses
# https://rsc.eworm.de/doc/mode-button.md