script-updates: add donation hint in configuration warning notification

This commit is contained in:
Christian Hesse 2019-08-30 13:41:20 +02:00
parent c7563d4ffd
commit 166bbffe1d
4 changed files with 34 additions and 14 deletions

View file

@ -6,7 +6,7 @@
# Make sure all configuration properties are up to date and this
# value is in sync with value in script 'global-functions'!
:global GlobalConfigVersion 7;
:global GlobalConfigVersion 8;
# This is used for DNS and backup file.
:global Domain "example.com";
@ -107,7 +107,14 @@
:global ScriptUpdatesIgnore {
"global-config"
}
# Enable this to silence all configuration warnings.
:global ScriptUpdatesConfigChangesIgnore false;
# This project is developed in private spare time and usage is free of charge
# for you. If you like the scripts and think this is of value for you or your
# business please consider a donation:
# https://git.eworm.de/cgit/routeros-scripts/about/#donate
# Enable this to silence donation hint.
:global IDonate false;
# Use this for certificate auto-renew
:global CertRenewUrl "";

View file

@ -10,4 +10,5 @@
5="split off new script 'cloud-backup' from 'email-backup'";
6="introduced script 'upload-backup' with new configuration parameters";
7="introduced script 'check-health' with new configuration parameters";
8="added donation hint and option to silence it";
};

View file

@ -5,7 +5,7 @@
# global functions
# expected configuration version
:global ExpectedConfigVersion 7;
:global ExpectedConfigVersion 8;
# global variables not to be changed by user
:global SentConfigChangesNotification "-";

View file

@ -7,6 +7,7 @@
:global ExpectedConfigVersion;
:global GlobalConfigVersion;
:global Identity;
:global IDonate;
:global SentConfigChangesNotification;
:global ScriptUpdatesFetch;
:global ScriptUpdatesBaseUrl;
@ -81,7 +82,10 @@
$GlobalConfigVersion < $ExpectedConfigVersion) do={
:global GlobalConfigChanges;
:local ChangeLogCode;
:local Changes;
:local NotificationMessage ("Current configuration on " . $Identity . \
" is out of date. Please update global-config, then increase " . \
"variable GlobalConfigVersion (currently " . $GlobalConfigVersion . \
") to " . $ExpectedConfigVersion . " and re-run global-config.");
:log debug ("Fetching changelog.");
:do {
@ -91,20 +95,28 @@
:if ($Result->"status" = "finished") do={
:set ChangeLogCode ($Result->"data");
}
:set NotificationMessage ($NotificationMessage . "\n\nChanges:");
[ :parse $ChangeLogCode ];
:for I from=($GlobalConfigVersion + 1) to=$ExpectedConfigVersion do={
:set NotificationMessage ($NotificationMessage . \
"\n * " . $GlobalConfigChanges->[ :tostr $I ]);
}
:set GlobalConfigChanges;
} on-error={
:log info ("Failed fetching changes!");
:set NotificationMessage ($NotificationMessage . \
"\n\nChanges are not available.");
}
[ :parse $ChangeLogCode ];
:for I from=($GlobalConfigVersion + 1) to=$ExpectedConfigVersion do={
:set Changes ( $Changes . "\n * " . $GlobalConfigChanges->[ :tostr $I ] );
}
:set GlobalConfigChanges;
$SendNotification "Configuration warning!" \
("Current configuration on " . $Identity . " is out of date. " . \
"Please update global-config, then increase variable " . \
"GlobalConfigVersion (currently " . $GlobalConfigVersion . \
") to " . $ExpectedConfigVersion . " and re-run global-config.\n\n" . \
"Changes:" . $Changes);
:if ($IDonate != true) do={
:set NotificationMessage ($NotificationMessage . \
"\n\n==== donation hint ====\n" . \
"This project is developed in private spare time and usage is " . \
"free of charge for you. If you like the scripts and think this is " . \
"of value for you or your business please consider a donation:\n" . \
"https://git.eworm.de/cgit/routeros-scripts/about/#donate");
}
$SendNotification "Configuration warning!" $NotificationMessage;
:set SentConfigChangesNotification $ExpectedConfigVersion;
}