use strict;
unshift @INC, "c:\\web\\parkplus\\cgi-bin";
require 'racingleague.pl';
use DBI;
use CGI;
use CGI qw(:standard);
use CGI::Carp qw(fatalsToBrowser);
use Date::Calc qw(Date_to_Text);
#SET DEBUG STATE
my $DEBUG = 0;
my $header_printed;
display_schedule();
sub display_schedule{
my $db_obj = DBCollection->make_connections();
my $schedule_obj = Schedule->get_schedule_info($db_obj);
main_display($schedule_obj);
}
sub print_header{
if ($header_printed == 0){
print header();
print <
   |
HTML
$header_printed = 1;
}
}
sub main_display{
my ($schedule_obj) = @_;
print_header();
print <
|
Number
|
Race
|
Venue
|
Date
|
Time
|
HTML
if ($schedule_obj){
my @schedule = $schedule_obj->races;
my $race;
my @schedule_numbers;
for ($race=0; $race<@schedule; $race++){
push @schedule_numbers, $schedule[$race]->number;
}
my @schedule_ordered = sort{$schedule_numbers[$a]<=>$schedule_numbers[$b]} 0..$#schedule_numbers;
#my @schedule_ordered = sort{$a<=>$b} 0..$#schedule_numbers;
for ($race=0; $race<@schedule; $race++){
my $race_number = $schedule_ordered[$race];
print "
\n| \n";
print $schedule[$race_number]->number;
print " | \n\n";
print $schedule[$race_number]->name;
print " | \n\n";
print $schedule[$race_number]->venue;
print " | \n\n";
print parse_date($schedule[$race_number]->date);
print " | \n\n";
print parse_time($schedule[$race_number]->time);
print " | \n
\n";
}
}else{
die_nice("no race object");
}
print "";
}
sub parse_date{
my ($passed_date) = @_;
if (length($passed_date) == 8){
my $mod_mnth=substr($passed_date, 0, 2);
my $mod_day=substr($passed_date, 2, 2);
my $mod_year=substr($passed_date, 4, 4);
Date_to_Text($mod_year, $mod_mnth, $mod_day);
}else{
qw(invalid date);
}
}
sub parse_time{
my ($passed_time) = @_;
my $day;
if (length($passed_time) == 4){
my $mod_hour=substr($passed_time, 0, 2);
my $mod_minute=substr($passed_time, 2, 2);
if ($mod_hour > 11){
$day = "pm";
}else{
$day = "am";
}
if ($mod_hour > 12){
$mod_hour = $mod_hour - 12;
}
my $time = $mod_hour.":".$mod_minute.$day;
}else{
qw(invalid time);
}
}
sub die_nice{
my ($error_message) = @_;
if ($header_printed == 0){
print_header();
}
print $error_message;
exit;
}