7c7fd66882dd7889c3a2f0f7e0484f7df681bd76
[freeside.git] / htdocs / misc / link.cgi
1 #!/usr/bin/perl -Tw
2 #
3 # $Id: link.cgi,v 1.2 1998-12-17 09:12:45 ivan Exp $
4 #
5 # Note: Should be run setuid freeside as user nobody
6 #
7 # ivan@voicenet.com 97-feb-5
8 #
9 # rewrite ivan@sisd.com 98-mar-17
10 #
11 # can also link on some other fields now (about time) ivan@sisd.com 98-jun-24
12 #
13 # $Log: link.cgi,v $
14 # Revision 1.2  1998-12-17 09:12:45  ivan
15 # s/CGI::(Request|Base)/CGI.pm/;
16 #
17
18 use strict;
19 use CGI;
20 use CGI::Carp qw(fatalsToBrowser);
21 use FS::UID qw(cgisuidsetup);
22 use FS::CGI qw(popurl);
23 use FS::Record qw(qsearchs);
24
25 my(%link_field)=(
26   'svc_acct'    => 'username',
27   'svc_domain'  => 'domain',
28   'svc_acct_sm' => '',
29   'svc_charge'  => '',
30   'svc_wo'      => '',
31 );
32
33 my($cgi) = new CGI;
34 cgisuidsetup($cgi);
35
36 my($pkgnum,$svcpart);
37 foreach $_ (split(/-/,$cgi->query_string)) { #get & untaint pkgnum & svcpart
38   $pkgnum=$1 if /^pkgnum(\d+)$/;
39   $svcpart=$1 if /^svcpart(\d+)$/;
40 }
41
42 my($part_svc) = qsearchs('part_svc',{'svcpart'=>$svcpart});
43 my($svc) = $part_svc->getfield('svc');
44 my($svcdb) = $part_svc->getfield('svcdb');
45 my($link_field) = $link_field{$svcdb};
46
47 print $cgi->header, header("Link to existing $svc account"),
48       qq!<FORM ACTION="!, popurl(1), qq!process/link.cgi" METHOD=POST>!;
49
50 if ( $link_field ) { 
51   print <<END;
52   <INPUT TYPE="hidden" NAME="svcnum" VALUE="">
53   <INPUT TYPE="hidden" NAME="link_field" VALUE="$link_field">
54   $link_field of existing service: <INPUT TYPE="text" NAME="link_value">
55 END
56 } else {
57   print qq!Service # of existing service: <INPUT TYPE="text" NAME="svcnum" VALUE="">!;
58 }
59
60 print <<END;
61 <INPUT TYPE="hidden" NAME="pkgnum" VALUE="$pkgnum">
62 <INPUT TYPE="hidden" NAME="svcpart" VALUE="$svcpart">
63 <P><CENTER><INPUT TYPE="submit" VALUE="Link"></CENTER>
64     </FORM>
65   </BODY>
66 </HTML>
67 END
68