]>
git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blob - html/cgi-bin/gui.cgi
5 # This code is distributed under the terms of the GPL
9 # $Id: gui.cgi,v 1.2.2.17 2005/07/06 09:21:22 franck78 Exp $
14 # enable only the following on debugging purpose
16 #use CGI::Carp 'fatalsToBrowser';
18 require '/var/ipfire/general-functions.pl';
19 require "${General::swroot}/lang.pl";
20 require "${General::swroot}/header.pl";
28 $cgiparams{'FX'} = 'off';
29 $cgiparams{'SPEED'} = 'off';
30 $cgiparams{'WINDOWWITHHOSTNAME'} = 'off';
31 $cgiparams{'REFRESHINDEX'} = 'off';
32 $cgiparams{'ACTION'} = '';
33 &Header
::getcgihash
(\
%cgiparams);
35 &Header
::showhttpheaders
();
36 &General
::readhash
("${General::swroot}/main/settings",\
%mainsettings);
37 if ($cgiparams{'ACTION'} eq "$Lang::tr{'save'}")
39 open(FILE
,"${General::swroot}/langs/list");
47 ($lang,$engname,$natname) = split (/:/, $_,3);
48 if ($cgiparams{'lang'} eq $lang)
56 $errormessage="$errormessage<P>$Lang::tr{'invalid input'}";
60 # Set flag if index page is to refresh whilst ppp is up.
61 # Default is NO refresh.
62 if ($cgiparams{'REFRESHINDEX'} ne 'off') {
63 system ('/usr/bin/touch', "${General::swroot}/main/refreshindex");
65 unlink "${General::swroot}/main/refreshindex";
68 # Beep on ip-up or ip-down. Default is ON.
69 if ($cgiparams{'PPPUPDOWNBEEP'} ne 'on') {
70 $cgiparams{'PPPUPDOWNBEEP'} = 'off';
71 system ('/usr/bin/touch', "${General::swroot}/ppp/nobeeps");
73 unlink "${General::swroot}/ppp/nobeeps";
76 # write cgi vars to the file.
77 $mainsettings{'LANGUAGE'} = $cgiparams{'lang'};
78 $mainsettings{'WINDOWWITHHOSTNAME'} = $cgiparams{'WINDOWWITHHOSTNAME'};
79 $mainsettings{'PPPUPDOWNBEEP'} = $cgiparams{'PPPUPDOWNBEEP'};
80 $mainsettings{'FX'} = $cgiparams{'FX'};
81 $mainsettings{'SPEED'} = $cgiparams{'SPEED'};
82 $mainsettings{'THEME'} = $cgiparams{'theme'};
83 $mainsettings{'REFRESHINDEX'} = $cgiparams{'REFRESHINDEX'};
84 &General
::writehash
("${General::swroot}/main/settings", \
%mainsettings);
85 &Lang
::reload
($cgiparams{'lang'});
88 if ($mainsettings{'WINDOWWITHHOSTNAME'}) {
89 $cgiparams{'WINDOWWITHHOSTNAME'} = $mainsettings{'WINDOWWITHHOSTNAME'};
91 $cgiparams{'WINDOWWITHHOSTNAME'} = 'off';
94 if ($mainsettings{'PPPUPDOWNBEEP'}) {
95 $cgiparams{'PPPUPDOWNBEEP'} = $mainsettings{'PPPUPDOWNBEEP'};
97 $cgiparams{'PPPUPDOWNBEEP'} = 'on';
100 if ($mainsettings{'FX'}) {
101 $cgiparams{'FX'} = $mainsettings{'FX'};
103 $cgiparams{'FX'} = 'on';
106 if ($mainsettings{'THEME'}) {
107 $cgiparams{'THEME'} = $mainsettings{'THEME'};
109 $cgiparams{'THEME'} = 'ipfire';
112 if($mainsettings{'REFRESHINDEX'}) {
113 $cgiparams{'REFRESHINDEX'} = $mainsettings{'REFRESHINDEX'};
115 $cgiparams{'REFRESHINDEX'} = 'off';
117 if($mainsettings{'SPEED'}) {
118 $cgiparams{'SPEED'} = $mainsettings{'SPEED'};
120 $cgiparams{'SPEED'} = 'off';
125 if ($cgiparams{'ACTION'} eq "$Lang::tr{'restore defaults'}")
127 $cgiparams{'WINDOWWITHHOSTNAME'} = 'off';
128 $cgiparams{'PPPUPDOWNBEEP'} = 'on';
129 $cgiparams{'REFRESHINDEX'} = 'off';
130 $cgiparams{'FX'} = 'on';
131 $cgiparams{'SPEED'} = 'on';
132 $cgiparams{'THEME'} = 'ipfire';
135 $checked{'WINDOWWITHHOSTNAME'}{'off'} = '';
136 $checked{'WINDOWWITHHOSTNAME'}{'on'} = '';
137 $checked{'WINDOWWITHHOSTNAME'}{$cgiparams{'WINDOWWITHHOSTNAME'}} = "checked='checked'";
139 $checked{'PPPUPDOWNBEEP'}{'off'} = '';
140 $checked{'PPPUPDOWNBEEP'}{'on'} = '';
141 $checked{'PPPUPDOWNBEEP'}{$cgiparams{'PPPUPDOWNBEEP'}} = "checked='checked'";
143 $checked{'REFRESHINDEX'}{'off'} = '';
144 $checked{'REFRESHINDEX'}{'on'} = '';
145 $checked{'REFRESHINDEX'}{$cgiparams{'REFRESHINDEX'}} = "checked='checked'";
147 $checked{'FX'}{'off'} = '';
148 $checked{'FX'}{'on'} = '';
149 $checked{'FX'}{$cgiparams{'FX'}} = "checked='checked'";
151 $checked{'SPEED'}{'off'} = '';
152 $checked{'SPEED'}{'on'} = '';
153 $checked{'SPEED'}{$cgiparams{'SPEED'}} = "checked='checked'";
155 &Header
::openpage
($Lang::tr
{'gui settings'}, 1, '');
156 &Header
::openbigbox
('100%', 'left', '', $errormessage);
159 &Header
::openbox
('100%','left',$Lang::tr
{'error messages'});
160 print "<font class='base'>${errormessage} </font>\n";
164 &Header
::openbox
('100%','left',$Lang::tr
{'gui settings'});
167 <form method='post' action='$ENV{'SCRIPT_NAME'}'>
170 <td colspan='2'><p><b>$Lang::tr{'display'}</b></td>
173 <td><input type='checkbox' name='FX' $checked{'FX'}{'on'} /></td>
174 <td>$Lang::tr{'display webinterface effects'}</td>
177 <td><input type='checkbox' name='WINDOWWITHHOSTNAME' $checked{'WINDOWWITHHOSTNAME'}{'on'} /></td>
178 <td>$Lang::tr{'display hostname in window title'}</td>
181 <td><input type='checkbox' name='REFRESHINDEX' $checked{'REFRESHINDEX'}{'on'} /></td>
182 <td>$Lang::tr{'refresh index page while connected'}</td>
185 <td><input type='checkbox' name='SPEED' $checked{'SPEED'}{'on'} /></td>
186 <td>$Lang::tr{'show ajax speedmeter in footer'}</td>
190 <td>$Lang::tr{'languagepurpose'}</td>
194 <td><select name='lang'>
199 open(FILE
,"${General::swroot}/langs/list");
207 ($lang,$engname,$natname) = split (/:/, $_, 3);
208 print "<option value='$lang' ";
209 if ($lang =~ /$mainsettings{'LANGUAGE'}/)
211 print " selected='selected'";
214 >$engname ($natname)</option>
222 <td colspan='2'><hr /><p><b>$Lang::tr{'theme'}</b></td>
226 <td><select name='theme'>
230 my $dir = "/srv/web/ipfire/html/themes";
236 while ($file = readdir (DH
)) {
237 next if ( $file =~ /^\./ );
238 push (@files, $file);
242 foreach $item (sort (@files)) {
243 if ( "$mainsettings{'THEME'}" eq "$item" ) {
244 print "<option value='$item' selected='selected'>$item</option>\n";
246 print "<option value='$item'>$item</option>\n";
253 <td colspan='2'><hr /><p><b>$Lang::tr{'sound'}</b></td>
256 <td><input type ='checkbox' name='PPPUPDOWNBEEP' $checked{'PPPUPDOWNBEEP'}{'on'} /></td>
257 <td>$Lang::tr{'beep when ppp connects or disconnects'}</td>
260 <td colspan='2'><hr /></td>
266 <td width='50%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'restore defaults'}' /></td>
267 <td width='50%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'save'}' /></td>
275 &Header
::closebigbox
();
276 &Header
::closepage
();