From 0806170370f87f949efd327e1ad7377050b3626f Mon Sep 17 00:00:00 2001 From: Alexander Marx Date: Thu, 7 Jul 2016 11:27:40 +0200 Subject: [PATCH] BUG11141: Redesign of configuration website To improve the user experience, the configuration part of generating new vouchers has been reworked. Signed-off-by: Alexander Marx Signed-off-by: Michael Tremer --- html/cgi-bin/captive.cgi | 187 ++++++++++++++++++--------------------- langs/de/cgi-bin/de.pl | 4 +- langs/en/cgi-bin/en.pl | 4 +- 3 files changed, 88 insertions(+), 107 deletions(-) diff --git a/html/cgi-bin/captive.cgi b/html/cgi-bin/captive.cgi index 50f4795ddf..a8add4d87f 100755 --- a/html/cgi-bin/captive.cgi +++ b/html/cgi-bin/captive.cgi @@ -58,11 +58,6 @@ unless (-e $voucherout) { system("touch $voucherout"); } #actions if ($cgiparams{'ACTION'} eq "$Lang::tr{'save'}"){ - #Check Expiretime - if($cgiparams{'EXP_HOUR'}+$cgiparams{'EXP_DAY'}+$cgiparams{'EXP_WEEK'}+$cgiparams{'EXP_MONTH'} == 0 && $cgiparams{'UNLIMITED'} == ''){ - $errormessage=$Lang::tr{'Captive noexpiretime'}; - } - my $file = $cgiparams{'uploaded_file'}; if ($file){ #Check if extension is png @@ -76,11 +71,6 @@ if ($cgiparams{'ACTION'} eq "$Lang::tr{'save'}"){ $settings{'ENABLE_GREEN'} = $cgiparams{'ENABLE_GREEN'}; $settings{'ENABLE_BLUE'} = $cgiparams{'ENABLE_BLUE'}; $settings{'AUTH'} = $cgiparams{'AUTH'}; - $settings{'EXPIRE'} = $cgiparams{'EXP_HOUR'}+$cgiparams{'EXP_DAY'}+$cgiparams{'EXP_WEEK'}+$cgiparams{'EXP_MONTH'}; - $settings{'EXP_HOUR'} = $cgiparams{'EXP_HOUR'}; - $settings{'EXP_DAY'} = $cgiparams{'EXP_DAY'}; - $settings{'EXP_WEEK'} = $cgiparams{'EXP_WEEK'}; - $settings{'EXP_MONTH'} = $cgiparams{'EXP_MONTH'}; $settings{'TITLE'} = $cgiparams{'TITLE'}; $settings{'UNLIMITED'} = $cgiparams{'UNLIMITED'}; @@ -108,14 +98,6 @@ if ($cgiparams{'ACTION'} eq "$Lang::tr{'save'}"){ } } - #saves the Captiveportal settings to disk - if ($cgiparams{'UNLIMITED'} eq 'on'){ - $cgiparams{'EXP_HOUR'} = '0'; - $cgiparams{'EXP_DAY'} = '0'; - $cgiparams{'EXP_WEEK'} = '0'; - $cgiparams{'EXP_MONTH'} = '0'; - } - &General::writehash("$settingsfile", \%settings); #write Licensetext if defined @@ -135,9 +117,22 @@ if ($cgiparams{'ACTION'} eq "$Lang::tr{'save'}"){ } } -if ($cgiparams{'ACTION'} eq "$Lang::tr{'Captive voucherout'}"){ +if ($cgiparams{'ACTION'} eq "$Lang::tr{'Captive genvoucher'}"){ #generates a voucher and writes it to /var/ipfire/voucher_out + #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 if we already have a voucher with same code &General::readhasharray("$voucherout", \%voucherhash); foreach my $key (keys %voucherhash) { @@ -316,70 +311,6 @@ END print"$Lang::tr{'Captive logo_set'}"; print"
$Lang::tr{'no'}"; } - print"$Lang::tr{'Captive vouchervalid'}"; - print "
"; - print ""; - - #print hour-dropdownbox - my $hrs=3600; - print ""; - - print ""; - - print "
$Lang::tr{'hours'}$Lang::tr{'days'}$Lang::tr{'weeks'}$Lang::tr{'months'}
"; - - #print day-dropdownbox - my $days=3600*24; - print ""; - - #print week-dropdownbox - my $week=3600*24*7; - print ""; - - #print month-dropdownbox - my $month=3600*24*30; - print "    $Lang::tr{'Captive nolimit'}
"; - print< @@ -431,27 +362,77 @@ sub gencode(){ sub voucher(){ #show voucher part - #calculate expiredate - my $expire; - if ($settings{'UNLIMITED'} eq 'on'){ - $expire = $Lang::tr{'Captive nolimit'}; - }else{ - $expire = sub{sprintf '%02d.%02d.%04d %02d:%02d', $_[3], $_[4]+1, $_[5]+1900, $_[2], $_[1] }->(localtime(time()+$settings{'EXPIRE'})); - } - - &Header::openbox('100%', 'left', $Lang::tr{'Captive voucher'}); -print< - - - -END -; - + &Header::openbox('100%', 'left', $Lang::tr{'Captive genvoucher'}); + print ""; + print "
$Lang::tr{'Captive voucher'}$Lang::tr{'Captive expire'}$Lang::tr{'remark'}
"; + print ""; + print ""; + print "

