#!/usr/bin/perl require '/var/ipfire/general-functions.pl'; require "${General::swroot}/lang.pl"; require "${General::swroot}/header.pl"; &Header::showhttpheaders(); my (%asterisksettings, %checked); my %cgiparams; &Header::getcgihash(\%cgiparams); $asterisksettings{'ACTION'} = ''; $file = "/var/log/asterisk/cdr-csv/Master.csv"; open(DATEN, "$file") or die "Can't open file: $file: $!\n"; @datafile = ; close(DATEN); $file = "./conf/telbook.conf"; open(DATEN, "$file") or die "Can't open file: $file: $!\n"; @telbook = ; close(DATEN); &Header::openpage('asterisk', 1, ''); &Header::openbigbox('100%', 'LEFT'); if ($cgiparams{'ACTION'} eq $Lang::tr{'update'}) { $mday3 = $cgiparams{'day3'}; $mon3 = $cgiparams{'month3'}; $jahr3 = $cgiparams{'year3'}; $mday4 = $cgiparams{'day4'}; $mon4 = $cgiparams{'month4'}; $jahr4 = $cgiparams{'year4'}; } else { @datum3 = localtime(time()); ($sec3,$min3,$stunde3,$mday3,$mon3,$jahr3,$wday3,$yday3,$isdst3)=@datum3; $jahr3 = $jahr3 + 1900; $mon3 = $mon3+1; if ($mon3 < 10) { $mon3 = "0$mon3"; } if ($mday3 <10) { $mday3= "0$mday3";} $sec4 = $sec3; $min4 = $min3; $stunde4 = $stunde3; $mday4 = $mday3; $mon4 = $mon3; $jahr4 = $jahr3; $wday4 = $wday3; $isdst4 = $isdst3; } if ($errormessage) { &openbox('100%', 'LEFT', $tr{'error messages'}); print "$errormessage \n"; &closebox(); } print "
\n"; &Header::openbox('100%', 'LEFT', 'Filter'); print <
 Tag:Monat:Jahr:
Von:
Bis:
Von oder zum Anrufer mit der ID/Nummer:
END ; &Header::closebox(); &Header::openbox('100%', 'LEFT', 'Anrufe'); print "
Anfrufer Angerufene CallerID Start des Anrufs Ende des Anrufs Dauer (in Sek.) Status"; print "
 "; foreach $line (reverse @datafile) { chomp $line; (@spalten) = split (/,/, $line); $spalten[1] =~ s/"//g; $spalten[2] =~ s/"//g; $spalten[4] =~ s/"//g; $spalten[10]=~ s/"//g; $spalten[11]=~ s/"//g; $spalten[13]=~ s/"//g; $spalten[14]=~ s/"//g; (@zdatum) = split (/ /, $spalten[11]); (@datu) = split (/-/, $zdatum[0]); (@dzeit) = split (/:/, $zdatum[1]); $datum1 = $datu[0].$datu[1].$datu[2]; @datum2_1 = localtime(time()); ($sec,$min,$stunde,$mday,$mon,$jahr,$wday,$yday,$isdst)=@datum2_1; $jahr = $jahr + 1900; $mon = $mon+1; if ($mon < 10) { $mon = "0$mon"; } if ($mday <10) { $mday= "0$mday";} $datum2 = $jahr.$mon.$mday; $datum3_1 = $jahr3.$mon3.$mday3; $datum4_1 = $jahr4.$mon4.$mday4; $datum2 = $datum2-100; if ($datum1 ge $datum3_1 && $datum1 le $datum4_1 && ($cgiparams{'number'} eq '' || $cgiparams{'number'} eq $spalten[1] || $cgiparams{'number'} eq $spalten[2])) { $telline = @telbook[0]; $telline =~ s/\[telnr\]/$spalten[1]/g; $dauer_m = int($spalten[13]/60); $dauer_s = $spalten[13]%60; $dauer_h = int($spalten[13]/3600); $dauer_m2= $dauer_m-($dauer_h*60); $dauer_t = $dauer_h.":"; if ($dauer_m2 < 10) { $dauer_t .= "0".$dauer_m2."."; } else { $dauer_t .= $dauer_m2."."; } if ($dauer_s < 10) { $dauer_t .= "0".$dauer_s; } else { $dauer_t .= $dauer_s; } print "
$spalten[1] $spalten[2] $spalten[4] $spalten[10] $spalten[11] $dauer_t $spalten[14]\n";} } print "
"; &Header::closebox(); print "\n"; &Header::closebigbox(); &Header::closepage();