diff --git a/html/cgi-bin/forwardfw.cgi b/html/cgi-bin/forwardfw.cgi
index fb0ef5900..1caa34869 100755
--- a/html/cgi-bin/forwardfw.cgi
+++ b/html/cgi-bin/forwardfw.cgi
@@ -74,7 +74,7 @@ my %ipsecsettings=();
my %aliases=();
my %optionsfw=();
-my $VERSION='0.9.8.2';
+my $VERSION='0.9.8.3';
my $color;
my $confignet = "${General::swroot}/fwhosts/customnetworks";
my $confighost = "${General::swroot}/fwhosts/customhosts";
@@ -143,6 +143,12 @@ if ($fwdfwsettings{'ACTION'} eq 'saverule')
if( $fwdfwsettings{$fwdfwsettings{'grp1'}} eq 'IPFire' && $fwdfwsettings{'grp2'} eq 'ipfire'){
$errormessage.=$Lang::tr{'fwdfw err same'};
}
+ #Konvert timeframe if defined
+ if ($fwdfwsettings{'TIME'} eq 'ON'){
+ $fwdfwsettings{'TIME_FROM'} = &timeconvert($fwdfwsettings{'TIME_FROM'},'2utc');
+ $fwdfwsettings{'TIME_TO'} = &timeconvert($fwdfwsettings{'TIME_TO'},'2utc');
+ print "NACHHER: $fwdfwsettings{'TIME_FROM'} - $fwdfwsettings{'TIME_TO'}
";
+ }
#DMZ-Part
if ($fwdfwsettings{$fwdfwsettings{'grp1'}} eq 'ORANGE' || $checkorange eq 'on'){
$fwdfwsettings{'config'}=$configdmz;
@@ -577,7 +583,6 @@ END
&Header::closebox();
print "
Version: $VERSION
";
}
-
sub changerule
{
my $oldchain=shift;
@@ -1386,6 +1391,8 @@ sub newrule
$checked{'TIME_FRI'}{$fwdfwsettings{'TIME_FRI'}} = 'CHECKED';
$checked{'TIME_SAT'}{$fwdfwsettings{'TIME_SAT'}} = 'CHECKED';
$checked{'TIME_SUN'}{$fwdfwsettings{'TIME_SUN'}} = 'CHECKED';
+ $fwdfwsettings{'TIME_FROM'} = &timeconvert($fwdfwsettings{'TIME_FROM'},'');
+ $fwdfwsettings{'TIME_TO'} = &timeconvert($fwdfwsettings{'TIME_TO'},'');
$selected{'TIME_FROM'}{$fwdfwsettings{'TIME_FROM'}} = 'selected';
$selected{'TIME_TO'}{$fwdfwsettings{'TIME_TO'}} = 'selected';
$selected{'ipfire'}{$fwdfwsettings{$fwdfwsettings{'grp2'}}} ='selected';
@@ -1478,7 +1485,8 @@ sub newrule
}
}
&Header::openbox('100%', 'left', $Lang::tr{'fwdfw addrule'});
-
+ $fwdfwsettings{'TIME_FROM'} = &timeconvert($fwdfwsettings{'TIME_FROM'},'');
+ $fwdfwsettings{'TIME_TO'} = &timeconvert($fwdfwsettings{'TIME_TO'},'');
print <
@@ -1990,6 +1998,49 @@ sub saverule
}
}
}
+sub timeconvert
+{
+ my $orgtime=shift;
+ my $type=shift;
+ my $newtime;
+ my ($hour,$min) = split (":", $orgtime);
+ my @locar = localtime(time);
+ my @gmtar = gmtime();
+ my $oldtime = $hour*60 + $min;
+ my $gmt = $gmtar[2]*60 + $gmtar[1];
+ my $loc = $locar[2]*60 + $locar[1];
+ my $diff;
+ my $newtime;
+ if ($gmt > $loc)
+ {
+ $diff = $gmt - $loc;
+ if ($type eq '2utc')
+ {
+ print"umrechnen nach UTC
";
+ $newtime = $oldtime + $diff;
+ }else{
+ $newtime = $oldtime - $diff;
+ }
+ }else{
+ $diff = $loc - $gmt;
+ if ($type eq '2utc')
+ {
+ $newtime = $oldtime - $diff;
+ }else{
+ $newtime = $oldtime + $diff;
+ }
+ }
+ if ($newtime < 0 ){
+ $newtime += 1440;
+ }
+ if ($newtime >= 1440){
+ $newtime -= 1440;
+ }
+ my $newhour =sprintf"%02d", $newtime/60;
+ my $newmin = sprintf"%02d",$newtime % 60;
+ $newtime = "$newhour:$newmin";
+ return $newtime;
+}
sub validremark
{
# Checks a hostname against RFC1035
@@ -2170,7 +2221,10 @@ END
if($$hash{$key}[25] ne ''){push (@days,$Lang::tr{'fwdfw wd_sun'});}
my $weekdays=join(",",@days);
if (@days){
- print"$weekdays   $$hash{$key}[26] - $$hash{$key}[27] | ";
+ my $from = &timeconvert($$hash{$key}[26],'2loc');
+ my $to = &timeconvert($$hash{$key}[27],'2loc');;
+
+ print"$weekdays   $from - $to | ";
}
}else{
print"24/7 | ";