]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blame - html/cgi-bin/asterisk/conf.cgi
VPN Checksubnets: Now the remote subnets (OpenVPN/IPSec) are checked. If they are...
[people/teissler/ipfire-2.x.git] / html / cgi-bin / asterisk / conf.cgi
CommitLineData
42dc0090
CS
1#!/usr/bin/perl
2
3require '/var/ipfire/general-functions.pl';
4require "${General::swroot}/lang.pl";
5require "${General::swroot}/header.pl";
6
7&Header::showhttpheaders();
8
9my %cgiparams;
10
11&Header::getcgihash(\%cgiparams);
12
13&Header::openpage('asterisk', 1, '');
14
15&Header::openbigbox('100%', 'LEFT');
16
17if ($cgiparams{'ACTION'} eq $Lang::tr{'save'})
18 {
19 $conf_file = $cgiparams{'save_path'};
20 open (FILE, ">$conf_file") or die "Kann die Datei nicht speichern: $!";
21 flock (FILE, 2);
22 print FILE "$cgiparams{'textarea'}";
23 close FILE;
24 &Header::openbox('100%', 'LEFT', 'info');
25 print "$conf_file wurde gespeichert";
26 &Header::closebox();
27 }
28
29if ($cgiparams{'ACTION'} eq Bearbeiten)
30 {
31 $conf_file = $cgiparams{'conf_file'};
32 }
33
34if ($conf_file eq '') {
35 $conf_file='/var/ipfire/asterisk/extensions.conf';
36 }
37
38if ($cgiparams{'ACTION'} eq extensions)
39 {
40 $conf_file='/var/ipfire/asterisk/extensions.conf';
41 }
42
43if ($cgiparams{'ACTION'} eq sip)
44 {
45 $conf_file='/var/ipfire/asterisk/sip.conf';
46 }
47
48if ($cgiparams{'ACTION'} eq iax)
49 {
50 $conf_file='/var/ipfire/asterisk/iax.conf';
51 }
52
53
54
55
56if ($errormessage) {
57 &Header::openbox('100%', 'LEFT', $tr{'error messages'});
58 print "<FONT CLASS='base'>$errormessage&nbsp;</FONT>\n";
59 &Header::closebox();
60}
61
62$cgiparams{'ACTION'} = '';
63
64print "<FORM METHOD='POST'>\n";
65
66if ($conf_file ne '') {
67
68&Header::openbox('100%', 'LEFT', $conf_file);
69 print <<END
70 <center><table border=0>
71 <tr><td><textarea name="textarea" cols="80" rows="20" wrap="VIRTUAL">
72END
73;
74system("cat $conf_file");
75print <<END
76</textarea>\n
77
78 <tr><td align=center>
79 <p><input type=text name=save_path value=$conf_file size=25>
80 <p><input type=submit name=ACTION value=$Lang::tr{'save'}>
81 </table>
82
83END
84;
85
86&Header::closebox();
87}
88
89&Header::openbox('100%', 'LEFT', 'Dateiauswahl');
90
91my $dir = '/var/ipfire/asterisk/';
92my @dateien;
93
94listFiles ($dir);
95
96print <<END
97<table width=100% border=0>
98<tr><td width=33% align=right>
99 <!-- Buttons -->
100 <input type=submit name=ACTION value=extensions><input type=submit name=ACTION value=sip><input type=submit name=ACTION value=iax>
101 <td width=33% align=right>
102 <center><select name=conf_file>
103END
104;
105foreach $line (sort (@dateien)) {
106$op_name = $line;
107$op_name =~ s/$dir//g;
108print "<option value='$line'>$op_name</option>\n";
109}
110
111my $dir2 = '/home/httpd/cgi-bin/asterisk/conf/';
112my @dateien2;
113
114listFiles2 ($dir2);
115
116foreach $line2 (sort (@dateien2)) {
117$op_name2 = $line2;
118$op_name2 =~ s/$dir2//g;
119print "<option value='$line2'>$op_name2</option>\n";
120}
121
122print "</select><input type=submit name=ACTION value=Bearbeiten></center><td width=33% align=right>&nbsp</table>";
123
124sub listFiles {
125local *DH;
126my ($item, $pfad);
127my $dir = shift;
128
129opendir (DH, $dir) or return;
130while ($item = readdir (DH)) {
131next if ( $item =~ /^\./ );
132$pfad = ( ($dir =~ /\/$/) ? ($dir . $item) : ($dir . '/'.$item) );
133push (@dateien, $pfad) if (-f $pfad);
134listFiles ($pfad) if (-d $pfad);
135}
136closedir (DH);
137}
138
139sub listFiles2 {
140local *DH2;
141my ($item2, $pfad2);
142my $dir2 = shift;
143
144opendir (DH2, $dir2) or return;
145while ($item2 = readdir (DH2)) {
146next if ( $item2 =~ /^\./ );
147$pfad2 = ( ($dir2 =~ /\/$/) ? ($dir2 . $item2) : ($dir2 . '/'.$item2) );
148push (@dateien2, $pfad2) if (-f $pfad2);
149listFiles2 ($pfad2) if (-d $pfad2);
150}
151closedir (DH2);
152}
153
154
155&Header::closebox();
156
157print "</FORM>\n";
158
159&Header::closebigbox();
160
161&Header::closepage();