]> git.ipfire.org Git - ipfire-2.x.git/blob - html/cgi-bin/modem.cgi
freeradius: Update to version 3.0.18
[ipfire-2.x.git] / html / cgi-bin / modem.cgi
1 #!/usr/bin/perl
2 ###############################################################################
3 # #
4 # IPFire.org - A linux based firewall #
5 # Copyright (C) 2007 Michael Tremer & Christian Schmidt #
6 # #
7 # This program is free software: you can redistribute it and/or modify #
8 # it under the terms of the GNU General Public License as published by #
9 # the Free Software Foundation, either version 3 of the License, or #
10 # (at your option) any later version. #
11 # #
12 # This program is distributed in the hope that it will be useful, #
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of #
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
15 # GNU General Public License for more details. #
16 # #
17 # You should have received a copy of the GNU General Public License #
18 # along with this program. If not, see <http://www.gnu.org/licenses/>. #
19 # #
20 ###############################################################################
21
22 use strict;
23
24 # enable only the following on debugging purpose
25 #use warnings;
26 #use CGI::Carp 'fatalsToBrowser';
27
28 require '/var/ipfire/general-functions.pl';
29 require "${General::swroot}/lang.pl";
30 require "${General::swroot}/header.pl";
31
32 my %modemsettings=();
33 my $errormessage = '';
34
35 &Header::showhttpheaders();
36
37 $modemsettings{'ACTION'} = '';
38 $modemsettings{'VALID'} = '';
39
40 &Header::getcgihash(\%modemsettings);
41
42 if ($modemsettings{'ACTION'} eq $Lang::tr{'save'})
43 {
44 if (!($modemsettings{'TIMEOUT'} =~ /^\d+$/))
45 {
46 $errormessage = $Lang::tr{'timeout must be a number'};
47 goto ERROR;
48 }
49 ERROR:
50 if ($errormessage) {
51 $modemsettings{'VALID'} = 'no'; }
52 else {
53 $modemsettings{'VALID'} = 'yes'; }
54
55 &General::writehash("${General::swroot}/modem/settings", \%modemsettings);
56 }
57
58 if ($modemsettings{'ACTION'} eq $Lang::tr{'restore defaults'})
59 {
60 system('/bin/cp', "${General::swroot}/modem/defaults", "${General::swroot}/modem/settings", '-f');
61 }
62
63 &General::readhash("${General::swroot}/modem/settings", \%modemsettings);
64
65 &Header::openpage($Lang::tr{'modem configuration'}, 1, '');
66
67 &Header::openbigbox('100%', 'left', '', $errormessage);
68
69 if ($errormessage) {
70 &Header::openbox('100%', 'left', $Lang::tr{'error messages'});
71 print "<font class='base'>$errormessage&nbsp;</font>\n";
72 &Header::closebox();
73 }
74
75 print "<form method='post' action='$ENV{'SCRIPT_NAME'}'>\n";
76
77 &Header::openbox('100%', 'left', "$Lang::tr{'modem configuration'}:");
78 print <<END
79 <table width='100%'>
80 <tr>
81 <td width='25%' class='base'>$Lang::tr{'init string'}</td>
82 <td width='25%'><input type='text' name='INIT' value='$modemsettings{'INIT'}' /></td>
83 <td width='25%' class='base'>$Lang::tr{'hangup string'}</td>
84 <td width='25%'><input type='text' name='HANGUP' value='$modemsettings{'HANGUP'}' /></td>
85 </tr>
86 <tr>
87 <td class='base'>$Lang::tr{'speaker on'}</td>
88 <td><input type='text' name='SPEAKER_ON' value='$modemsettings{'SPEAKER_ON'}' /></td>
89 <td class='base'>$Lang::tr{'speaker off'}</td>
90 <td><input type='text' name='SPEAKER_OFF' value='$modemsettings{'SPEAKER_OFF'}' /></td>
91 </tr>
92 <tr>
93 <td class='base'>$Lang::tr{'tone dial'}</td>
94 <td><input type='text' name='TONE_DIAL' value='$modemsettings{'TONE_DIAL'}' /></td>
95 <td class='base'>$Lang::tr{'pulse dial'}</td>
96 <td><input type='text' name='PULSE_DIAL' value='$modemsettings{'PULSE_DIAL'}' /></td>
97 </tr>
98 <tr>
99 <td class='base'>$Lang::tr{'connect timeout'}&nbsp;<img src='/blob.gif' alt='*' /></td>
100 <td><input type='text' name='TIMEOUT' value='$modemsettings{'TIMEOUT'}' /></td>
101 <td class='base'>&nbsp;</td>
102 <td>&nbsp;</td>
103 </tr>
104
105 </table>
106 <table width='100%'>
107 <hr />
108 <tr>
109 <td width='33%'>
110 <img src='/blob.gif' align='top' alt='*' />&nbsp;<font class='base'>$Lang::tr{'required field'}</font>
111 </td>
112 <td width='33%' align='center'>
113 <input type='submit' name='ACTION' value='$Lang::tr{'restore defaults'}' />
114 </td>
115 <td width='33%' align='center'>
116 <input type='submit' name='ACTION' value='$Lang::tr{'save'}' />
117 </td>
118 </tr>
119 </table>
120 </div>
121 END
122 ;
123 &Header::closebox();
124
125 print "</form>\n";
126
127 &Header::closebigbox();
128
129 &Header::closepage();