$Lang::tr{'Captive vouchervalid'}

"; + + print ""; + print ""; + + #print hour-dropdownbox + my $hrs=3600; + print ""; + print ""; + print "
$Lang::tr{'hours'}$Lang::tr{'days'}$Lang::tr{'weeks'}$Lang::tr{'months'}
"; + + #print day-dropdownbox + my $days=3600*24; + print ""; + + #print week-dropdownbox + my $week=3600*24*7; + print ""; + + #print month-dropdownbox + my $month=3600*24*30; + print "    $Lang::tr{'Captive nolimit'}
"; + print "

$Lang::tr{'remark'}

 


"; $cgiparams{'CODE'} = &gencode(); - print "
$cgiparams{'CODE'}
$expire
"; - print "
"; - print "
"; + print "
"; + &Header::closebox(); if (! -z $voucherout) { &show_voucher_out();} if (! -z $clients) { &show_voucher_in_use();} diff --git a/langs/de/cgi-bin/de.pl b/langs/de/cgi-bin/de.pl index d9d7025cf8..a47bc727cf 100644 --- a/langs/de/cgi-bin/de.pl +++ b/langs/de/cgi-bin/de.pl @@ -33,9 +33,9 @@ 'Captive time' => 'Erlaubter Nutzungszeitraum nach Aktivierung (Stunden)', 'Captive title' => 'Titel der Anmeldeseite', 'Captive voactive' => 'Aktive Gutscheine', +'Captive genvoucher' => 'Gutschein generieren', 'Captive voucher' => 'Gutschein', -'Captive voucherout' => 'Gutschein ausgeben', -'Captive vouchervalid' => 'Verbindungszeitraum', +'Captive vouchervalid' => 'Erlaubter Zeitraum für Gutschein', 'Captive vout' => 'Ausgegebene Gutscheine', 'Captive wrong ext' => 'Die hochgeladene Datei hat den falschen Dateityp', 'Choose Rule' => 'Wählen Sie eine der untenstehenden Regeln aus.', diff --git a/langs/en/cgi-bin/en.pl b/langs/en/cgi-bin/en.pl index b5516f2403..995685fb13 100644 --- a/langs/en/cgi-bin/en.pl +++ b/langs/en/cgi-bin/en.pl @@ -33,9 +33,9 @@ 'Captive time' => 'Access time post activation (hours)', 'Captive title' => 'Title of Login Page', 'Captive voactive' => 'Active Vouchers', +'Captive genvoucher' => 'Generate voucher', 'Captive voucher' => 'Voucher', -'Captive voucherout' => 'Ticket Transfer', -'Captive vouchervalid' => 'Connection time range', +'Captive vouchervalid' => 'Allowed time for this voucher', 'Captive vout' => 'Issued Vouchers', 'Captive wrong ext' => 'Uploaded file has wrong filetype', 'Choose Rule' => 'Choose one of the following rules.', -- 2.39.2