all $cgi->header calls now include ( '-expires' => 'now' ) for mod_perl
[freeside.git] / htdocs / view / svc_acct_sm.cgi
1 #!/usr/bin/perl -Tw
2 #
3 # $Id: svc_acct_sm.cgi,v 1.5 1999-01-18 09:41:46 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.5  1999-01-18 09:41:46  ivan
26 # all $cgi->header calls now include ( '-expires' => 'now' ) for mod_perl
27 # (good idea anyway)
28 #
29 # Revision 1.4  1998/12/23 03:09:52  ivan
30 # $cgi->keywords instead of $cgi->query_string
31 #
32 # Revision 1.3  1998/12/17 09:57:24  ivan
33 # s/CGI::(Base|Request)/CGI.pm/;
34 #
35 # Revision 1.2  1998/12/16 05:24:30  ivan
36 # use FS::Conf;
37 #
38
39 use strict;
40 use vars qw($conf);
41 use CGI;
42 use FS::UID qw(cgisuidsetup);
43 use FS::CGI qw(header popurl);
44 use FS::Record qw(qsearchs);
45 use FS::Conf;
46
47 my($cgi) = new CGI;
48 cgisuidsetup($cgi);
49
50 $conf = new FS::Conf;
51 my $mydomain = $conf->config('domain');
52
53 #untaint svcnum
54 my($query) = $cgi->keywords;
55 $query =~ /^(\d+)$/;
56 my($svcnum)=$1;
57 my($svc_acct_sm)=qsearchs('svc_acct_sm',{'svcnum'=>$svcnum});
58 die "Unknown svcnum" unless $svc_acct_sm;
59
60 my($cust_svc)=qsearchs('cust_svc',{'svcnum'=>$svcnum});
61 my($pkgnum)=$cust_svc->getfield('pkgnum');
62 my($cust_pkg,$custnum);
63 if ($pkgnum) {
64   $cust_pkg=qsearchs('cust_pkg',{'pkgnum'=>$pkgnum});
65   $custnum=$cust_pkg->getfield('custnum');
66 }
67
68 my($part_svc)=qsearchs('part_svc',{'svcpart'=> $cust_svc->svcpart } );
69 die "Unkonwn svcpart" unless $part_svc;
70
71 print $cgi->header( '-expires' => 'now' ), header('Mail Alias View');
72
73 my $p = popurl(2);
74 if ($pkgnum || $custnum) {
75   print <<END;
76 <A HREF="${p}view/cust_pkg.cgi?$pkgnum">View this package (#$pkgnum)</A> | 
77 <A HREF="${p}view/cust_main.cgi?$custnum">View this customer (#$custnum)</A> | 
78 END
79 } else {
80   print <<END;
81 <A HREF="${p}misc/cancel-unaudited.cgi?$svcnum">Cancel this (unaudited)account</A> |
82 END
83 }
84
85 print <<END;
86     <A HREF="${p}">Main menu</A></CENTER><BR<
87     <FONT SIZE=+1>Service #$svcnum</FONT>
88     <P><A HREF="${p}edit/svc_acct_sm.cgi?$svcnum">Edit this information</A>
89     <BASEFONT SIZE=3>
90 END
91
92 my($domsvc,$domuid,$domuser)=(
93   $svc_acct_sm->domsvc,
94   $svc_acct_sm->domuid,
95   $svc_acct_sm->domuser,
96 );
97 my($svc) = $part_svc->svc;
98 my($svc_domain)=qsearchs('svc_domain',{'svcnum'=>$domsvc});
99 my($domain)=$svc_domain->domain;
100 my($svc_acct)=qsearchs('svc_acct',{'uid'=>$domuid});
101 my($username)=$svc_acct->username;
102
103 #formatting
104 print qq!<HR>!;
105
106 #svc
107 print "Service: <B>$svc</B>";
108
109 print "<HR>";
110
111 print qq!Mail to <B>!, ( ($domuser eq '*') ? "<I>(anything)</I>" : $domuser ) , qq!</B>\@<B>$domain</B> forwards to <B>$username</B>\@$mydomain mailbox.!;
112
113 print "<HR>";
114
115         #formatting
116         print <<END;
117
118   </BODY>
119 </HTML>
120 END
121