-
Notifications
You must be signed in to change notification settings - Fork 0
/
bag.cgi
105 lines (72 loc) · 2.09 KB
/
bag.cgi
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#!/usr/bin/perl
# bag.pl
########## Print the content header
print "Content-type: text/html\n\n";
########## Require cgi-lib.pl
require "cgi-lib.pl";
########## Read input and assign variables
&ReadParse(*input);
########## Generate a unique file based on random number and
########## customer last name
srand($$ ^ time);
$filename = $input{'lname'} . int(rand(999));
if (-e "$filename.txt") {
print "The order for $filename has already been placed.";
exit 0;
}
########## Open file and write the order
open (FILE,">$filename.txt");
select(FILE);
printInfo();
close(FILE);
######### Now write the confirmation back to the user
select(STDOUT);
printInfo();
exit 0;
sub printInfo() {
$clock = localtime();
########## Print customer information
print <<CUSTOMER_INFO;
<PRE><FONT FACE=Tahoma SIZE=3>
<H2>Shopping Bag Order Confirmation Receipt</H2>
<B>$clock</B>
<B>Reference Code: $filename</B>
--------------------
Customer Information
Customer First Name: $input{'fname'}
Customer Last Name: $input{'lname'}
Company Name: $input{'cname'}
Street Address 1: $input{'saddress1'}
Street Address 2: $input{'saddress2'}
City: $input{'city'}
State/Province: $input{'stpro'}
Country: $input{'country'}
Zip/Mail Code: $input{'zip'}
CUSTOMER_INFO
########## Print payment information
print <<PAYMENT_INFO;
Payment Information
Credit Card Type: $input{'ctype'}
Credit Card Number: $input{'cnumb'}
Expiration Date: $input{'edate'}
PAYMENT_INFO
########## Print product information
print "Product Information\n\n";
$idx = 0;
while ($input{'prod' . $idx}) {
@getProdInfo = split("-", $input{'prod' . $idx});
print "Product PLU:\t\t$getProdInfo[0]\n";
print "\tQuantity:\t$getProdInfo[1]\n\n";
$idx++;
}
########## Print total information
print <<TOTAL_INFO;
Total Information (\$US)
Subtotal: $input{'subtotal'}
Tax Total: $input{'taxtotal'}
Ship Total: $input{'shiptotal'}
Bag Total: $input{'bagtotal'}
--------------------
</FONT></PRE>
TOTAL_INFO
}