projects
/
freeside.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
84cb979
)
quick option to allow importing gmt cdrs
author
jeff
<jeff>
Tue, 7 Apr 2009 20:45:14 +0000
(20:45 +0000)
committer
jeff
<jeff>
Tue, 7 Apr 2009 20:45:14 +0000
(20:45 +0000)
FS/FS/cdr.pm
patch
|
blob
|
history
FS/FS/cdr/taqua.pm
patch
|
blob
|
history
diff --git
a/FS/FS/cdr.pm
b/FS/FS/cdr.pm
index
0230adc
..
b640bc6
100644
(file)
--- a/
FS/FS/cdr.pm
+++ b/
FS/FS/cdr.pm
@@
-681,10
+681,11
@@
sub _cdr_min_parse {
sub _cdr_date_parser_maker {
my $field = shift;
sub _cdr_date_parser_maker {
my $field = shift;
+ my %options = @_;
my @fields = ref($field) ? @$field : ($field);
return sub {
my( $cdr, $datestring ) = @_;
my @fields = ref($field) ? @$field : ($field);
return sub {
my( $cdr, $datestring ) = @_;
- my $unixdate = eval { _cdr_date_parse($datestring) };
+ my $unixdate = eval { _cdr_date_parse($datestring
, %options
) };
die "error parsing date for @fields from $datestring: $@\n" if $@;
$cdr->$_($unixdate) foreach @fields;
};
die "error parsing date for @fields from $datestring: $@\n" if $@;
$cdr->$_($unixdate) foreach @fields;
};
@@
-692,6
+693,7
@@
sub _cdr_date_parser_maker {
sub _cdr_date_parse {
my $date = shift;
sub _cdr_date_parse {
my $date = shift;
+ my %options = @_;
return '' unless length($date); #that's okay, it becomes NULL
return '' unless length($date); #that's okay, it becomes NULL
@@
-711,7
+713,11
@@
sub _cdr_date_parse {
return '' if $year == 1900 && $mon == 1 && $day == 1
&& $hour == 0 && $min == 0 && $sec == 0;
return '' if $year == 1900 && $mon == 1 && $day == 1
&& $hour == 0 && $min == 0 && $sec == 0;
- timelocal($sec, $min, $hour, $day, $mon-1, $year);
+ if ($options{gmt}) {
+ timegm($sec, $min, $hour, $day, $mon-1, $year);
+ } else {
+ timelocal($sec, $min, $hour, $day, $mon-1, $year);
+ }
}
=item batch_import HASHREF
}
=item batch_import HASHREF
diff --git
a/FS/FS/cdr/taqua.pm
b/FS/FS/cdr/taqua.pm
index
44e2747
..
3e98400
100644
(file)
--- a/
FS/FS/cdr/taqua.pm
+++ b/
FS/FS/cdr/taqua.pm
@@
-40,8
+40,8
@@
use FS::cdr qw(_cdr_date_parser_maker);
},
#10
},
#10
- _cdr_date_parser_maker('startdate'), #CallArrivalTime
- _cdr_date_parser_maker('enddate'), #CallCompletionTime
+ _cdr_date_parser_maker('startdate'
, 'gmt' => 1
), #CallArrivalTime
+ _cdr_date_parser_maker('enddate'
, 'gmt' => 1
), #CallCompletionTime
#Disposition
#sub { my($cdr, $d ) = @_; $cdr->disposition( $disposition{$d}): },
#Disposition
#sub { my($cdr, $d ) = @_; $cdr->disposition( $disposition{$d}): },
@@
-57,7
+57,7
@@
use FS::cdr qw(_cdr_date_parser_maker);
# 201 => '',
# 203 => '',
# 201 => '',
# 203 => '',
- _cdr_date_parser_maker('answerdate'), #DispositionTime
+ _cdr_date_parser_maker('answerdate'
, 'gmt' => 1
), #DispositionTime
sub { my($cdr, $field) = @_; }, #TCAP
sub { my($cdr, $field) = @_; }, #OutboundCarrierConnectTime
sub { my($cdr, $field) = @_; }, #OutboundCarrierDisconnectTime
sub { my($cdr, $field) = @_; }, #TCAP
sub { my($cdr, $field) = @_; }, #OutboundCarrierConnectTime
sub { my($cdr, $field) = @_; }, #OutboundCarrierDisconnectTime