]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blob - html/cgi-bin/asterisk/status.cgi
Made some nicer graphs and fixes
[people/pmueller/ipfire-2.x.git] / html / cgi-bin / asterisk / status.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 #use warnings;
10 #use CGI::Carp 'fatalsToBrowser';
11
12 my %asterisksettings;
13
14 &Header::getcgihash(\%asterisksettings);
15
16 &Header::openpage('asterisk', 1, '');
17
18 &Header::openbigbox('100%', 'LEFT');
19
20 if ($asterisksettings{'ACTION'} eq 'Start')
21 {
22 system("/etc/init.d/asterisk start >/dev/null 2>&1");
23 sleep 5;
24 }
25 if ($asterisksettings{'ACTION'} eq $Lang::tr{'stop'})
26 {
27 system("/etc/init.d/asterisk stop >/dev/null 2>&1");
28 sleep 5;
29 }
30 if ($asterisksettings{'ACTION'} eq $Lang::tr{'reboot'})
31 {
32 system("/etc/init.d/asterisk restart >/dev/null 2>&1");
33 sleep 5;
34 }
35 if ($asterisksettings{'ACTION'} eq "$Lang::tr{'reload'} EXT")
36 {
37 system("/etc/init.d/asterisk remod ext >/dev/null 2>&1");
38 }
39 if ($asterisksettings{'ACTION'} eq "$Lang::tr{'reload'} SIP")
40 {
41 system("/etc/init.d/asterisk remod sip >/dev/null 2>&1");
42 }
43 if ($asterisksettings{'ACTION'} eq "$Lang::tr{'reload'} IAX")
44 {
45 system("/etc/init.d/asterisk remod iax >/dev/null 2>&1");
46 }
47
48 my $pid = '';
49 my $testcmd = '';
50 my $exename;
51 my @memory;
52
53 if (open(FILE, "/var/run/asterisk.pid")){
54 $pid = <FILE>; chomp $pid;
55 close FILE;
56 if (open(FILE, "/proc/${pid}/status")){
57 while (<FILE>){
58 if (/^Name:\W+(.*)/) {$testcmd = $1;}
59 }
60 close FILE;
61 }
62 }
63
64 if ($testcmd !~ /asterisk/) {
65 $checked{'ENABLE_AST'}{'status_s'}="<font style=\"color:white;background-color:red;\"> $Lang::tr{'not running'}</font>";
66 $checked{'ENABLE_AST'}{'status_b'}="<INPUT TYPE='submit' NAME='ACTION' VALUE='Start'>";
67 } else {
68 $checked{'ENABLE_AST'}{'status_s'}="<font style=\"color:white;background-color:green;\"> $Lang::tr{'running'}</font>";
69 $checked{'ENABLE_AST'}{'status_b'}="<INPUT TYPE='submit' NAME='ACTION' VALUE='$Lang::tr{'reboot'}'><INPUT TYPE='submit' NAME='ACTION' VALUE='$Lang::tr{'stop'}'>";
70 }
71
72 if ($errormessage) {
73 &Header::openbox('100%', 'LEFT', $tr{'error messages'});
74 print "<FONT CLASS='base'>$errormessage&nbsp;</FONT>\n";
75 &Header::closebox();
76 }
77
78 if ($message) {
79 &Header::openbox('100%', 'LEFT', 'Message');
80 print "<FONT CLASS='base'>$message&nbsp;</FONT>\n";
81 &Header::closebox();
82 }
83
84 print "<FORM METHOD='POST'>\n";
85
86 &Header::openbox('100%', 'LEFT', 'Status:');
87 print <<END
88 <center>
89 <TABLE WIDTH='100%'>
90 <TR>
91 <TD WIDTH='33%' CLASS='base' ALIGN='RIGHT'>Asterisk</TD>
92 <TD WIDTH='33%' ALIGN='RIGHT'>$checked{'ENABLE_AST'}{'status_s'}</TD>
93 <TD WIDTH='33%' ALIGN='LEFT'>$checked{'ENABLE_AST'}{'status_b'}</TD>
94 </TR>
95 <TR>
96 <TD WIDTH='33%' CLASS='base' ALIGN='RIGHT'>Dialplan</TD>
97 <TD WIDTH='33%' ALIGN='RIGHT'></TD>
98 <TD WIDTH='33%' ALIGN='LEFT'> <INPUT TYPE='submit' NAME='ACTION' VALUE='$Lang::tr{'reload'} EXT'></TD>
99 </TR>
100 <TR>
101 <TD WIDTH='33%' CLASS='base' ALIGN='RIGHT'>SIP</TD>
102 <TD WIDTH='33%' ALIGN='RIGHT'></TD>
103 <TD WIDTH='33%' ALIGN='LEFT'> <INPUT TYPE='submit' NAME='ACTION' VALUE='$Lang::tr{'reload'} SIP'></TD>
104 </TR>
105 <TR>
106 <TD WIDTH='33%' CLASS='base' ALIGN='RIGHT'>IAX</TD>
107 <TD WIDTH='33%' ALIGN='RIGHT'></TD>
108 <TD WIDTH='33%' ALIGN='LEFT'> <INPUT TYPE='submit' NAME='ACTION' VALUE='$Lang::tr{'reload'} IAX'></TD>
109 </TR>
110
111 </TABLE>
112 END
113 ;
114
115 &Header::closebox();
116
117 &Header::closebigbox();
118
119 &Header::closepage();