X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=bin%2Fsvc_acct_sm.import;h=0714af3f190e338aa15f31adca8afb87db34ae3a;hb=15f65a0c56cbce6951d9cb4f71119725a2009f79;hp=647e5c2ee2cda55886bad07ef34e64d22eeecb00;hpb=8bc379c21dd64cc9ce29996338917b12529ea8a3;p=freeside.git diff --git a/bin/svc_acct_sm.import b/bin/svc_acct_sm.import index 647e5c2ee..0714af3f1 100755 --- a/bin/svc_acct_sm.import +++ b/bin/svc_acct_sm.import @@ -1,6 +1,6 @@ #!/usr/bin/perl -Tw # -# $Id: svc_acct_sm.import,v 1.3 1999-03-24 00:51:55 ivan Exp $ +# $Id: svc_acct_sm.import,v 1.8 2000-12-03 15:14:00 ivan Exp $ # # ivan@sisd.com 98-mar-9 # @@ -16,7 +16,22 @@ # ivan@sisd.com 98-jul-13 # # $Log: svc_acct_sm.import,v $ -# Revision 1.3 1999-03-24 00:51:55 ivan +# Revision 1.8 2000-12-03 15:14:00 ivan +# bugfixes from Jeff Finucane , thanks! +# +# Revision 1.7 2000/06/29 10:51:52 ivan +# oops, silly mistake +# +# Revision 1.6 2000/06/29 10:48:25 ivan +# make svc_acct_sm skip blank lines in sendmail import +# +# Revision 1.5 2000/02/03 05:16:52 ivan +# beginning of DNS and Apache support +# +# Revision 1.4 1999/03/25 08:42:20 ivan +# import stuff uses Term::Query and spits out (some kinds of) nonsensical input +# +# Revision 1.3 1999/03/24 00:51:55 ivan # die if no relevant services... cvspain # # Revision 1.2 1998/12/10 07:23:18 ivan @@ -25,6 +40,7 @@ use strict; use vars qw(%d_part_svc %m_part_svc); +use Term::Query qw(query); use FS::SSH qw(iscp); use FS::UID qw(adminsuidsetup datasrc); use FS::Record qw(qsearch qsearchs); @@ -55,20 +71,28 @@ die "No services with svcdb svc_svc_acct_sm!\n" unless %m_part_svc; print "\n\n", ( join "\n", map "$_: ".$d_part_svc{$_}->svc, sort keys %d_part_svc ), - "\n\nEnter part number for domains: "; -my($domain_svcpart)=&getvalue; + "\n\n"; +$^W=0; #Term::Query isn't -w-safe +my $domain_svcpart = + query "Enter part number for domains: ", 'irk', [ keys %d_part_svc ]; +$^W=1; print "\n\n", ( join "\n", map "$_: ".$m_part_svc{$_}->svc, sort keys %m_part_svc ), - "\n\nEnter part number for mail aliases: "; -my($mailalias_svcpart)=&getvalue; + "\n\n"; +$^W=0; #Term::Query isn't -w-safe +my $mailalias_svcpart = + query "Enter part number for mail aliases: ", 'irk', [ keys %m_part_svc ]; +$^W=1; print "\n\n", <); - chop $x; - $x; + my $prompt = shift; + $^W=0; #Term::Query isn't -w-safe + my $data = query $prompt, ''; + $^W=1; + $data; } print "\n\n"; @@ -138,13 +161,14 @@ my(%svcnum); while () { next if /^(#|$)/; + next if $mta{$mta} eq 'sendmail' && /^\s*$/; #blank lines /^\.?([\w\-\.]+)$/ #or do { warn "Strange rcpthosts/sendmail.cw line: $_"; next; }; or die "Strange rcpthosts/sendmail.cw line: $_"; my $domain = $1; my($svc_domain); unless ( $svc_domain = qsearchs('svc_domain', {'domain'=>$domain} ) ) { - $svc_domain = create FS::svc_domain ({ + $svc_domain = new FS::svc_domain ({ 'domain' => $domain, 'svcpart' => $domain_svcpart, 'action' => 'N', @@ -199,7 +223,7 @@ END } unless ( exists $svcnum{$domain} ) { - my($svc_domain) = create FS::svc_domain ({ + my($svc_domain) = new FS::svc_domain ({ 'domain' => $domain, 'svcpart' => $domain_svcpart, 'action' => 'N', @@ -210,7 +234,7 @@ END $svcnum{$domain}=$svc_domain->svcnum; } - my($svc_acct_sm)=create FS::svc_acct_sm ({ + my($svc_acct_sm)=new FS::svc_acct_sm ({ 'domsvc' => $svcnum{$domain}, 'domuid' => $svc_acct->uid, 'domuser' => '*', @@ -230,7 +254,8 @@ END or die "Can't open $spooldir/virtusertable.import: $!"; while () { next if /^#/; #comments? - /^([\w\-\.]+)?\@([\w\-\.]+)\t([\w\-\.]+)$/ + next if /^\s*$/; #blank lines + /^([\w\-\.]+)?\@([\w\-\.]+)\t+([\w\-\.]+)$/ #or do { warn "Strange virtusertable line: $_"; next; }; or die "Strange virtusertable line: $_"; my($domuser,$domain,$username)=($1,$2,$3); @@ -240,7 +265,7 @@ END die "Unknown user $username in virtusertable"; next; } - my($svc_acct_sm)=create FS::svc_acct_sm ({ + my($svc_acct_sm)=new FS::svc_acct_sm ({ 'domsvc' => $svcnum{$domain}, 'domuid' => $svc_acct->uid, 'domuser' => $domuser || '*', @@ -268,6 +293,6 @@ END # sub usage { - die "Usage:\n\n svc_acct_sm.export user\n"; + die "Usage:\n\n svc_acct_sm.import user\n"; }