From d245d0e25ff2596c8318e445e3124ce8b1343209 Mon Sep 17 00:00:00 2001 From: nasseeder1 Date: Thu, 10 Mar 2022 21:58:07 +0000 Subject: [PATCH] CTZ.pm: fix git-svn-id: https://svn.fhem.de/fhem/trunk@25811 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/lib/FHEM/Utility/CTZ.pm | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/fhem/lib/FHEM/Utility/CTZ.pm b/fhem/lib/FHEM/Utility/CTZ.pm index 13854cb8d..7c87f864e 100644 --- a/fhem/lib/FHEM/Utility/CTZ.pm +++ b/fhem/lib/FHEM/Utility/CTZ.pm @@ -34,7 +34,7 @@ use strict; use warnings; use utf8; -# use lib qw(/opt/fhem/FHEM /opt/fhem/lib); # für Syntaxcheck mit: perl -c /opt/fhem/lib/FHEM/Utility/CTZ.pm + use lib qw(/opt/fhem/FHEM /opt/fhem/lib); # für Syntaxcheck mit: perl -c /opt/fhem/lib/FHEM/Utility/CTZ.pm use GPUtils qw( GP_Import GP_Export ); use DateTime; @@ -89,7 +89,10 @@ sub convertTimeZone { my $writelog = $paref->{writelog} // 0; my $ms = q{}; - if ($dtstring =~ m/\.(\d+)/xs) { # datetime enthält Millisekunden + return "no valid timezone $tzcurrent" if(!checkValidName($tzcurrent)); + return "no valid timezone $tzconv" if(!checkValidName($tzconv) ); + + if ($dtstring =~ m/\.(\d+)/xs) { # datetime enthält Millisekunden $ms = '.'.$1; } @@ -112,6 +115,14 @@ sub convertTimeZone { return ($err, $dtconv.$ms); } +sub checkValidName { + my $tz = shift; + + my $valid = DateTime::TimeZone->is_valid_name($tz); + +return $valid; +} + ############################################################################### # returns an array reference list of all possible time zone names ###############################################################################