#!/usr/local/bin/perl ########################################################################### # view-auctions.cgi # Copyright 1999 Laura Bettag and Phoenix Rising Consulting # Program Description: # # NOTES: # Handle category list by checking item file every time or generate some how? # Probably the best way to generate is using cron when we close the auctions. ########################################################################### if ($ENV{'SCRIPT_FILENAME'} =~ /^\/home\/ubuysell/ || $ENV{'HOME'} =~ /^\/home\/ubuysell/) { push(@INC,"/home/ubuysell/cgi-bin"); push(@INC,"/home/ubuysell/cgi-bin/auction"); } else { push(@INC,"d:\\html\\Cgi-bin\\MyCGI"); } require 'prc-lib4.pl'; require 'uauction-lib.pl' || die; require 'db-lib.pl' || die; require 'types.pl' || die; &ReadParse(*input); if ($input{'_action'} eq "catlist") { &viewByCat2("$input{'sub'}"); } elsif ($input{'_action'} eq "fullPage") { &viewFullPage(); } elsif ($input{'_action'} eq "searchAuctionsForm") { &searchAuctionsForm(); } elsif ($input{'_action'} eq "searchAuctions") { &searchAuctions(); } elsif ($input{'_action'} eq "bidHistory") { &bidHistory(); } else { &badInput(1); } exit; ############################################################################## sub bidHistory { my(@lines,$line,%line,$color,@temp,$last,$start,$numLines,@newLines,@temp); my($baseURL,%trans,%uid,$myNum); @lines = &GetDataLines("Transactions","id",$input{'item num'}); foreach $line (@lines) { %trans = &ExpandLineDB($line,"Transactions"); if ($trans{'flags'} =~ /bid/) { push(@newLines,$line); } } @lines = @newLines; $numLines = @lines; undef(@newLines); if ($input{'start'}) { $start = $input{'start'}; } else { $start = 0; } @temp = reverse sort {$a <=> $b} @lines; undef(@lines); if ($outputLineLimit - 1 > @temp) { $last = @temp; } else { $last = $start + $outputLineLimit - 1; } @lines = @temp[$start..$last]; undef @temp; print &PrintClientHeader("Bid History"); print "
UBid: Bid History # $input{'item num'} - $input{'Item Name'} | \n"; print "|||
Date | \n"; print "Bidder | \n"; print "Amount | \n"; print "UBuy-USell Admin Comment | \n"; print "
---|---|---|---|
" . &DateShort12($trans{'date'}) . " | $uid{$trans{'actor'}} | \$ " . &FixDollar($trans{'amount'}) . " | $trans{'comment'} | "; $baseURL = "$script_base/view-auctions.cgi?_action=bidHistory&item%20num=$input{'item num'}&Item%20Name=$input{'Item Name'}"; $baseURL =~ s/ /%20/g; # find how many click #'s to add if ($numLines > $outputLineLimit) { if ($last + 1 < $numLines) { print "Next "; } $myNum = 0; while ($myNum < $numLines) { $i++; print "$i "; $myNum += $outputLineLimit; } } print " | \n"; print "\n"; print "
\n";
foreach $line (@lines){
print &lineListing(&ExpandLineDB($line,"Items")) . "
\n";
}
print &PrintClientFooter();
}
############################################################
sub viewByCat2 {
local($subCat) = @_;
local(@lines,$line,$url,$color,$start,@temp,$numLines,$last,$myNum,$i);
local($baseURL);
#$input{'start'} ? $start = $input{'start'} : $start = 0;
if ($input{'start'}) {
$start = $input{'start'};
} else {
$start = 0;
}
@temp = reverse sort {$a <=> $b} &GetDataLines("Items","subcategory",$subCat);
if ($outputLineLimit - 1 > @temp) {
$last = @temp;
} else {
$last = $start + $outputLineLimit - 1;
}
@lines = @temp[$start..$last];
$numLines = @temp;
undef @temp;
print &PrintClientHeader($input{'cat'});
print "$subCat
\n" . $numLines . " open auctions\n";
print "
\n"; print "
UBuy: $input{'cat'} - $subCat | \n"; print "|||||
Auction Num | "; print "Item Name | "; print "Current Bid | "; print "Num. Bids | "; print "Ends | "; print ""; print " |
---|---|---|---|---|---|
"; $baseURL = "$script_base/view-auctions.cgi?_action=catlist&cat=$input{'cat'}&sub=$input{'sub'}"; $baseURL =~ s/ /%20/g; # find how many click #'s to add if ($numLines > $outputLineLimit) { if ($last + 1 < $numLines) { print "Next "; } $myNum = 0; while ($myNum < $numLines) { $i++; print "$i "; $myNum += $outputLineLimit; } } print " | \n"; print "
\n"; if (! @lines) { print "No auctions found."; } else { print "$numLines Auctions Found\n"; print "
UBuy: "; if ($input{'keyword'}) { print "Keywords: "; foreach $word (@keywords) { print "$word "; } } if ($input{'type'} eq "all") { print "All auctions " } else { print "Current auctions only "; } if ($input{'limit'} eq "startToday") { print "Only auctions starting today "; } elsif ($input{'limit'} eq "endToday") { print "Only auctions ending today "; } if ($input{'seller'}) { print "Started by $input{'seller'} "; } print " | \n"; print "|||||
Auction Num | "; print "Item Name | "; print "Current Bid | "; print "Num. Bids | "; print "Ends | "; print ""; print " |
---|---|---|---|---|---|
"; $baseURL = "$script_base/view-auctions.cgi?_action=searchAuctions&type=$input{'type'}&keyword=$input{'keyword'}&boolean=&input{'boolean'}&seller=&input{'seller'}"; $baseURL =~ s/ /%20/g; # find how many click #'s to add if ($numLines > $outputLineLimit) { if ($last + 1 < $numLines) { print "Next "; } $myNum = 0; while ($myNum < $numLines) { $i++; print "$i "; $myNum += $outputLineLimit; } } print " | \n"; print "