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