X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fcdr.pm;h=f7402eeada012aa0682b916d17612c423e90cc2c;hp=2406557348efbd36e5c87299b110d9d28d9a2985;hb=90393980e5f2859ee1e186fa461f48f5129e803e;hpb=0a02d33bed6155752cf3f2886915bc6287d13636 diff --git a/FS/FS/cdr.pm b/FS/FS/cdr.pm index 240655734..f7402eead 100644 --- a/FS/FS/cdr.pm +++ b/FS/FS/cdr.pm @@ -285,7 +285,7 @@ sub check { # ; # return $error if $error; - for my $f ( grep { $self->$_ =~ /[a-z ]/i } qw( startdate enddate ) ) { + for my $f ( grep { $self->$_ =~ /\D/ } qw(startdate answerdate enddate)){ $self->$f( str2time($self->$f) ); } @@ -560,11 +560,7 @@ sub export_formats { elsif ( $opt{granularity} == 60 ) {#full minutes return sprintf("%.0fm",$sec/60); } - elsif ( $opt{granularity} == 6 || - $opt{granularity} == 30 ) {#tenths or halves - return sprintf("%.01fm",$sec/60); - } - else { #seconds, or unspecified + else { #anything else return sprintf("%dm %ds", $sec/60, $sec%60); } }; @@ -792,6 +788,10 @@ sub _cdr_date_parse { } elsif ( $date =~ /^\s*(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})$/ ) { # WIP: 20100329121420 ($year, $mon, $day, $hour, $min, $sec) = ( $1, $2, $3, $4, $5, $6 ); + } elsif ( $date =~ /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})Z$/) { + # Telos + ($year, $mon, $day, $hour, $min, $sec) = ( $1, $2, $3, $4, $5, $6 ); + $options{gmt} = 1; } else { die "unparsable date: $date"; #maybe we shouldn't die... } @@ -859,6 +859,11 @@ my %import_options = ( keys %cdr_info }, + 'format_xml_formats' => + { map { $_ => $cdr_info{$_}->{'xml_format'}; } + keys %cdr_info + }, + 'format_row_callbacks' => { map { $_ => $cdr_info{$_}->{'row_callback'}; } keys %cdr_info },