summaryrefslogtreecommitdiff
path: root/FS/FS/cdr/earthlink.pm
diff options
context:
space:
mode:
authorJeremy Davis <jeremyd@freeside.biz>2014-12-03 12:41:12 -0500
committerJeremy Davis <jeremyd@freeside.biz>2014-12-03 12:41:12 -0500
commit7c8aa3f08b006c9772889d95c5dcef0a6a69bf17 (patch)
tree396b4b2e3816ac0141e49ca8bb3f3e2ad1834bfe /FS/FS/cdr/earthlink.pm
parentb35987f47a04e2875949ac95dcbb19ff49026e33 (diff)
Ticket #31495 Earthlink CDR
Diffstat (limited to 'FS/FS/cdr/earthlink.pm')
-rw-r--r--FS/FS/cdr/earthlink.pm44
1 files changed, 44 insertions, 0 deletions
diff --git a/FS/FS/cdr/earthlink.pm b/FS/FS/cdr/earthlink.pm
new file mode 100644
index 0000000..0421ef9
--- /dev/null
+++ b/FS/FS/cdr/earthlink.pm
@@ -0,0 +1,44 @@
+package FS::cdr::earthlink;
+
+use strict;
+use vars qw( @ISA %info $date);
+use Time::Local;
+use FS::cdr qw(_cdr_date_parser_maker _cdr_min_parser_maker);
+use Date::Parse;
+
+@ISA = qw(FS::cdr);
+
+%info = (
+ 'name' => 'Earthlink',
+ 'weight' => 120,
+ 'header' => 1,
+ 'import_fields' => [
+
+ 'accountcode', #Account number
+ skip(2), #SERVICE LOC / BILL NUMBER
+ sub { my($cdr, $date) = @_;
+
+ }, #date
+ sub { my($cdr, $time) = @_;
+
+ my $datetime = $date. " ". $time;
+ $cdr->set('startdate', $datetime );
+ }, #time
+ sub { my($cdr, $src) = @_;
+ $src =~ s/\D//g;
+ $cdr->set('src', $src);
+ }, #ORIG NUMBER
+ skip(2), #ORIG CITY/ORIGSTATE
+ sub { my($cdr, $dst) = @_;
+ $dst =~ s/\D//g;
+ $cdr->set('dst', $dst);
+ }, #TERM NUMBER
+ skip(2), #TERM CITY / TERM STATE
+ _cdr_min_parser_maker, #MINUTES
+ ],
+);
+
+sub skip { map {''} (1..$_[0]) }
+
+1;
+