$cgi->keywords instead of $cgi->query_string
[freeside.git] / htdocs / misc / link.cgi
1 #!/usr/bin/perl -Tw
2 #
3 # $Id: link.cgi,v 1.3 1998-12-23 03:03:39 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.3  1998-12-23 03:03:39  ivan
15 # $cgi->keywords instead of $cgi->query_string
16 #
17 # Revision 1.2  1998/12/17 09:12:45  ivan
18 # s/CGI::(Request|Base)/CGI.pm/;
19 #
20
21 use strict;
22 use CGI;
23 use CGI::Carp qw(fatalsToBrowser);
24 use FS::UID qw(cgisuidsetup);
25 use FS::CGI qw(popurl);
26 use FS::Record qw(qsearchs);
27
28 my(%link_field)=(
29   'svc_acct'    => 'username',
30   'svc_domain'  => 'domain',
31   'svc_acct_sm' => '',
32   'svc_charge'  => '',
33   'svc_wo'      => '',
34 );
35
36 my($cgi) = new CGI;
37 cgisuidsetup($cgi);
38
39 my($pkgnum,$svcpart);
40 my($query) = $cgi->keywords;
41 foreach $_ (split(/-/,$query)) { #get & untaint pkgnum & svcpart
42   $pkgnum=$1 if /^pkgnum(\d+)$/;
43   $svcpart=$1 if /^svcpart(\d+)$/;
44 }
45
46 my($part_svc) = qsearchs('part_svc',{'svcpart'=>$svcpart});
47 my($svc) = $part_svc->getfield('svc');
48 my($svcdb) = $part_svc->getfield('svcdb');
49 my($link_field) = $link_field{$svcdb};
50
51 print $cgi->header, header("Link to existing $svc account"),
52       qq!<FORM ACTION="!, popurl(1), qq!process/link.cgi" METHOD=POST>!;
53
54 if ( $link_field ) { 
55   print <<END;
56   <INPUT TYPE="hidden" NAME="svcnum" VALUE="">
57   <INPUT TYPE="hidden" NAME="link_field" VALUE="$link_field">
58   $link_field of existing service: <INPUT TYPE="text" NAME="link_value">
59 END
60 } else {
61   print qq!Service # of existing service: <INPUT TYPE="text" NAME="svcnum" VALUE="">!;
62 }
63
64 print <<END;
65 <INPUT TYPE="hidden" NAME="pkgnum" VALUE="$pkgnum">
66 <INPUT TYPE="hidden" NAME="svcpart" VALUE="$svcpart">
67 <P><CENTER><INPUT TYPE="submit" VALUE="Link"></CENTER>
68     </FORM>
69   </BODY>
70 </HTML>
71 END
72