Ticket #31495 Earthlink CDR
authorJeremy Davis <jeremyd@freeside.biz>
Wed, 3 Dec 2014 17:42:51 +0000 (12:42 -0500)
committerJeremy Davis <jeremyd@freeside.biz>
Wed, 3 Dec 2014 17:42:51 +0000 (12:42 -0500)
FS/FS/cdr/earthlink.pm [new file with mode: 0644]

diff --git a/FS/FS/cdr/earthlink.pm b/FS/FS/cdr/earthlink.pm
new file mode 100644 (file)
index 0000000..0421ef9
--- /dev/null
@@ -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;
+