for mod_perl: no more top-level my() variables; use vars instead
[freeside.git] / htdocs / view / svc_acct_sm.cgi
1 #!/usr/bin/perl -Tw
2 #
3 # $Id: svc_acct_sm.cgi,v 1.6 1999-01-19 05:14:22 ivan Exp $
4 #
5 # Usage: svc_acct_sm.cgi svcnum
6 #        http://server.name/path/svc_acct_sm.cgi?svcnum
7 #
8 # Note: Should be run setuid freeside as user nobody.
9 #
10 # based on view/svc_acct.cgi
11
12 # ivan@voicenet.com 97-jan-5
13 #
14 # added navigation bar
15 # ivan@voicenet.com 97-jan-30
16
17 # rewrite ivan@sisd.com 98-mar-15
18 #
19 # Changes to allow page to work at a relative position in server
20 #       bmccane@maxbaud.net     98-apr-3
21 #
22 # /var/spool/freeside/conf/domain ivan@sisd.com 98-jul-17
23 #
24 # $Log: svc_acct_sm.cgi,v $
25 # Revision 1.6  1999-01-19 05:14:22  ivan
26 # for mod_perl: no more top-level my() variables; use vars instead
27 # also the last s/create/new/;
28 #
29 # Revision 1.5  1999/01/18 09:41:46  ivan
30 # all $cgi->header calls now include ( '-expires' => 'now' ) for mod_perl
31 # (good idea anyway)
32 #
33 # Revision 1.4  1998/12/23 03:09:52  ivan
34 # $cgi->keywords instead of $cgi->query_string
35 #
36 # Revision 1.3  1998/12/17 09:57:24  ivan
37 # s/CGI::(Base|Request)/CGI.pm/;
38 #
39 # Revision 1.2  1998/12/16 05:24:30  ivan
40 # use FS::Conf;
41 #
42
43 use strict;
44 use vars qw($conf $cgi $mydomain $query $svcnum $svc_acct_sm $cust_svc
45             $pkgnum cust_pkg $custnum $part_svc $p $domsvc,$domuid,$domuser
46             $svc $svc_domain $domain $svc_acct $username );
47 use CGI;
48 use FS::UID qw(cgisuidsetup);
49 use FS::CGI qw(header popurl);
50 use FS::Record qw(qsearchs);
51 use FS::Conf;
52
53 $cgi = new CGI;
54 cgisuidsetup($cgi);
55
56 $conf = new FS::Conf;
57 $mydomain = $conf->config('domain');
58
59 #untaint svcnum
60 ($query) = $cgi->keywords;
61 $query =~ /^(\d+)$/;
62 $svcnum = $1;
63 $svc_acct_sm = qsearchs('svc_acct_sm',{'svcnum'=>$svcnum});
64 die "Unknown svcnum" unless $svc_acct_sm;
65
66 $cust_svc = qsearchs('cust_svc',{'svcnum'=>$svcnum});
67 $pkgnum = $cust_svc->getfield('pkgnum');
68 if ($pkgnum) {
69   $cust_pkg=qsearchs('cust_pkg',{'pkgnum'=>$pkgnum});
70   $custnum=$cust_pkg->getfield('custnum');
71 }
72
73 $part_svc = qsearchs('part_svc',{'svcpart'=> $cust_svc->svcpart } );
74 die "Unkonwn svcpart" unless $part_svc;
75
76 print $cgi->header( '-expires' => 'now' ), header('Mail Alias View');
77
78 $p = popurl(2);
79 if ($pkgnum || $custnum) {
80   print <<END;
81 <A HREF="${p}view/cust_pkg.cgi?$pkgnum">View this package (#$pkgnum)</A> | 
82 <A HREF="${p}view/cust_main.cgi?$custnum">View this customer (#$custnum)</A> | 
83 END
84 } else {
85   print <<END;
86 <A HREF="${p}misc/cancel-unaudited.cgi?$svcnum">Cancel this (unaudited)account</A> |
87 END
88 }
89
90 print <<END;
91     <A HREF="${p}">Main menu</A></CENTER><BR<
92     <FONT SIZE=+1>Service #$svcnum</FONT>
93     <P><A HREF="${p}edit/svc_acct_sm.cgi?$svcnum">Edit this information</A>
94     <BASEFONT SIZE=3>
95 END
96
97 ($domsvc,$domuid,$domuser) = (
98   $svc_acct_sm->domsvc,
99   $svc_acct_sm->domuid,
100   $svc_acct_sm->domuser,
101 );
102 $svc = $part_svc->svc;
103 $svc_domain = qsearchs('svc_domain',{'svcnum'=>$domsvc});
104 $domain = $svc_domain->domain;
105 $svc_acct = qsearchs('svc_acct',{'uid'=>$domuid});
106 $username = $svc_acct->username;
107
108 #formatting
109 print qq!<HR>!;
110
111 #svc
112 print "Service: <B>$svc</B>";
113
114 print "<HR>";
115
116 print qq!Mail to <B>!, ( ($domuser eq '*') ? "<I>(anything)</I>" : $domuser ) , qq!</B>\@<B>$domain</B> forwards to <B>$username</B>\@$mydomain mailbox.!;
117
118 print "<HR>";
119
120         #formatting
121         print <<END;
122
123   </BODY>
124 </HTML>
125 END
126