-#!/usr/bin/perl\r
-#\r
-# IPCop CGIs\r
-#\r
-# This code is distributed under the terms of the GPL\r
-#\r
-# (c) Bill Ward\r
-#\r
-# $Id: gui.cgi,v 1.2.2.17 2005/07/06 09:21:22 franck78 Exp $\r
-#\r
-\r
-use strict;\r
-\r
-# enable only the following on debugging purpose\r
-#use warnings;\r
-#use CGI::Carp 'fatalsToBrowser';\r
-\r
-require 'CONFIG_ROOT/general-functions.pl';\r
-require "${General::swroot}/lang.pl";\r
-require "${General::swroot}/header.pl";\r
-\r
-my %cgiparams=();\r
-my %mainsettings=();\r
-my %checked=();\r
-my $errormessage='';\r
-\r
-\r
-$cgiparams{'JAVASCRIPT'} = 'off';\r
-$cgiparams{'WINDOWWITHHOSTNAME'} = 'off';\r
-$cgiparams{'REFRESHINDEX'} = 'off';\r
-$cgiparams{'ACTION'} = '';\r
-&Header::getcgihash(\%cgiparams);\r
-\r
-&Header::showhttpheaders();\r
-&General::readhash("${General::swroot}/main/settings",\%mainsettings);\r
-if ($cgiparams{'ACTION'} eq "$Lang::tr{'save'}")\r
-{\r
- open(FILE,"${General::swroot}/langs/list");\r
- my $found=0;\r
- while (<FILE>)\r
- {\r
- my $lang='';\r
- my $engname='';\r
- my $natname='';\r
- chomp;\r
- ($lang,$engname,$natname) = split (/:/, $_,3);\r
- if ($cgiparams{'lang'} eq $lang)\r
- {\r
- $found=1;\r
- }\r
- }\r
- close (FILE);\r
- if ( $found == 0 )\r
- {\r
- $errormessage="$errormessage<P>$Lang::tr{'invalid input'}";\r
- goto SAVE_ERROR;\r
- }\r
-\r
- if ($cgiparams{'JAVASCRIPT'} !~ /^(on|off)$/) {\r
- $errormessage = $Lang::tr{'invalid input'};\r
- goto SAVE_ERROR;\r
- } \r
-\r
- # Set flag if index page is to refresh whilst ppp is up.\r
- # Default is NO refresh.\r
- if ($cgiparams{'REFRESHINDEX'} ne 'off') {\r
- system ('/bin/touch', "${General::swroot}/main/refreshindex");\r
- } else {\r
- unlink "${General::swroot}/main/refreshindex";\r
- }\r
-\r
- # Beep on ip-up or ip-down. Default is ON.\r
- if ($cgiparams{'PPPUPDOWNBEEP'} ne 'on') {\r
- $cgiparams{'PPPUPDOWNBEEP'} = 'off';\r
- system ('/bin/touch', "${General::swroot}/ppp/nobeeps");\r
- } else {\r
- unlink "${General::swroot}/ppp/nobeeps";\r
- }\r
-\r
- # write cgi vars to the file.\r
- $mainsettings{'LANGUAGE'} = $cgiparams{'lang'};\r
- $mainsettings{'JAVASCRIPT'} = $cgiparams{'JAVASCRIPT'};\r
- $mainsettings{'WINDOWWITHHOSTNAME'} = $cgiparams{'WINDOWWITHHOSTNAME'};\r
- $mainsettings{'PPPUPDOWNBEEP'} = $cgiparams{'PPPUPDOWNBEEP'};\r
- $mainsettings{'REFRESHINDEX'} = $cgiparams{'REFRESHINDEX'};\r
- &General::writehash("${General::swroot}/main/settings", \%mainsettings);\r
- &Lang::reload($cgiparams{'lang'});\r
- SAVE_ERROR:\r
-} else {\r
- if ($mainsettings{'JAVASCRIPT'}) {\r
- $cgiparams{'JAVASCRIPT'} = $mainsettings{'JAVASCRIPT'};\r
- } else {\r
- $cgiparams{'JAVASCRIPT'} = 'on';\r
- }\r
-\r
- if ($mainsettings{'WINDOWWITHHOSTNAME'}) {\r
- $cgiparams{'WINDOWWITHHOSTNAME'} = $mainsettings{'WINDOWWITHHOSTNAME'};\r
- } else {\r
- $cgiparams{'WINDOWWITHHOSTNAME'} = 'off';\r
- }\r
-\r
- if ($mainsettings{'PPPUPDOWNBEEP'}) {\r
- $cgiparams{'PPPUPDOWNBEEP'} = $mainsettings{'PPPUPDOWNBEEP'};\r
- } else {\r
- $cgiparams{'PPPUPDOWNBEEP'} = 'on';\r
- }\r
-\r
- if($mainsettings{'REFRESHINDEX'}) {\r
- $cgiparams{'REFRESHINDEX'} = $mainsettings{'REFRESHINDEX'};\r
- } else {\r
- $cgiparams{'REFRESHINDEX'} = 'off';\r
- }\r
-}\r
-\r
-# Default settings\r
-if ($cgiparams{'ACTION'} eq "$Lang::tr{'restore defaults'}")\r
-{\r
- $cgiparams{'JAVASCRIPT'} = 'on';\r
- $cgiparams{'WINDOWWITHHOSTNAME'} = 'off';\r
- $cgiparams{'PPPUPDOWNBEEP'} = 'on';\r
- $cgiparams{'REFRESHINDEX'} = 'off';\r
-}\r
-\r
-$checked{'JAVASCRIPT'}{'off'} = '';\r
-$checked{'JAVASCRIPT'}{'on'} = '';\r
-$checked{'JAVASCRIPT'}{$cgiparams{'JAVASCRIPT'}} = "checked='checked'";\r
-\r
-$checked{'WINDOWWITHHOSTNAME'}{'off'} = '';\r
-$checked{'WINDOWWITHHOSTNAME'}{'on'} = '';\r
-$checked{'WINDOWWITHHOSTNAME'}{$cgiparams{'WINDOWWITHHOSTNAME'}} = "checked='checked'";\r
-\r
-$checked{'PPPUPDOWNBEEP'}{'off'} = '';\r
-$checked{'PPPUPDOWNBEEP'}{'on'} = '';\r
-$checked{'PPPUPDOWNBEEP'}{$cgiparams{'PPPUPDOWNBEEP'}} = "checked='checked'";\r
-\r
-$checked{'REFRESHINDEX'}{'off'} = '';\r
-$checked{'REFRESHINDEX'}{'on'} = '';\r
-$checked{'REFRESHINDEX'}{$cgiparams{'REFRESHINDEX'}} = "checked='checked'";\r
-\r
-&Header::openpage($Lang::tr{'gui settings'}, 1, '');\r
-&Header::openbigbox('100%', 'left', '', $errormessage);\r
-\r
-if ($errormessage) {\r
- &Header::openbox('100%','left',$Lang::tr{'error messages'});\r
- print "<font class='base'>${errormessage} </font>\n";\r
- &Header::closebox();\r
-}\r
-\r
-&Header::openbox('100%','left',$Lang::tr{'gui settings'});\r
-\r
-print <<END\r
-<form method='post' action='$ENV{'SCRIPT_NAME'}'>\r
-<table width='100%'>\r
-<tr>\r
- <td colspan='2'><p><b>$Lang::tr{'display'}</b></td>\r
-</tr>\r
-<tr>\r
- <td><input type='checkbox' name='JAVASCRIPT' $checked{'JAVASCRIPT'}{'on'} />\r
- <td width='100%'>$Lang::tr{'enable javascript'}</td>\r
-</tr>\r
-<tr>\r
- <td><input type='checkbox' name='WINDOWWITHHOSTNAME' $checked{'WINDOWWITHHOSTNAME'}{'on'} /></td>\r
- <td>$Lang::tr{'display hostname in window title'}</td>\r
-</tr>\r
-<tr>\r
- <td><input type='checkbox' name='REFRESHINDEX' $checked{'REFRESHINDEX'}{'on'} /></td>\r
- <td>$Lang::tr{'refresh index page while connected'}</td>\r
-</tr>\r
-<tr>\r
- <td> </td>\r
- <td>$Lang::tr{'languagepurpose'}</td>\r
-</tr>\r
-<tr>\r
- <td> </td>\r
- <td><select name='lang'>\r
-END\r
-;\r
-\r
-my $id=0;\r
-open(FILE,"${General::swroot}/langs/list");\r
-while (<FILE>)\r
-{\r
- my $lang='';\r
- my $engname='';\r
- my $natname='';\r
- $id++;\r
- chomp;\r
- ($lang,$engname,$natname) = split (/:/, $_, 3);\r
- print "<option value='$lang' ";\r
- if ($lang =~ /$mainsettings{'LANGUAGE'}/)\r
- {\r
- print " selected='selected'";\r
- }\r
- print <<END\r
->$engname ($natname)</option>\r
-END\r
- ;\r
-}\r
-\r
-print <<END\r
-</select></td></tr>\r
-<tr>\r
- <td colspan='2'><hr /><p><b>$Lang::tr{'sound'}</b></td>\r
-</tr>\r
-<tr>\r
- <td><input type ='checkbox' name='PPPUPDOWNBEEP' $checked{'PPPUPDOWNBEEP'}{'on'} /></td>\r
- <td>$Lang::tr{'beep when ppp connects or disconnects'}</td>\r
-</tr>\r
-<tr>\r
- <td colspan='2'><hr /></td>\r
-</tr>\r
-</table>\r
-<div align='center'>\r
-<table width='80%'>\r
-<tr>\r
- <td width='50%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'restore defaults'}' /></td>\r
- <td width='50%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'save'}' /></td>\r
-</tr>\r
-</table>\r
-</div>\r
-</form>\r
-END\r
-;\r
-&Header::closebox();\r
-&Header::closebigbox();\r
-&Header::closepage();\r
-\r
-\r
-\r
+#!/usr/bin/perl
+#
+# IPCop CGIs
+#
+# This code is distributed under the terms of the GPL
+#
+# (c) Bill Ward
+#
+# $Id: gui.cgi,v 1.2.2.17 2005/07/06 09:21:22 franck78 Exp $
+#
+
+use strict;
+
+# enable only the following on debugging purpose
+#use warnings;
+#use CGI::Carp 'fatalsToBrowser';
+
+require 'CONFIG_ROOT/general-functions.pl';
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+
+my %cgiparams=();
+my %mainsettings=();
+my %checked=();
+my $errormessage='';
+
+
+$cgiparams{'JAVASCRIPT'} = 'off';
+$cgiparams{'WINDOWWITHHOSTNAME'} = 'off';
+$cgiparams{'REFRESHINDEX'} = 'off';
+$cgiparams{'ACTION'} = '';
+&Header::getcgihash(\%cgiparams);
+
+&Header::showhttpheaders();
+&General::readhash("${General::swroot}/main/settings",\%mainsettings);
+if ($cgiparams{'ACTION'} eq "$Lang::tr{'save'}")
+{
+ open(FILE,"${General::swroot}/langs/list");
+ my $found=0;
+ while (<FILE>)
+ {
+ 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<P>$Lang::tr{'invalid input'}";
+ goto SAVE_ERROR;
+ }
+
+ if ($cgiparams{'JAVASCRIPT'} !~ /^(on|off)$/) {
+ $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 ('/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 ('/bin/touch', "${General::swroot}/ppp/nobeeps");
+ } else {
+ unlink "${General::swroot}/ppp/nobeeps";
+ }
+
+ # write cgi vars to the file.
+ $mainsettings{'LANGUAGE'} = $cgiparams{'lang'};
+ $mainsettings{'JAVASCRIPT'} = $cgiparams{'JAVASCRIPT'};
+ $mainsettings{'WINDOWWITHHOSTNAME'} = $cgiparams{'WINDOWWITHHOSTNAME'};
+ $mainsettings{'PPPUPDOWNBEEP'} = $cgiparams{'PPPUPDOWNBEEP'};
+ $mainsettings{'REFRESHINDEX'} = $cgiparams{'REFRESHINDEX'};
+ &General::writehash("${General::swroot}/main/settings", \%mainsettings);
+ &Lang::reload($cgiparams{'lang'});
+ SAVE_ERROR:
+} else {
+ if ($mainsettings{'JAVASCRIPT'}) {
+ $cgiparams{'JAVASCRIPT'} = $mainsettings{'JAVASCRIPT'};
+ } else {
+ $cgiparams{'JAVASCRIPT'} = 'on';
+ }
+
+ if ($mainsettings{'WINDOWWITHHOSTNAME'}) {
+ $cgiparams{'WINDOWWITHHOSTNAME'} = $mainsettings{'WINDOWWITHHOSTNAME'};
+ } else {
+ $cgiparams{'WINDOWWITHHOSTNAME'} = 'off';
+ }
+
+ if ($mainsettings{'PPPUPDOWNBEEP'}) {
+ $cgiparams{'PPPUPDOWNBEEP'} = $mainsettings{'PPPUPDOWNBEEP'};
+ } else {
+ $cgiparams{'PPPUPDOWNBEEP'} = 'on';
+ }
+
+ if($mainsettings{'REFRESHINDEX'}) {
+ $cgiparams{'REFRESHINDEX'} = $mainsettings{'REFRESHINDEX'};
+ } else {
+ $cgiparams{'REFRESHINDEX'} = 'off';
+ }
+}
+
+# Default settings
+if ($cgiparams{'ACTION'} eq "$Lang::tr{'restore defaults'}")
+{
+ $cgiparams{'JAVASCRIPT'} = 'on';
+ $cgiparams{'WINDOWWITHHOSTNAME'} = 'off';
+ $cgiparams{'PPPUPDOWNBEEP'} = 'on';
+ $cgiparams{'REFRESHINDEX'} = 'off';
+}
+
+$checked{'JAVASCRIPT'}{'off'} = '';
+$checked{'JAVASCRIPT'}{'on'} = '';
+$checked{'JAVASCRIPT'}{$cgiparams{'JAVASCRIPT'}} = "checked='checked'";
+
+$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'";
+
+&Header::openpage($Lang::tr{'gui settings'}, 1, '');
+&Header::openbigbox('100%', 'left', '', $errormessage);
+
+if ($errormessage) {
+ &Header::openbox('100%','left',$Lang::tr{'error messages'});
+ print "<font class='base'>${errormessage} </font>\n";
+ &Header::closebox();
+}
+
+&Header::openbox('100%','left',$Lang::tr{'gui settings'});
+
+print <<END
+<form method='post' action='$ENV{'SCRIPT_NAME'}'>
+<table width='100%'>
+<tr>
+ <td colspan='2'><p><b>$Lang::tr{'display'}</b></td>
+</tr>
+<tr>
+ <td><input type='checkbox' name='JAVASCRIPT' $checked{'JAVASCRIPT'}{'on'} />
+ <td width='100%'>$Lang::tr{'enable javascript'}</td>
+</tr>
+<tr>
+ <td><input type='checkbox' name='WINDOWWITHHOSTNAME' $checked{'WINDOWWITHHOSTNAME'}{'on'} /></td>
+ <td>$Lang::tr{'display hostname in window title'}</td>
+</tr>
+<tr>
+ <td><input type='checkbox' name='REFRESHINDEX' $checked{'REFRESHINDEX'}{'on'} /></td>
+ <td>$Lang::tr{'refresh index page while connected'}</td>
+</tr>
+<tr>
+ <td> </td>
+ <td>$Lang::tr{'languagepurpose'}</td>
+</tr>
+<tr>
+ <td> </td>
+ <td><select name='lang'>
+END
+;
+
+my $id=0;
+open(FILE,"${General::swroot}/langs/list");
+while (<FILE>)
+{
+ my $lang='';
+ my $engname='';
+ my $natname='';
+ $id++;
+ chomp;
+ ($lang,$engname,$natname) = split (/:/, $_, 3);
+ print "<option value='$lang' ";
+ if ($lang =~ /$mainsettings{'LANGUAGE'}/)
+ {
+ print " selected='selected'";
+ }
+ print <<END
+>$engname ($natname)</option>
+END
+ ;
+}
+
+print <<END
+</select></td></tr>
+<tr>
+ <td colspan='2'><hr /><p><b>$Lang::tr{'sound'}</b></td>
+</tr>
+<tr>
+ <td><input type ='checkbox' name='PPPUPDOWNBEEP' $checked{'PPPUPDOWNBEEP'}{'on'} /></td>
+ <td>$Lang::tr{'beep when ppp connects or disconnects'}</td>
+</tr>
+<tr>
+ <td colspan='2'><hr /></td>
+</tr>
+</table>
+<div align='center'>
+<table width='80%'>
+<tr>
+ <td width='50%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'restore defaults'}' /></td>
+ <td width='50%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'save'}' /></td>
+</tr>
+</table>
+</div>
+</form>
+END
+;
+&Header::closebox();
+&Header::closebigbox();
+&Header::closepage();
+
+
+