captive: Allow editing terms in coupon mode
authorMichael Tremer <michael.tremer@ipfire.org>
Wed, 11 Oct 2017 13:52:03 +0000 (14:52 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Wed, 11 Oct 2017 13:52:03 +0000 (14:52 +0100)
Since the terms are always shown when set, we need a way
to edit them in coupon mode as well.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
html/cgi-bin/captive.cgi

index ae3ebbf..501bd87 100755 (executable)
@@ -97,13 +97,11 @@ if ($cgiparams{'ACTION'} eq $Lang::tr{'save'}) {
                &General::writehash("$settingsfile", \%settings);
 
                # Save terms
-               if ($settings{'AUTH'} eq 'TERMS') {
-                       $cgiparams{'TERMS'} = &Header::escape($cgiparams{'TERMS'});
-                       open(FH, ">:utf8", "/var/ipfire/captive/terms.txt") or die("$!");
-                       print FH $cgiparams{'TERMS'};
-                       close(FH);
-                       $cgiparams{'TERMS'} = "";
-               }
+               $cgiparams{'TERMS'} = &Header::escape($cgiparams{'TERMS'});
+               open(FH, ">:utf8", "/var/ipfire/captive/terms.txt") or die("$!");
+               print FH $cgiparams{'TERMS'};
+               close(FH);
+               $cgiparams{'TERMS'} = "";
 
                #execute binary to reload firewall rules
                system("/usr/local/bin/captivectrl");
@@ -291,15 +289,7 @@ if ($settings{'AUTH'} eq 'TERMS') {
        $selected{'SESSION_TIME'}{'18144000'} = "";
        $selected{'SESSION_TIME'}{$settings{'SESSION_TIME'}} = "selected";
 
-       my $terms = &getterms();
        print <<END;
-               <tr>
-                       <td></td>
-                       <td>
-                               <textarea cols="50" rows="10" name="TERMS">$terms</textarea>
-                       </td>
-               </tr>
-
                <tr>
                        <td>$Lang::tr{'Captive client session expiry time'}</td>
                        <td>
@@ -357,7 +347,14 @@ if (-e $logo) {
 END
 }
 
+my $terms = &getterms();
 print <<END;
+       <tr>
+               <td></td>
+               <td>
+                       <textarea cols="50" rows="10" name="TERMS">$terms</textarea>
+               </td>
+       </tr>
        <tr>
                <td></td>
                <td align='right'>