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; }