]>
Commit | Line | Data |
---|---|---|
42dc0090 CS |
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 (%asterisksettings, %checked); | |
10 | ||
11 | my %cgiparams; | |
12 | ||
13 | &Header::getcgihash(\%cgiparams); | |
14 | ||
15 | $asterisksettings{'ACTION'} = ''; | |
16 | ||
17 | $file = "/var/log/asterisk/cdr-csv/Master.csv"; | |
18 | ||
19 | open(DATEN, "$file") or die "Can't open file: $file: $!\n"; | |
20 | @datafile = <DATEN>; | |
21 | close(DATEN); | |
22 | ||
23 | $file = "./conf/telbook.conf"; | |
24 | open(DATEN, "$file") or die "Can't open file: $file: $!\n"; | |
25 | @telbook = <DATEN>; | |
26 | close(DATEN); | |
27 | ||
28 | &Header::openpage('asterisk', 1, ''); | |
29 | ||
30 | &Header::openbigbox('100%', 'LEFT'); | |
31 | ||
32 | if ($cgiparams{'ACTION'} eq $Lang::tr{'update'}) | |
33 | { | |
34 | $mday3 = $cgiparams{'day3'}; | |
35 | $mon3 = $cgiparams{'month3'}; | |
36 | $jahr3 = $cgiparams{'year3'}; | |
37 | $mday4 = $cgiparams{'day4'}; | |
38 | $mon4 = $cgiparams{'month4'}; | |
39 | $jahr4 = $cgiparams{'year4'}; | |
40 | } | |
41 | else | |
42 | { | |
43 | @datum3 = localtime(time()); | |
44 | ($sec3,$min3,$stunde3,$mday3,$mon3,$jahr3,$wday3,$yday3,$isdst3)=@datum3; | |
45 | $jahr3 = $jahr3 + 1900; | |
46 | $mon3 = $mon3+1; | |
47 | if ($mon3 < 10) { $mon3 = "0$mon3"; } | |
48 | if ($mday3 <10) { $mday3= "0$mday3";} | |
49 | $sec4 = $sec3; | |
50 | $min4 = $min3; | |
51 | $stunde4 = $stunde3; | |
52 | $mday4 = $mday3; | |
53 | $mon4 = $mon3; | |
54 | $jahr4 = $jahr3; | |
55 | $wday4 = $wday3; | |
56 | $isdst4 = $isdst3; | |
57 | } | |
58 | ||
59 | if ($errormessage) { | |
60 | &openbox('100%', 'LEFT', $tr{'error messages'}); | |
61 | print "<FONT CLASS='base'>$errormessage </FONT>\n"; | |
62 | &closebox(); | |
63 | } | |
64 | ||
65 | print "<FORM METHOD='POST'>\n"; | |
66 | ||
67 | &Header::openbox('100%', 'LEFT', 'Filter'); | |
68 | ||
69 | print <<END | |
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"> | |
73 | ||
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'}"> | |
75 | ||
76 | <tr><td align=center colspan=4><input type=submit name='ACTION' value=$Lang::tr{'update'}> | |
77 | </table> | |
78 | END | |
79 | ; | |
80 | ||
81 | &Header::closebox(); | |
82 | ||
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) { | |
87 | chomp $line; | |
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; | |
103 | $mon = $mon+1; | |
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";} | |
123 | } | |
124 | print "</table>"; | |
125 | ||
126 | &Header::closebox(); | |
127 | ||
128 | print "</FORM>\n"; | |
129 | ||
130 | &Header::closebigbox(); | |
131 | ||
132 | &Header::closepage(); |