#!/usr/bin/perl # MY.M SERVICE CUPID # $Id: index.cgi,v 1.13 2008/01/21 05:41:37 sedmonds Exp $ use strict; use warnings; use Monash::CourseFinder; use Monash::CourseFinder::CGI qw{ initialise cleanup page_header page_footer get_config get_param display_course_table }; use Monash::CourseFinder::Category; use HTML::Entities qw{ encode_entities }; initialise(); my $action = get_param('action') || q{}; if ( $action eq 'search' ) { my $query = get_param('query') || q{}; if ( $query =~ m{ \A \s* \Z }smx ) { display_form( 'message' => q{Error: please enter at least one search term.}, ); } my @courses = Monash::CourseFinder->search( 'query' => $query, ); if ( @courses ) { display_results( 'courses' => \@courses, 'query' => $query, ); } else { display_form( 'message' => q{No courses were found. Please change your selections and try again.}, ); } } else { display_form(); } ################################### sub display_form { my %arg = @_; page_header( 'heading' => 'Monash Course Finder', 'highlight' => 1, ); print qq{
\n}, ; if ( $arg{'message'} ) { print qq{}, encode_entities( $arg{'message'} ), qq{
\n}, ; } print qq{\n}, qq{\n}, qq{You searched for: }, encode_entities( $arg{'query'} ), qq{
\n}, ; display_course_table( 'courses' => $arg{'courses'}, 'query' => $arg{'query'}, ); page_footer(); cleanup; exit; };