]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blame - html/cgi-bin/gui.cgi
SMP-Config angepasst.. CGIs usw. wurden im Windoof-Format gespeichert... muss noch...
[people/pmueller/ipfire-2.x.git] / html / cgi-bin / gui.cgi
CommitLineData
ac1cfefa
MT
1#!/usr/bin/perl
2#
3# IPCop CGIs
4#
5# This code is distributed under the terms of the GPL
6#
7# (c) Bill Ward
8#
9# $Id: gui.cgi,v 1.2.2.17 2005/07/06 09:21:22 franck78 Exp $
10#
11
12use strict;
13
14# enable only the following on debugging purpose
15#use warnings;
16#use CGI::Carp 'fatalsToBrowser';
17
18require 'CONFIG_ROOT/general-functions.pl';
19require "${General::swroot}/lang.pl";
20require "${General::swroot}/header.pl";
21
22my %cgiparams=();
23my %mainsettings=();
24my %checked=();
25my $errormessage='';
26
27
28$cgiparams{'JAVASCRIPT'} = 'off';
29$cgiparams{'WINDOWWITHHOSTNAME'} = 'off';
30$cgiparams{'REFRESHINDEX'} = 'off';
31$cgiparams{'ACTION'} = '';
32&Header::getcgihash(\%cgiparams);
33
34&Header::showhttpheaders();
35&General::readhash("${General::swroot}/main/settings",\%mainsettings);
36if ($cgiparams{'ACTION'} eq "$Lang::tr{'save'}")
37{
38 open(FILE,"${General::swroot}/langs/list");
39 my $found=0;
40 while (<FILE>)
41 {
42 my $lang='';
43 my $engname='';
44 my $natname='';
45 chomp;
46 ($lang,$engname,$natname) = split (/:/, $_,3);
47 if ($cgiparams{'lang'} eq $lang)
48 {
49 $found=1;
50 }
51 }
52 close (FILE);
53 if ( $found == 0 )
54 {
55 $errormessage="$errormessage<P>$Lang::tr{'invalid input'}";
56 goto SAVE_ERROR;
57 }
58
59 if ($cgiparams{'JAVASCRIPT'} !~ /^(on|off)$/) {
60 $errormessage = $Lang::tr{'invalid input'};
61 goto SAVE_ERROR;
62 }
63
64 # Set flag if index page is to refresh whilst ppp is up.
65 # Default is NO refresh.
66 if ($cgiparams{'REFRESHINDEX'} ne 'off') {
67 system ('/bin/touch', "${General::swroot}/main/refreshindex");
68 } else {
69 unlink "${General::swroot}/main/refreshindex";
70 }
71
72 # Beep on ip-up or ip-down. Default is ON.
73 if ($cgiparams{'PPPUPDOWNBEEP'} ne 'on') {
74 $cgiparams{'PPPUPDOWNBEEP'} = 'off';
75 system ('/bin/touch', "${General::swroot}/ppp/nobeeps");
76 } else {
77 unlink "${General::swroot}/ppp/nobeeps";
78 }
79
80 # write cgi vars to the file.
81 $mainsettings{'LANGUAGE'} = $cgiparams{'lang'};
82 $mainsettings{'JAVASCRIPT'} = $cgiparams{'JAVASCRIPT'};
83 $mainsettings{'WINDOWWITHHOSTNAME'} = $cgiparams{'WINDOWWITHHOSTNAME'};
84 $mainsettings{'PPPUPDOWNBEEP'} = $cgiparams{'PPPUPDOWNBEEP'};
85 $mainsettings{'REFRESHINDEX'} = $cgiparams{'REFRESHINDEX'};
86 &General::writehash("${General::swroot}/main/settings", \%mainsettings);
87 &Lang::reload($cgiparams{'lang'});
88 SAVE_ERROR:
89} else {
90 if ($mainsettings{'JAVASCRIPT'}) {
91 $cgiparams{'JAVASCRIPT'} = $mainsettings{'JAVASCRIPT'};
92 } else {
93 $cgiparams{'JAVASCRIPT'} = 'on';
94 }
95
96 if ($mainsettings{'WINDOWWITHHOSTNAME'}) {
97 $cgiparams{'WINDOWWITHHOSTNAME'} = $mainsettings{'WINDOWWITHHOSTNAME'};
98 } else {
99 $cgiparams{'WINDOWWITHHOSTNAME'} = 'off';
100 }
101
102 if ($mainsettings{'PPPUPDOWNBEEP'}) {
103 $cgiparams{'PPPUPDOWNBEEP'} = $mainsettings{'PPPUPDOWNBEEP'};
104 } else {
105 $cgiparams{'PPPUPDOWNBEEP'} = 'on';
106 }
107
108 if($mainsettings{'REFRESHINDEX'}) {
109 $cgiparams{'REFRESHINDEX'} = $mainsettings{'REFRESHINDEX'};
110 } else {
111 $cgiparams{'REFRESHINDEX'} = 'off';
112 }
113}
114
115# Default settings
116if ($cgiparams{'ACTION'} eq "$Lang::tr{'restore defaults'}")
117{
118 $cgiparams{'JAVASCRIPT'} = 'on';
119 $cgiparams{'WINDOWWITHHOSTNAME'} = 'off';
120 $cgiparams{'PPPUPDOWNBEEP'} = 'on';
121 $cgiparams{'REFRESHINDEX'} = 'off';
122}
123
124$checked{'JAVASCRIPT'}{'off'} = '';
125$checked{'JAVASCRIPT'}{'on'} = '';
126$checked{'JAVASCRIPT'}{$cgiparams{'JAVASCRIPT'}} = "checked='checked'";
127
128$checked{'WINDOWWITHHOSTNAME'}{'off'} = '';
129$checked{'WINDOWWITHHOSTNAME'}{'on'} = '';
130$checked{'WINDOWWITHHOSTNAME'}{$cgiparams{'WINDOWWITHHOSTNAME'}} = "checked='checked'";
131
132$checked{'PPPUPDOWNBEEP'}{'off'} = '';
133$checked{'PPPUPDOWNBEEP'}{'on'} = '';
134$checked{'PPPUPDOWNBEEP'}{$cgiparams{'PPPUPDOWNBEEP'}} = "checked='checked'";
135
136$checked{'REFRESHINDEX'}{'off'} = '';
137$checked{'REFRESHINDEX'}{'on'} = '';
138$checked{'REFRESHINDEX'}{$cgiparams{'REFRESHINDEX'}} = "checked='checked'";
139
140&Header::openpage($Lang::tr{'gui settings'}, 1, '');
141&Header::openbigbox('100%', 'left', '', $errormessage);
142
143if ($errormessage) {
144 &Header::openbox('100%','left',$Lang::tr{'error messages'});
145 print "<font class='base'>${errormessage}&nbsp;</font>\n";
146 &Header::closebox();
147}
148
149&Header::openbox('100%','left',$Lang::tr{'gui settings'});
150
151print <<END
152<form method='post' action='$ENV{'SCRIPT_NAME'}'>
153<table width='100%'>
154<tr>
155 <td colspan='2'><p><b>$Lang::tr{'display'}</b></td>
156</tr>
157<tr>
158 <td><input type='checkbox' name='JAVASCRIPT' $checked{'JAVASCRIPT'}{'on'} />
159 <td width='100%'>$Lang::tr{'enable javascript'}</td>
160</tr>
161<tr>
162 <td><input type='checkbox' name='WINDOWWITHHOSTNAME' $checked{'WINDOWWITHHOSTNAME'}{'on'} /></td>
163 <td>$Lang::tr{'display hostname in window title'}</td>
164</tr>
165<tr>
166 <td><input type='checkbox' name='REFRESHINDEX' $checked{'REFRESHINDEX'}{'on'} /></td>
167 <td>$Lang::tr{'refresh index page while connected'}</td>
168</tr>
169<tr>
170 <td>&nbsp;</td>
171 <td>$Lang::tr{'languagepurpose'}</td>
172</tr>
173<tr>
174 <td>&nbsp;</td>
175 <td><select name='lang'>
176END
177;
178
179my $id=0;
180open(FILE,"${General::swroot}/langs/list");
181while (<FILE>)
182{
183 my $lang='';
184 my $engname='';
185 my $natname='';
186 $id++;
187 chomp;
188 ($lang,$engname,$natname) = split (/:/, $_, 3);
189 print "<option value='$lang' ";
190 if ($lang =~ /$mainsettings{'LANGUAGE'}/)
191 {
192 print " selected='selected'";
193 }
194 print <<END
195>$engname ($natname)</option>
196END
197 ;
198}
199
200print <<END
201</select></td></tr>
202<tr>
203 <td colspan='2'><hr /><p><b>$Lang::tr{'sound'}</b></td>
204</tr>
205<tr>
206 <td><input type ='checkbox' name='PPPUPDOWNBEEP' $checked{'PPPUPDOWNBEEP'}{'on'} /></td>
207 <td>$Lang::tr{'beep when ppp connects or disconnects'}</td>
208</tr>
209<tr>
210 <td colspan='2'><hr /></td>
211</tr>
212</table>
213<div align='center'>
214<table width='80%'>
215<tr>
216 <td width='50%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'restore defaults'}' /></td>
217 <td width='50%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'save'}' /></td>
218</tr>
219</table>
220</div>
221</form>
222END
223;
224&Header::closebox();
225&Header::closebigbox();
226&Header::closepage();
227
228
229