From 1f11f72d1827748e62c5cac885c5e9c5afdeede6 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Thu, 27 Nov 2025 08:48:35 +0100 Subject: [PATCH 1/4] global-functions: $SymbolByUnicodeName: add special with magic --- global-functions.rsc | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/global-functions.rsc b/global-functions.rsc index db9eac6..412bd0b 100644 --- a/global-functions.rsc +++ b/global-functions.rsc @@ -1672,6 +1672,7 @@ :set SymbolByUnicodeName do={ :local Name [ :tostr $1 ]; + :global EitherOr; :global LogPrintOnce; :global SymbolsExtra; @@ -1713,12 +1714,18 @@ "white-heavy-check-mark"="\E2\9C\85" }, $SymbolsExtra); + :local Magic [ :pick [ /system/clock/get date ] 4 10 ]; + :local Special { + "large-orange-circle-04-01"="\F0\9F\8D\8A"; + "large-orange-circle-10-31"="\F0\9F\8E\83"; + "large-red-circle-04-01"="\F0\9F\8D\92" }; + :if ([ :len ($Symbols->$Name) ] = 0) do={ $LogPrintOnce warning $0 ("No symbol available for name '" . $Name . "'!"); :return ""; } - :return (($Symbols->$Name) . "\EF\B8\8F"); + :return ([ $EitherOr ($Special->($Name . $Magic)) ($Symbols->$Name) ] . "\EF\B8\8F"); } # return symbol for notification From 7caaa6232198ae3c0376b2364c39d9d4372c396b Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Thu, 27 Nov 2025 11:21:55 +0100 Subject: [PATCH 2/4] check-perpetual-license: add scroll symbol in notification MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit doc/check-perpetual-license.d/notification-01-warn.avif ----- >8 ----- [rsc] 📜⚠️ License about to expire! Your license failed to renew and is about to expire on 2025-09-13 12:12:23 on rsc... ----- >8 ----- doc/check-perpetual-license.d/notification-02-renew.avif ----- >8 ----- [rsc] 📜✅️ License renewed Your license was successfully renewed on rsc. It is now valid until 2025-10-25 08:42:46. ----- >8 ----- --- check-perpetual-license.rsc | 6 +++--- .../notification-01-warn.avif | Bin 4044 -> 4105 bytes .../notification-02-renew.avif | Bin 3944 -> 4021 bytes global-functions.rsc | 1 + 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/check-perpetual-license.rsc b/check-perpetual-license.rsc index c2f0dff..a88498d 100644 --- a/check-perpetual-license.rsc +++ b/check-perpetual-license.rsc @@ -42,7 +42,7 @@ $LogPrint warning $ScriptName ("Your license expired on " . ($License->"deadline-at") . "!"); :if ($SentCertificateNotification != "expired") do={ $SendNotification2 ({ origin=$ScriptName; \ - subject=([ $SymbolForNotification "warning-sign" ] . "License expired!"); \ + subject=([ $SymbolForNotification "scroll,warning-sign" ] . "License expired!"); \ message=("Your license expired on " . ($License->"deadline-at") . \ ", can no longer update RouterOS on " . $Identity . "...") }); :set SentCertificateNotification "expired"; @@ -55,7 +55,7 @@ $LogPrint warning $ScriptName ("Your license will expire on " . ($License->"deadline-at") . "!"); :if ($SentCertificateNotification != "warning") do={ $SendNotification2 ({ origin=$ScriptName; \ - subject=([ $SymbolForNotification "warning-sign" ] . "License about to expire!"); \ + subject=([ $SymbolForNotification "scroll,warning-sign" ] . "License about to expire!"); \ message=("Your license failed to renew and is about to expire on " . \ ($License->"deadline-at") . " on " . $Identity . "...") }); :set SentCertificateNotification "warning"; @@ -68,7 +68,7 @@ [ :totime ($License->"deadline-at") ] - 4w > [ :timestamp ]) do={ $LogPrint info $ScriptName ("Your license was successfully renewed."); $SendNotification2 ({ origin=$ScriptName; \ - subject=([ $SymbolForNotification "white-heavy-check-mark" ] . "License renewed"); \ + subject=([ $SymbolForNotification "scroll,white-heavy-check-mark" ] . "License renewed"); \ message=("Your license was successfully renewed on " . $Identity . \ ". It is now valid until " . ($License->"deadline-at") . ".") }); :set SentCertificateNotification; diff --git a/doc/check-perpetual-license.d/notification-01-warn.avif b/doc/check-perpetual-license.d/notification-01-warn.avif index fb6b56ab49bada738b2ee356b6a70d890c330d54..aa36e45f11191afea75960cb8fd5a79db50f0ea0 100644 GIT binary patch delta 3314 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 delta 3253 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 nLE2_%r=8MZVXRk|+aD9q<$ziPKfzR9)l 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 SW482}fv&9G?Dwa-2i1_lC09cL delta 3155 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 tE|%W~ueTlFXA8G#69oY?%Up`8*lK*kM!uRM Date: Mon, 1 Dec 2025 11:25:00 +0100 Subject: [PATCH 3/4] README: add missing space --- README.d/04-import-scripts.avif | Bin 4805 -> 4813 bytes README.md | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/README.d/04-import-scripts.avif b/README.d/04-import-scripts.avif index 27380eba1666633b70e4c4fd2746d27ad2f9205b..c09949ab604d054e2d3d2cef93faf466e3bb0216 100644 GIT binary patch delta 243 zcmVGHHeuB5)!`^u`ICf{patH(YybZv9onpVOe!uY`)F9ct#T zI*j5LkXT4D;4*(S?>Qer+I*$-;Qu}QGK-}fDL$}Iu^5#pqV?ic@Qaan=Fwrj1<6lw zBfWX9Prwvgnf4fn!ceb30Co}{`KmnG=7Vn?G(PB=GD|`TdXOnkIhMJzLF8{`FEaN8 tW^tkXA3eE2DXf0gKL#FcmcAJd6f~mZDe6|5&#MYI3==ttP(P%vmXK95Pv|Kv}*>`Dse{r z!Yyprgb<4s5F#FL-stO0*p;FNSZs6sZ}4+&9BeBhs^#Kkj~iDlEQlfb?nevOz2bZn z_Ol-&ML*v|s0@&CDm+x-K7`6tmOhe)dwPNXz{pIqhUt#!?2)XUoF2Ea|CnzG!Vp=! zRcl}V9Vf|59;W=ir$_?_1Rf%$J}Q&oAtZd6s9hLFlM<+%(Cnlhb~helwtnj|F@`iv lL-(7Q=O=+C8zh6N%|OX30tBS(tu-w{kcY%|Qb_&3n>?&VYhVBX diff --git a/README.md b/README.md index 0aedfcf..d562ada 100644 --- a/README.md +++ b/README.md @@ -128,7 +128,7 @@ date and time is set correctly! Now let's download the main scripts and add them in configuration on the fly. - :foreach Script in={ "global-config"; "global-config-overlay"; "global-functions" } do={ /system/script/add name=$Script owner=$Script source=([ /tool/fetch check-certificate=yes-without-crl ("https://rsc.eworm.de/main/" . $Script . ".rsc") output=user as-value]->"data"); }; + :foreach Script in={ "global-config"; "global-config-overlay"; "global-functions" } do={ /system/script/add name=$Script owner=$Script source=([ /tool/fetch check-certificate=yes-without-crl ("https://rsc.eworm.de/main/" . $Script . ".rsc") output=user as-value ]->"data"); }; ![screenshot: import scripts](README.d/04-import-scripts.avif) From c0678f0501dfccc56b692a64439b4bd1982149a1 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Mon, 1 Dec 2025 11:25:28 +0100 Subject: [PATCH 4/4] INITIAL-COMMANDS: add missing space --- INITIAL-COMMANDS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/INITIAL-COMMANDS.md b/INITIAL-COMMANDS.md index 374f716..e580bc5 100644 --- a/INITIAL-COMMANDS.md +++ b/INITIAL-COMMANDS.md @@ -41,7 +41,7 @@ Run the complete base installation: :foreach Script in={ "global-config"; "global-config-overlay"; "global-functions" } do={ :put "Installing $Script..."; /system/script/remove [ find where name=$Script ]; - /system/script/add name=$Script owner=$Script source=([ /tool/fetch check-certificate=yes-without-crl ($BaseUrl . $Script . ".rsc") output=user as-value]->"data"); + /system/script/add name=$Script owner=$Script source=([ /tool/fetch check-certificate=yes-without-crl ($BaseUrl . $Script . ".rsc") output=user as-value ]->"data"); }; :put "Loading configuration and functions..."; /system/script { run global-config; run global-functions; };