From cec61183eb254db328c35733e42324f13abf9224 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 9 Oct 2018 16:48:54 +0200 Subject: global-functions: add UrlEncode and use in SendNotification --- global-functions | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/global-functions b/global-functions index 8eba595..e3dceff 100644 --- a/global-functions +++ b/global-functions @@ -46,6 +46,28 @@ :return $return; } +# url encoding +:global UrlEncode do={ + :local return ""; + + :if ([ :len $1 ] > 0) do={ + :local chars " %&"; + :local subs { "%20"; "%25"; "%26" }; + + :for i from=0 to=([ :len $1 ] - 1) do={ + :local char [ :pick $1 $i ]; + :local replace [ :find $chars $char ]; + + :if ([ :len $replace ] > 0) do={ + :set $char ($subs->$replace); + } + :set $return ($return . $char); + } + } + + :return $return; +} + # send notification via e-mail and telegram # Note that subject and attachment are ignored for telegram! :global SendNotification do={ @@ -58,6 +80,8 @@ :global "telegram-tokenid"; :global "telegram-chatid"; + :global UrlEncode; + :if ([ :len $"email-general-to" ] > 0) do={ :do { / tool e-mail send to=$"email-general-to" cc=$"email-general-cc" \ @@ -74,7 +98,7 @@ do { / tool fetch check-certificate=yes-without-crl keep-result=no http-method=post \ ("https://api.telegram.org/bot" . $"telegram-tokenid" . "/sendMessage") \ - http-data=("chat_id=" . $"telegram-chatid" . "&text=" . $message); + http-data=("chat_id=" . $"telegram-chatid" . "&text=" . [ $UrlEncode $message ]); } on-error={ :log warning "Failed sending telegram notification!"; } -- cgit v1.2.3-54-g00ecf