|
+
+
+ |
+ |  ";
+
+sub listFiles {
+local *DH;
+my ($item, $pfad);
+my $dir = shift;
+
+opendir (DH, $dir) or return;
+while ($item = readdir (DH)) {
+next if ( $item =~ /^\./ );
+$pfad = ( ($dir =~ /\/$/) ? ($dir . $item) : ($dir . '/'.$item) );
+push (@dateien, $pfad) if (-f $pfad);
+listFiles ($pfad) if (-d $pfad);
+}
+closedir (DH);
+}
+
+sub listFiles2 {
+local *DH2;
+my ($item2, $pfad2);
+my $dir2 = shift;
+
+opendir (DH2, $dir2) or return;
+while ($item2 = readdir (DH2)) {
+next if ( $item2 =~ /^\./ );
+$pfad2 = ( ($dir2 =~ /\/$/) ? ($dir2 . $item2) : ($dir2 . '/'.$item2) );
+push (@dateien2, $pfad2) if (-f $pfad2);
+listFiles2 ($pfad2) if (-d $pfad2);
+}
+closedir (DH2);
+}
+
+
+&Header::closebox();
+
+print "\n";
+
+&Header::closebigbox();
+
+&Header::closepage();
diff --git a/html/cgi-bin/asterisk.cgi/status b/html/cgi-bin/asterisk.cgi/status
new file mode 100644
index 000000000..c6af9e22e
--- /dev/null
+++ b/html/cgi-bin/asterisk.cgi/status
@@ -0,0 +1,147 @@
+#!/usr/bin/perl
+
+require '/var/ipcop/general-functions.pl';
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+
+&Header::showhttpheaders();
+
+my %asterisksettings;
+
+&Header::getcgihash(\%asterisksettings);
+
+&Header::openpage('asterisk', 1, '');
+
+&Header::openbigbox('100%', 'LEFT');
+
+if ($asterisksettings{'ACTION'} eq $Lang::tr{'save'})
+{
+
+ &General::writehash("${General::swroot}/asterisk/settings", \%asterisksettings);
+
+ if ($asterisksettings{'ENABLE_AST'} eq 'on')
+ {
+ &General::log('Asterisk is enabled');
+ system ('/bin/touch', "${General::swroot}/asterisk/enable");
+ }
+ else
+ {
+ &General::log('Asterisk is disabled');
+ unlink "${General::swroot}/asterisk/enable";
+ }
+
+ if ($asterisksettings{'ENABLE_CAPI'} eq 'on')
+ {
+ &General::log('CAPI is enabled');
+ system ('/bin/touch', "${General::swroot}/asterisk/capi");
+ }
+ else
+ {
+ &General::log('CAPI is disabled');
+ unlink "${General::swroot}/asterisk/capi";
+ }
+
+ if ($asterisksettings{'ENABLE_ZAP'} eq 'on')
+ {
+ &General::log('Zaptel is enabled');
+ system ('/bin/touch', "${General::swroot}/asterisk/zap");
+ }
+ else
+ {
+ &General::log('Zaptel is disabled');
+ unlink "${General::swroot}/asterisk/zap";
+ }
+
+ {
+ &General::writehash("${General::swroot}/asterisk/settings", \%asterisksettings);
+ }
+
+ system("/usr/local/bin/asteriskoff >/dev/null 2>&1");
+ system("/bin/sleep 2");
+ system("/usr/local/bin/amportalconf >/dev/null 2>&1");
+ system("/usr/local/bin/asteriskmodules >/dev/null 2>&1");
+ system("/usr/local/bin/asteriskon >/dev/null 2>&1");
+ &General::log('Asterisk config changed');
+}
+
+&General::readhash("${General::swroot}/asterisk/settings", \%asterisksettings);
+
+$checked{'ENABLE_AST'}{'off'} = '';
+$checked{'ENABLE_AST'}{'on'} = '';
+$checked{'ENABLE_AST'}{$asterisksettings{'ENABLE_AST'}} = 'CHECKED';
+
+$checked{'ENABLE_CAPI'}{'off'} = '';
+$checked{'ENABLE_CAPI'}{'on'} = '';
+$checked{'ENABLE_CAPI'}{$asterisksettings{'ENABLE_CAPI'}} = 'CHECKED';
+
+$checked{'ENABLE_ZAP'}{'off'} = '';
+$checked{'ENABLE_ZAP'}{'on'} = '';
+$checked{'ENABLE_ZAP'}{$asterisksettings{'ENABLE_ZAP'}} = 'CHECKED';
+
+if ($errormessage) {
+ &Header::openbox('100%', 'LEFT', $tr{'error messages'});
+ print "$errormessage \n";
+ &Header::closebox();
+}
+
+if ($message) {
+ &Header::openbox('100%', 'LEFT', 'Message');
+ print "$message \n";
+ &Header::closebox();
+}
+
+print " |