diff options
Diffstat (limited to 'bin/svc_acct_sm.import')
-rwxr-xr-x | bin/svc_acct_sm.import | 52 |
1 files changed, 31 insertions, 21 deletions
diff --git a/bin/svc_acct_sm.import b/bin/svc_acct_sm.import index 647e5c2ee..bda9762e1 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.4 1999-03-25 08:42:20 ivan Exp $ # # ivan@sisd.com 98-mar-9 # @@ -16,7 +16,10 @@ # ivan@sisd.com 98-jul-13 # # $Log: svc_acct_sm.import,v $ -# Revision 1.3 1999-03-24 00:51:55 ivan +# 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 +28,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 +59,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", <<END; Select your MTA from the following list. END print join "\n", map "$_: $mta{$_}", sort keys %mta; -print "\n\n:"; -my($mta)=&getvalue; +print "\n\n"; +$^W=0; #Term::Query isn't -w-safe +my $mta = query ":", 'irk', [ keys %mta ]; +$^W=1; if ( $mta{$mta} eq "qmail" ) { @@ -76,8 +88,7 @@ if ( $mta{$mta} eq "qmail" ) { Enter the location and name of your qmail control directory, for example "mail.isp.com:/var/qmail/control" END - print ":"; - my($control)=&getvalue; + my($control)=&getvalue(":"); iscp("root\@$control/rcpthosts","$spooldir/rcpthosts.import"); # iscp("root\@$control/recipientmap","$spooldir/recipientmap.import"); iscp("root\@$control/virtualdomains","$spooldir/virtualdomains.import"); @@ -95,16 +106,14 @@ END Enter the location and name of your sendmail virtual user table, for example "mail.isp.com:/etc/virtusertable" END - print ":"; - my($virtusertable)=&getvalue; + my($virtusertable)=&getvalue(":"); iscp("root\@$virtusertable","$spooldir/virtusertable.import"); print "\n\n", <<END; Enter the location and name of your sendmail.cw file, for example "mail.isp.com:/etc/sendmail.cw" END - print ":"; - my($sendmail_cw)=&getvalue; + my($sendmail_cw)=&getvalue(":"); iscp("root\@$sendmail_cw","$spooldir/sendmail.cw.import"); } else { @@ -112,9 +121,10 @@ END } sub getvalue { - my($x)=scalar(<STDIN>); - chop $x; - $x; + my $prompt = shift; + $^W=0; #Term::Query isn't -w-safe + query $prompt, ''; + $^W=1; } print "\n\n"; @@ -144,7 +154,7 @@ while (<RCPTHOSTS>) { 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 +209,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 +220,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' => '*', @@ -240,7 +250,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 || '*', |