]>
git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blob - html/cgi-bin/asterisk/calls.cgi
3 require '/var/ipfire/general-functions.pl' ;
4 require "${General::swroot}/lang.pl" ;
5 require "${General::swroot}/header.pl" ;
7 & Header
:: showhttpheaders
();
9 my ( %asterisksettings , %checked );
13 & Header
:: getcgihash
( \
%cgiparams );
15 $asterisksettings { 'ACTION' } = '' ;
17 $file = "/var/log/asterisk/cdr-csv/Master.csv" ;
19 open ( DATEN
, " $file " ) or die "Can't open file: $file : $! \n " ;
23 $file = "./conf/telbook.conf" ;
24 open ( DATEN
, " $file " ) or die "Can't open file: $file : $! \n " ;
28 & Header
:: openpage
( 'asterisk' , 1 , '' );
30 & Header
:: openbigbox
( '100%' , 'LEFT' );
32 if ( $cgiparams { 'ACTION' } eq $Lang :: tr
{ 'update' })
34 $mday3 = $cgiparams { 'day3' };
35 $mon3 = $cgiparams { 'month3' };
36 $jahr3 = $cgiparams { 'year3' };
37 $mday4 = $cgiparams { 'day4' };
38 $mon4 = $cgiparams { 'month4' };
39 $jahr4 = $cgiparams { 'year4' };
43 @datum3 = localtime ( time ());
44 ( $sec3 , $min3 , $stunde3 , $mday3 , $mon3 , $jahr3 , $wday3 , $yday3 , $isdst3 )= @datum3 ;
45 $jahr3 = $jahr3 + 1900 ;
47 if ( $mon3 < 10 ) { $mon3 = "0 $mon3 " ; }
48 if ( $mday3 < 10 ) { $mday3 = "0 $mday3 " ;}
60 & openbox
( '100%' , 'LEFT' , $tr { 'error messages' });
61 print "<FONT CLASS='base'> $errormessage </FONT> \n " ;
65 print "<FORM METHOD='POST'> \n " ;
67 & Header
:: openbox
( '100%' , 'LEFT' , 'Filter' );
70 <center><table border=0><tr><td> </td><td width=50px>Tag:</td><td width=50px>Monat:</td><td width=50px>Jahr:</td></tr>
71 <tr><td>Von: <td><input type=text name=day3 maxlength=2 size=2 value=" $mday3 "><td><input type=text name=month3 maxlength=2 size=2 value=" $mon3 "><td><input type=text name=year3 maxlength=4 size=4 value=" $jahr3 ">
72 <tr><td>Bis: <td><input type=text name=day4 maxlength=2 size=2 value=" $mday4 "><td><input type=text name=month4 maxlength=2 size=2 value=" $mon4 "><td><input type=text name=year4 maxlength=4 size=4 value=" $jahr4 ">
74 <tr><td colspan=2>Von oder zum Anrufer mit der ID/Nummer:<td colspan=2><input type=text name=number size=20 maxlength=100 value=" $cgiparams {'number'}">
76 <tr><td align=center colspan=4><input type=submit name='ACTION' value=' $Lang ::tr{'update'}'>
83 & Header
:: openbox
( '100%' , 'LEFT' , 'Anrufe' );
84 print "<table border=0 width=100%> <tr> <td align=center><b>Anfrufer <td align=center><b>Angerufene <td align=center><b>CallerID <td align=center><b>Start des Anrufs <td align=center><b>Ende des Anrufs <td align=center><b>Dauer (in Sek.) <td align=center><b>Status" ;
85 print "<tr><td colspan=6> <!-- Platzhalter -->" ;
86 foreach $line ( reverse @datafile ) {
88 ( @spalten ) = split ( /,/ , $line );
89 $spalten [ 1 ] =~ s/"//g ;
90 $spalten [ 2 ] =~ s/"//g ;
91 $spalten [ 4 ] =~ s/"//g ;
92 $spalten [ 10 ]=~ s/"//g ;
93 $spalten [ 11 ]=~ s/"//g ;
94 $spalten [ 13 ]=~ s/"//g ;
95 $spalten [ 14 ]=~ s/"//g ;
96 ( @zdatum ) = split ( / / , $spalten [ 11 ]);
97 ( @datu ) = split ( /-/ , $zdatum [ 0 ]);
98 ( @dzeit ) = split ( /:/ , $zdatum [ 1 ]);
99 $datum1 = $datu [ 0 ]. $datu [ 1 ]. $datu [ 2 ];
100 @datum2_1 = localtime ( time ());
101 ( $sec , $min , $stunde , $mday , $mon , $jahr , $wday , $yday , $isdst )= @datum2_1 ;
102 $jahr = $jahr + 1900 ;
104 if ( $mon < 10 ) { $mon = "0 $mon " ; }
105 if ( $mday < 10 ) { $mday = "0 $mday " ;}
106 $datum2 = $jahr . $mon . $mday ;
107 $datum3_1 = $jahr3 . $mon3 . $mday3 ;
108 $datum4_1 = $jahr4 . $mon4 . $mday4 ;
109 $datum2 = $datum2 - 100 ;
110 if ( $datum1 ge $datum3_1 && $datum1 le $datum4_1 && ( $cgiparams { 'number' } eq '' || $cgiparams { 'number' } eq $spalten [ 1 ] || $cgiparams { 'number' } eq $spalten [ 2 ])) {
111 $telline = @telbook [ 0 ];
112 $telline =~ s/\[telnr\]/$spalten[1]/g ;
113 $dauer_m = int ( $spalten [ 13 ]/ 60 );
114 $dauer_s = $spalten [ 13 ] %60 ;
115 $dauer_h = int ( $spalten [ 13 ]/ 3600 );
116 $dauer_m2 = $dauer_m -( $dauer_h * 60 );
117 $dauer_t = $dauer_h . ":" ;
118 if ( $dauer_m2 < 10 ) { $dauer_t .= "0" . $dauer_m2 . "." ; }
119 else { $dauer_t .= $dauer_m2 . "." ; }
120 if ( $dauer_s < 10 ) { $dauer_t .= "0" . $dauer_s ; }
121 else { $dauer_t .= $dauer_s ; }
122 print "<tr bgcolor=#C0C0C0> <td align=center><a target='_blank' href= $telline > $spalten [1]</a> <td align=center> $spalten [2] <td align=center> $spalten [4] <td align=center bgcolor=#339933> $spalten [10] <td align=center bgcolor=#339933> $spalten [11] <td align=center> $dauer_t <td align=center bgcolor='#993333'><font color=white> $spalten [14] \n " ;}
130 & Header
:: closebigbox
();
132 & Header
:: closepage
();