sansay CDRs, RT#5495
[freeside.git] / FS / FS / cdr.pm
index 96132ec..77f3ec6 100644 (file)
@@ -753,6 +753,11 @@ sub _cdr_date_parse {
 
   return '' unless length($date); #that's okay, it becomes NULL
 
+  if ( $date =~ /^([a-z]{3})\s+([a-z]{3})\s+(\d{1,2})\s+(\d{1,2}):(\d{1,2}):(\d{1,2})\s+(\d{4})$/i && $7 > 1970 ) {
+    my $time = str2time($date);
+    return $time if $time > 100000; #just in case
+  }
+
   my($year, $mon, $day, $hour, $min, $sec);
 
   #$date =~ /^\s*(\d{4})[\-\/]\(\d{1,2})[\-\/](\d{1,2})\s+(\d{1,2}):(\d{1,2}):(\d{1,2})\s*$/
@@ -766,8 +771,8 @@ sub _cdr_date_parse {
      die "unparsable date: $date"; #maybe we shouldn't die...
   }
 
-  return '' if $year == 1900 && $mon == 1 && $day == 1
-            && $hour == 0    && $min == 0 && $sec == 0;
+  return '' if ( $year == 1900 || $year == 1970 ) && $mon == 1 && $day == 1
+            && $hour == 0 && $min == 0 && $sec == 0;
 
   if ($options{gmt}) {
     timegm($sec, $min, $hour, $day, $mon-1, $year);