]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blob - html/cgi-bin/asterisk/conf.cgi
Move xen patchset to new version's subdir.
[people/pmueller/ipfire-2.x.git] / html / cgi-bin / asterisk / conf.cgi
1 #!/usr/bin/perl
2
3 require '/var/ipfire/general-functions.pl';
4 require "${General::swroot}/lang.pl";
5 require "${General::swroot}/header.pl";
6
7 &Header::showhttpheaders();
8
9 my %cgiparams;
10
11 &Header::getcgihash(\%cgiparams);
12
13 &Header::openpage('asterisk', 1, '');
14
15 &Header::openbigbox('100%', 'LEFT');
16
17 if ($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
29 if ($cgiparams{'ACTION'} eq Bearbeiten)
30 {
31 $conf_file = $cgiparams{'conf_file'};
32 }
33
34 if ($conf_file eq '') {
35 $conf_file='/var/ipfire/asterisk/extensions.conf';
36 }
37
38 if ($cgiparams{'ACTION'} eq extensions)
39 {
40 $conf_file='/var/ipfire/asterisk/extensions.conf';
41 }
42
43 if ($cgiparams{'ACTION'} eq sip)
44 {
45 $conf_file='/var/ipfire/asterisk/sip.conf';
46 }
47
48 if ($cgiparams{'ACTION'} eq iax)
49 {
50 $conf_file='/var/ipfire/asterisk/iax.conf';
51 }
52
53
54
55
56 if ($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
64 print "<FORM METHOD='POST'>\n";
65
66 if ($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">
72 END
73 ;
74 system("cat $conf_file");
75 print <<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
83 END
84 ;
85
86 &Header::closebox();
87 }
88
89 &Header::openbox('100%', 'LEFT', 'Dateiauswahl');
90
91 my $dir = '/var/ipfire/asterisk/';
92 my @dateien;
93
94 listFiles ($dir);
95
96 print <<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>
103 END
104 ;
105 foreach $line (sort (@dateien)) {
106 $op_name = $line;
107 $op_name =~ s/$dir//g;
108 print "<option value='$line'>$op_name</option>\n";
109 }
110
111 my $dir2 = '/home/httpd/cgi-bin/asterisk/conf/';
112 my @dateien2;
113
114 listFiles2 ($dir2);
115
116 foreach $line2 (sort (@dateien2)) {
117 $op_name2 = $line2;
118 $op_name2 =~ s/$dir2//g;
119 print "<option value='$line2'>$op_name2</option>\n";
120 }
121
122 print "</select><input type=submit name=ACTION value=Bearbeiten></center><td width=33% align=right>&nbsp</table>";
123
124 sub listFiles {
125 local *DH;
126 my ($item, $pfad);
127 my $dir = shift;
128
129 opendir (DH, $dir) or return;
130 while ($item = readdir (DH)) {
131 next if ( $item =~ /^\./ );
132 $pfad = ( ($dir =~ /\/$/) ? ($dir . $item) : ($dir . '/'.$item) );
133 push (@dateien, $pfad) if (-f $pfad);
134 listFiles ($pfad) if (-d $pfad);
135 }
136 closedir (DH);
137 }
138
139 sub listFiles2 {
140 local *DH2;
141 my ($item2, $pfad2);
142 my $dir2 = shift;
143
144 opendir (DH2, $dir2) or return;
145 while ($item2 = readdir (DH2)) {
146 next if ( $item2 =~ /^\./ );
147 $pfad2 = ( ($dir2 =~ /\/$/) ? ($dir2 . $item2) : ($dir2 . '/'.$item2) );
148 push (@dateien2, $pfad2) if (-f $pfad2);
149 listFiles2 ($pfad2) if (-d $pfad2);
150 }
151 closedir (DH2);
152 }
153
154
155 &Header::closebox();
156
157 print "</FORM>\n";
158
159 &Header::closebigbox();
160
161 &Header::closepage();