enable CardFortress in test database, #71513
[freeside.git] / FS / FS / svc_www.pm
index 53225bb..ed079f8 100644 (file)
@@ -1,7 +1,8 @@
 package FS::svc_www;
+use base qw(FS::svc_Common);
 
 use strict;
-use vars qw(@ISA $conf $apacheip);
+use vars qw($conf $apacheip);
 #use FS::Record qw( qsearch qsearchs );
 use FS::Record qw( qsearchs dbh );
 use FS::svc_Common;
@@ -10,8 +11,6 @@ use FS::domain_record;
 use FS::svc_acct;
 use FS::svc_domain;
 
-@ISA = qw( FS::svc_Common );
-
 #ask FS::UID to run this stuff for us later
 $FS::UID::callback{'FS::svc_www'} = sub { 
   $conf = new FS::Conf;
@@ -113,57 +112,31 @@ If I<depend_jobnum> 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 {
+sub preinsert_hook {
   my $self = shift;
 
-  my $error = $self->check;
-  return $error if $error;
+  #return '' unless $self->recnum =~ /^([\w\-]+|\@)\.(([\w\.\-]+\.)+\w+)$/;
+  return '' unless $self->recnum =~ /^([\w\-]+|\@)\.(\d+)$/;
 
-  local $SIG{HUP} = 'IGNORE';
-  local $SIG{INT} = 'IGNORE';
-  local $SIG{QUIT} = 'IGNORE';
-  local $SIG{TERM} = 'IGNORE';
-  local $SIG{TSTP} = 'IGNORE';
-  local $SIG{PIPE} = 'IGNORE';
-
-  my $oldAutoCommit = $FS::UID::AutoCommit;
-  local $FS::UID::AutoCommit = 0;
-  my $dbh = dbh;
-
-  #if ( $self->recnum =~ /^([\w\-]+|\@)\.(([\w\.\-]+\.)+\w+)$/ ) {
-  if ( $self->recnum =~ /^([\w\-]+|\@)\.(\d+)$/ ) {
-    my( $reczone, $domain_svcnum ) = ( $1, $2 );
-    unless ( $apacheip ) {
-      $dbh->rollback if $oldAutoCommit;
-      return "Configuration option apacheip not set; can't autocreate A record";
-             #"for $reczone". $svc_domain->domain;
-    }
-    my $domain_record = new FS::domain_record {
-      'svcnum'  => $domain_svcnum,
-      'reczone' => $reczone,
-      'recaf'   => 'IN',
-      'rectype' => 'A',
-      'recdata' => $apacheip,
-    };
-    $error = $domain_record->insert;
-    if ( $error ) {
-      $dbh->rollback if $oldAutoCommit;
-      return $error;
-    }
-    $self->recnum($domain_record->recnum);
-  }
-
-  $error = $self->SUPER::insert(@_);
-  if ( $error ) {
-    $dbh->rollback if $oldAutoCommit;
-    return $error;
+  my( $reczone, $domain_svcnum ) = ( $1, $2 );
+  unless ( $apacheip ) {
+    return "Configuration option apacheip not set; can't autocreate A record";
+           #"for $reczone". $svc_domain->domain;
   }
+  my $domain_record = new FS::domain_record {
+    'svcnum'  => $domain_svcnum,
+    'reczone' => $reczone,
+    'recaf'   => 'IN',
+    'rectype' => 'A',
+    'recdata' => $apacheip,
+  };
+  my $error = $domain_record->insert;
+  return $error if $error;
 
-  $dbh->commit or die $dbh->errstr if $oldAutoCommit;
-  '';
+  $self->recnum($domain_record->recnum);
+  return '';
 }
 
 =item delete
@@ -189,15 +162,15 @@ returns the error, otherwise returns false.
 
 =cut
 
-sub replace {
-  my ( $new, $old ) = ( shift, shift );
-  my $error;
-
-  $error = $new->SUPER::replace($old, @_);
-  return $error if $error;
-
-  '';
-}
+#sub replace {
+#  my ( $new, $old ) = ( shift, shift );
+#  my $error;
+#
+#  $error = $new->SUPER::replace($old, @_);
+#  return $error if $error;
+#
+#  '';
+#}
 
 =item suspend
 
@@ -278,13 +251,6 @@ sub check {
 Returns the FS::domain_record record for this web virtual host's zone (see
 L<FS::domain_record>).
 
-=cut
-
-sub domain_record {
-  my $self = shift;
-  qsearchs('domain_record', { 'recnum' => $self->recnum } );
-}
-
 =item svc_acct
 
 Returns the FS::svc_acct record for this web virtual host's owner (see