X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fsvc_domain.pm;h=b713e3e95da57d254dc61f1e465db1fce2bfc3df;hp=81edc337ed783facf9fa9e86a5197ff8f2e0741e;hb=bf5454270048ebe558276d9fba7588c48d461a3d;hpb=60527016538d1794227983d99ce3b77c8fcd7426 diff --git a/FS/FS/svc_domain.pm b/FS/FS/svc_domain.pm index 81edc337e..b713e3e95 100644 --- a/FS/FS/svc_domain.pm +++ b/FS/FS/svc_domain.pm @@ -1,15 +1,13 @@ package FS::svc_domain; use strict; -use vars qw( @ISA $whois_hack $conf $smtpmachine +use vars qw( @ISA $whois_hack $conf @defaultrecords $soadefaultttl $soaemail $soaexpire $soamachine $soarefresh $soaretry ); use Carp; -use Mail::Internet 1.44; -use Mail::Header; use Date::Format; -use Net::Whois 1.0; +#use Net::Whois::Raw; use FS::Record qw(fields qsearch qsearchs dbh); use FS::Conf; use FS::svc_Common; @@ -26,8 +24,6 @@ use FS::queue; $FS::UID::callback{'FS::domain'} = sub { $conf = new FS::Conf; - $smtpmachine = $conf->config('smtpmachine'); - @defaultrecords = $conf->config('defaultrecords'); $soadefaultttl = $conf->config('soadefaultttl'); $soaemail = $conf->config('soaemail'); @@ -90,7 +86,7 @@ Creates a new domain. To add the domain to the database, see L<"insert">. sub table { 'svc_domain'; } -=item insert +=item insert [ , OPTION => VALUE ... ] Adds this domain to the database. If there is an error, returns the error, otherwise returns false. @@ -116,6 +112,12 @@ If any records are defined in the I configuration file, appropriate records are added to the domain_record table (see L). +Currently available options are: I + +If I is set (to a scalar jobnum or an array reference of +jobnums), all provisioning jobs will have a dependancy on the supplied +jobnum(s) (they will not run until the specific job(s) complete(s)). + =cut sub insert { @@ -149,7 +151,7 @@ sub insert { return "Domain not found (see whois)"; } - $error = $self->SUPER::insert; + $error = $self->SUPER::insert(@_); if ( $error ) { $dbh->rollback if $oldAutoCommit; return $error; @@ -254,6 +256,8 @@ sub replace { 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); return $error if $error; } @@ -328,7 +332,7 @@ sub check { } #if ( $recref->{domain} =~ /^([\w\-\.]{1,22})\.(com|net|org|edu)$/ ) { - if ( $recref->{domain} =~ /^([\w\-]{1,22})\.(com|net|org|edu)$/ ) { + if ( $recref->{domain} =~ /^([\w\-]{1,63})\.(com|net|org|edu)$/ ) { $recref->{domain} = "$1.$2"; # hmmmmmmmm. } elsif ( $whois_hack && $recref->{domain} =~ /^([\w\-\.]+)$/ ) { @@ -346,7 +350,8 @@ sub check { return "Unknown catchall" unless $svc_acct; } - $self->ut_textn('purpose'); + $self->ut_textn('purpose') + or $self->SUPER::check; } @@ -381,15 +386,16 @@ sub catchall_svc_acct { =item whois -Returns the Net::Whois::Domain object (see L) for this domain, or -undef if the domain is not found in whois. +# Returns the Net::Whois::Domain object (see L) for this domain, or +# undef if the domain is not found in whois. (If $FS::svc_domain::whois_hack is true, returns that in all cases instead.) =cut sub whois { - $whois_hack or new Net::Whois::Domain $_[0]->domain; + #$whois_hack or new Net::Whois::Domain $_[0]->domain; + $whois_hack or die "whois_hack not set...\n"; } =item _whois