)
{
my $lang='';
my $engname='';
my $natname='';
chomp;
($lang,$engname,$natname) = split (/:/, $_,3);
if ($cgiparams{'lang'} eq $lang)
{
$found=1;
}
}
close (FILE);
if ( $found == 0 )
{
$errormessage="$errormessage$Lang::tr{'invalid input'}";
goto SAVE_ERROR;
}
# Set flag if index page is to refresh whilst ppp is up.
# Default is NO refresh.
if ($cgiparams{'REFRESHINDEX'} ne 'off') {
system ('/usr/bin/touch', "${General::swroot}/main/refreshindex");
} else {
unlink "${General::swroot}/main/refreshindex";
}
# Beep on ip-up or ip-down. Default is ON.
if ($cgiparams{'PPPUPDOWNBEEP'} ne 'on') {
$cgiparams{'PPPUPDOWNBEEP'} = 'off';
system ('/usr/bin/touch', "${General::swroot}/ppp/nobeeps");
} else {
unlink "${General::swroot}/ppp/nobeeps";
}
# write cgi vars to the file.
$mainsettings{'LANGUAGE'} = $cgiparams{'lang'};
$mainsettings{'WINDOWWITHHOSTNAME'} = $cgiparams{'WINDOWWITHHOSTNAME'};
$mainsettings{'PPPUPDOWNBEEP'} = $cgiparams{'PPPUPDOWNBEEP'};
$mainsettings{'FX'} = $cgiparams{'FX'};
$mainsettings{'SPEED'} = $cgiparams{'SPEED'};
$mainsettings{'THEME'} = $cgiparams{'theme'};
$mainsettings{'REFRESHINDEX'} = $cgiparams{'REFRESHINDEX'};
&General::writehash("${General::swroot}/main/settings", \%mainsettings);
&Lang::reload($cgiparams{'lang'});
SAVE_ERROR:
} else {
if ($mainsettings{'WINDOWWITHHOSTNAME'}) {
$cgiparams{'WINDOWWITHHOSTNAME'} = $mainsettings{'WINDOWWITHHOSTNAME'};
} else {
$cgiparams{'WINDOWWITHHOSTNAME'} = 'off';
}
if ($mainsettings{'PPPUPDOWNBEEP'}) {
$cgiparams{'PPPUPDOWNBEEP'} = $mainsettings{'PPPUPDOWNBEEP'};
} else {
$cgiparams{'PPPUPDOWNBEEP'} = 'on';
}
if ($mainsettings{'FX'}) {
$cgiparams{'FX'} = $mainsettings{'FX'};
} else {
$cgiparams{'FX'} = 'on';
}
if ($mainsettings{'THEME'}) {
$cgiparams{'THEME'} = $mainsettings{'THEME'};
} else {
$cgiparams{'THEME'} = 'ipfire';
}
if($mainsettings{'REFRESHINDEX'}) {
$cgiparams{'REFRESHINDEX'} = $mainsettings{'REFRESHINDEX'};
} else {
$cgiparams{'REFRESHINDEX'} = 'off';
}
if($mainsettings{'SPEED'}) {
$cgiparams{'SPEED'} = $mainsettings{'SPEED'};
} else {
$cgiparams{'SPEED'} = 'off';
}
}
# Default settings
if ($cgiparams{'ACTION'} eq "$Lang::tr{'restore defaults'}")
{
$cgiparams{'WINDOWWITHHOSTNAME'} = 'off';
$cgiparams{'PPPUPDOWNBEEP'} = 'on';
$cgiparams{'REFRESHINDEX'} = 'off';
$cgiparams{'FX'} = 'on';
$cgiparams{'SPEED'} = 'on';
$cgiparams{'THEME'} = 'ipfire';
}
$checked{'WINDOWWITHHOSTNAME'}{'off'} = '';
$checked{'WINDOWWITHHOSTNAME'}{'on'} = '';
$checked{'WINDOWWITHHOSTNAME'}{$cgiparams{'WINDOWWITHHOSTNAME'}} = "checked='checked'";
$checked{'PPPUPDOWNBEEP'}{'off'} = '';
$checked{'PPPUPDOWNBEEP'}{'on'} = '';
$checked{'PPPUPDOWNBEEP'}{$cgiparams{'PPPUPDOWNBEEP'}} = "checked='checked'";
$checked{'REFRESHINDEX'}{'off'} = '';
$checked{'REFRESHINDEX'}{'on'} = '';
$checked{'REFRESHINDEX'}{$cgiparams{'REFRESHINDEX'}} = "checked='checked'";
$checked{'FX'}{'off'} = '';
$checked{'FX'}{'on'} = '';
$checked{'FX'}{$cgiparams{'FX'}} = "checked='checked'";
$checked{'SPEED'}{'off'} = '';
$checked{'SPEED'}{'on'} = '';
$checked{'SPEED'}{$cgiparams{'SPEED'}} = "checked='checked'";
&Header::openpage($Lang::tr{'gui settings'}, 1, '');
&Header::openbigbox('100%', 'left', '', $errormessage);
if ($errormessage) {
&Header::openbox('100%','left',$Lang::tr{'error messages'});
print "${errormessage} \n";
&Header::closebox();
}
&Header::openbox('100%','left',$Lang::tr{'gui settings'});
print <
END
;
&Header::closebox();
&Header::closebigbox();
&Header::closepage();