From: Michael Tremer Date: Fri, 28 Apr 2017 14:39:05 +0000 (+0100) Subject: captive: Correctly set coupon lifetime X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=733932de749c1c92f8f4b38a53cdbf876dd7fe6e;p=people%2Fms%2Fipfire-2.x.git captive: Correctly set coupon lifetime Signed-off-by: Michael Tremer --- diff --git a/html/cgi-bin/captive.cgi b/html/cgi-bin/captive.cgi index b15d1d37e3..b5a7072f3b 100755 --- a/html/cgi-bin/captive.cgi +++ b/html/cgi-bin/captive.cgi @@ -115,18 +115,9 @@ if ($cgiparams{'ACTION'} eq $Lang::tr{'save'}) { } if ($cgiparams{'ACTION'} eq "$Lang::tr{'Captive generate coupon'}") { - #calculate expiredate - my $expire; - if ($settings{'UNLIMITED'} eq 'on'){ - $expire = $Lang::tr{'Captive nolimit'}; - }else{ - $settings{'EXPIRE'} = $cgiparams{'EXP_HOUR'}+$cgiparams{'EXP_DAY'}+$cgiparams{'EXP_WEEK'}+$cgiparams{'EXP_MONTH'}; - $expire = sub{sprintf '%02d.%02d.%04d %02d:%02d', $_[3], $_[4]+1, $_[5]+1900, $_[2], $_[1] }->(localtime(time()+$settings{'EXPIRE'})); - } - - #Check Expiretime - if($cgiparams{'EXP_HOUR'}+$cgiparams{'EXP_DAY'}+$cgiparams{'EXP_WEEK'}+$cgiparams{'EXP_MONTH'} == 0 && $cgiparams{'UNLIMITED'} == ''){ - $errormessage=$Lang::tr{'Captive noexpiretime'}; + # Check expiry time + if ($cgiparams{'EXP_HOUR'} + $cgiparams{'EXP_DAY'} + $cgiparams{'EXP_WEEK'} + $cgiparams{'EXP_MONTH'} == 0 && $cgiparams{'UNLIMITED'} == '') { + $errormessage = $Lang::tr{'Captive noexpiretime'}; } #check valid remark @@ -144,6 +135,16 @@ if ($cgiparams{'ACTION'} eq "$Lang::tr{'Captive generate coupon'}") { &General::readhasharray($coupons, \%couponhash) if (-e $coupons); my $now = time(); + # Calculate expiry time in seconds + my $expires = 0; + + if ($settings{'UNLIMITED'} ne 'on') { + $expires += $settings{'EXP_HOUR'}; + $expires += $settings{'EXP_DAY'}; + $expires += $settings{'EXP_WEEK'}; + $expires += $settings{'EXP_MONTH'}; + } + my $count = $cgiparams{'COUNT'} || 1; while($count-- > 0) { # Generate a new code