X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fdomain_record.pm;h=77b95508802693f0259ed797b1cf483f502b9f2e;hb=f2ffe6fc096fa59b1931da531b7a40b78cd6b747;hp=3297e6bfb0e4c2ffdb5c64a0a2430c653689c696;hpb=9aec22e5fd00800c6e7952ae5b85cc639d4b1e78;p=freeside.git diff --git a/FS/FS/domain_record.pm b/FS/FS/domain_record.pm index 3297e6bfb..77b955088 100644 --- a/FS/FS/domain_record.pm +++ b/FS/FS/domain_record.pm @@ -241,7 +241,7 @@ sub check { if ( $self->rectype eq 'SOA' ) { my $recdata = $self->recdata; $recdata =~ s/\s+/ /g; - $recdata =~ /^([a-z0-9\.\-]+ [\w\-\+]+\.[a-z0-9\.\-]+ \( (\d+ ){5}\))$/i + $recdata =~ /^([a-z0-9\.\-]+ [\w\-\+]+\.[a-z0-9\.\-]+ \( ((\d+|((\d+[WDHMS])+)) ){5}\))$/i or return "Illegal data for SOA record: $recdata"; $self->recdata($1); } elsif ( $self->rectype eq 'NS' ) { @@ -309,11 +309,30 @@ sub svc_domain { qsearchs('svc_domain', { svcnum => $self->svcnum } ); } +=item zone + +Returns the canonical zone name. + +=cut + +sub zone { + my $self = shift; + my $zone = $self->reczone; # or die ? + if ( $zone =~ /\.$/ ) { + $zone =~ s/\.$//; + } else { + my $svc_domain = $self->svc_domain; # or die ? + $zone .= '.'. $svc_domain->domain; + $zone =~ s/^\@\.//; + } + $zone; +} + =back =head1 VERSION -$Id: domain_record.pm,v 1.12 2003-03-20 03:41:03 ivan Exp $ +$Id: domain_record.pm,v 1.15 2003-04-29 18:28:50 khoff Exp $ =head1 BUGS