Files
bpfire/html/cgi-bin/asterisk.cgi/status
ms 483f59cd33 Hinzugefügt:
* Asterisk-Konfigurationsdateien fürs Webinterface.
  * Funktionierender Packager.
  * CUPS-Paket
Geändert:
  * Postfix ohne PostgreSQL


git-svn-id: http://svn.ipfire.org/svn/ipfire/trunk@177 ea5c0bd1-69bd-2848-81d8-4f18e57aeed8
2006-06-14 17:35:12 +00:00

148 lines
4.0 KiB
Perl

#!/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 "<FONT CLASS='base'>$errormessage&nbsp;</FONT>\n";
&Header::closebox();
}
if ($message) {
&Header::openbox('100%', 'LEFT', 'Message');
print "<FONT CLASS='base'>$message&nbsp;</FONT>\n";
&Header::closebox();
}
print "<FORM METHOD='POST'>\n";
&Header::openbox('100%', 'LEFT', 'Status:');
print <<END
<center>
<TABLE WIDTH='100%'>
<TR>
<TD WIDTH='33%' CLASS='base' ALIGN='RIGHT'><IMG SRC='/images/logoasterisk.gif' HEIGHT='100' BORDER='0' ALT='asterisk'></TD>
<TD WIDTH='33%' ALIGN='RIGHT'>Aktiviert:</TD>
<TD WIDTH='33%' ALIGN='LEFT'> <INPUT TYPE='checkbox' NAME='ENABLE_AST' $checked{'ENABLE_AST'}{'on'}></TD>
</TR>
<TR>
<TD WIDTH='33%' CLASS='base' ALIGN='RIGHT'>Load CAPI kernel modules:</TD>
<TD WIDTH='33%' ALIGN='RIGHT'>Aktiviert:</TD>
<TD WIDTH='33%' ALIGN='LEFT'> <INPUT TYPE='checkbox' NAME='ENABLE_CAPI' $checked{'ENABLE_CAPI'}{'on'}></TD>
</TR>
<TR>
<TD WIDTH='33%' CLASS='base' ALIGN='RIGHT'>Load ZAP kernel modules:</TD>
<TD WIDTH='33%' ALIGN='RIGHT'>Aktiviert:</TD>
<TD WIDTH='33%' ALIGN='LEFT'> <INPUT TYPE='checkbox' NAME='ENABLE_ZAP' $checked{'ENABLE_ZAP'}{'on'}></TD>
</TR>
<TR>
<TD WIDTH='33%'>&nbsp;</TD>
<TD WIDTH='33%' ALIGN='CENTER'><INPUT TYPE='submit' NAME='ACTION' VALUE='$Lang::tr{'save'}'></TD>
<TD WIDTH='33%'>&nbsp;</TD>
</TR>
</TABLE>
END
;
&Header::closebox();
&Header::openbox('100%', 'LEFT', 'Asterisk:');
print <<END
<center>
<TABLE WIDTH='100%'>
<TR>
<TD WIDTH='33%' CLASS='base' ALIGN='RIGHT'>&nbsp;</TD>
<TD WIDTH='33%' ALIGN='center'><a href="/cgi-bin/asterisk/conf.cgi">Konfiguration</TD>
<TD WIDTH='33%' ALIGN='LEFT'>&nbsp;</TD>
</TR>
<TR>
<TD WIDTH='33%' CLASS='base' ALIGN='RIGHT'>&nbsp;</TD>
<TD WIDTH='33%' ALIGN='center'><a href="/cgi-bin/asterisk/calls.cgi">Anrufe</TD>
<TD WIDTH='33%' ALIGN='LEFT'>&nbsp;</TD>
</TR>
</TABLE>
END
;
&Header::closebox();
&Header::closebigbox();
&Header::closepage();