$soarefresh $soaretry
);
use Carp;
+use Scalar::Util qw( blessed );
use Date::Format;
#use Net::Whois::Raw;
+use Net::Domain::TLD qw(tld_exists);
use FS::Record qw(fields qsearch qsearchs dbh);
use FS::Conf;
use FS::svc_Common;
}
}
- my $error = $self->SUPER::delete;
+ my $error = $self->SUPER::delete(@_);
if ( $error ) {
$dbh->rollback if $oldAutoCommit;
return $error;
=cut
sub replace {
- my ( $new, $old ) = ( shift, shift );
+ my $new = shift;
- # We absolutely have to have an old vs. new record to make this work.
- $old = $new->replace_old unless defined($old);
+ my $old = ( blessed($_[0]) && $_[0]->isa('FS::Record') )
+ ? shift
+ : $new->replace_old;
return "Can't change domain - reorder."
if $old->getfield('domain') ne $new->getfield('domain');
# Better to do it here than to force the caller to remember that svc_domain is weird.
$new->setfield(action => 'M');
- my $error = $new->SUPER::replace($old);
+ my $error = $new->SUPER::replace($old, @_);
return $error if $error;
}
} elsif ( $whois_hack && $recref->{domain} =~ /^([\w\-\.]+)\.(\w+)$/ ) {
$recref->{domain} = "$1.$2";
# need to match a list of suffixes - no guarantee they're top-level..
+ # http://wiki.mozilla.org/TLD_List
+ # but this will have to do for now...
+ $recref->{suffix} ||= $2;
} else {
return "Illegal domain ". $recref->{domain}.
" (or unknown registry - try \$whois_hack)";
}
+ $self->suffix =~ /(^|\.)(\w+)$/
+ or return "can't parse suffix for TLD: ". $self->suffix;
+ my $tld = $2;
+ return "No such TLD: .$tld" unless tld_exists($tld);
if ( $recref->{catchall} ne '' ) {
my $svc_acct = qsearchs( 'svc_acct', { 'svcnum' => $recref->{catchall} } );
#$whois_hack or die "whois_hack not set...\n";
}
-=item _whois
-
-Depriciated.
-
-=cut
-
-sub _whois {
- die "_whois depriciated";
-}
-
-=item submit_internic
-
-Submits a registration email for this domain.
-
-=cut
-
-sub submit_internic {
- #my $self = shift;
- carp "submit_internic depreciated";
-}
-
=back
=head1 BUGS