~vcs-imports/ipfire/ipfire-2.x

« back to all changes in this revision

Viewing changes to html/cgi-bin/asterisk/conf.cgi

  • Committer: Daniel Glanzmann
  • Date: 2008-09-26 17:05:28 UTC
  • mto: (1394.1.12)
  • mto: This revision was merged to the branch mainline in revision 1401.
  • Revision ID: git-v1:19ac4d1b6e234e1391b3d406381e3b74e92c40dd
added new useragent thunderbird

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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();