diff options
Diffstat (limited to 'httemplate/browse/part_referral.cgi')
-rwxr-xr-x | httemplate/browse/part_referral.cgi | 59 |
1 files changed, 46 insertions, 13 deletions
diff --git a/httemplate/browse/part_referral.cgi b/httemplate/browse/part_referral.cgi index 3f59abc..581e01b 100755 --- a/httemplate/browse/part_referral.cgi +++ b/httemplate/browse/part_referral.cgi @@ -10,31 +10,46 @@ Where a customer heard about your service. Tracked for informational purposes. <% my $today = timelocal(0, 0, 0, (localtime(time))[3..5] ); - my %past; - tie %past, 'Tie::IxHash', + my %after; + tie %after, 'Tie::IxHash', 'Today' => 0, + 'Yesterday' => 86400, # 60sec * 60min * 24hrs 'Past week' => 518400, # 60sec * 60min * 24hrs * 6days 'Past 30 days' => 2505600, # 60sec * 60min * 24hrs * 29days - 'Past 60 days' => 5097600, # 60sec * 60min * 24hrs * 29days - 'Past 90 days' => 7689600, # 60sec * 60min * 24hrs * 29days + 'Past 60 days' => 5097600, # 60sec * 60min * 24hrs * 59days + 'Past 90 days' => 7689600, # 60sec * 60min * 24hrs * 89days 'Past 6 months' => 15724800, # 60sec * 60min * 24hrs * 182days 'Past year' => 31486000, # 60sec * 60min * 24hrs * 364days 'Total' => $today, ; + my %before = ( + 'Today' => 86400, # 60sec * 60min * 24hrs + 'Yesterday' => 0, + 'Past week' => 86400, # 60sec * 60min * 24hrs + 'Past 30 days' => 86400, # 60sec * 60min * 24hrs + 'Past 60 days' => 86400, # 60sec * 60min * 24hrs + 'Past 90 days' => 86400, # 60sec * 60min * 24hrs + 'Past 6 months' => 86400, # 60sec * 60min * 24hrs + 'Past year' => 86400, # 60sec * 60min * 24hrs + 'Total' => 86400, # 60sec * 60min * 24hrs + ); - my $sth = dbh->prepare("SELECT COUNT(*) FROM h_cust_main - WHERE history_action = 'insert' - AND refnum = ? - AND history_date > ? ") + my $statement = "SELECT COUNT(*) FROM h_cust_main + WHERE history_action = 'insert' + AND refnum = ? + AND history_date >= ? + AND history_date < ? + "; + my $sth = dbh->prepare($statement) or die dbh->errstr; %> <%= table() %> <TR> <TH COLSPAN=2 ROWSPAN=2>Advertising source</TH> - <TH COLSPAN=<%= scalar(keys %past) %>>Customers</TH> + <TH COLSPAN=<%= scalar(keys %after) %>>Customers</TH> </TR> -<% for my $period ( keys %past ) { %> +<% for my $period ( keys %after ) { %> <TH><FONT SIZE=-1><%= $period %></FONT></TH> <% } %> </TR> @@ -49,9 +64,11 @@ foreach my $part_referral ( sort { <%= $part_referral->refnum %></A></TD> <TD><A HREF="<%= $p %>edit/part_referral.cgi?<%= $part_referral->refnum %>"> <%= $part_referral->referral %></A></TD> - <% for my $period ( values %past ) { - $sth->execute($part_referral->refnum, $today-$period) - or die $sth->errstr; + <% for my $period ( keys %after ) { + $sth->execute( $part_referral->refnum, + $today-$after{$period}, + $today+$before{$period}, + ) or die $sth->errstr; my $number = $sth->fetchrow_arrayref->[0]; %> <TD ALIGN="right"><%= $number %></TD> @@ -59,6 +76,22 @@ foreach my $part_referral ( sort { </TR> <% } %> +<% + $statement =~ s/AND refnum = \?//; + $sth = dbh->prepare($statement) + or die dbh->errstr; +%> + <TR> + <TH COLSPAN=2>Total</TH> + <% for my $period ( keys %after ) { + $sth->execute( $today-$after{$period}, + $today+$before{$period}, + ) or die $sth->errstr; + my $number = $sth->fetchrow_arrayref->[0]; + %> + <TD ALIGN="right"><%= $number %></TD> + <% } %> + </TR> </TABLE> </BODY> </HTML> |