#!/usr/bin/perl

$path = "/mit/course-search/web_scripts/search/urls";

use CGI qw(:standard :cgi-lib);
use URI::Escape;
use Tie::IxHash;
use File::Spec::Functions;
use File::Path qw(make_path);
use File::Basename;

($arg1, $arg2) = split('/', param('coursenumber'));

$type = param('type');
#This part of the code support queries like "a/6.002" that won't send you straight to the saved result.
if($arg2 eq "") {
    $num = $arg1;
} else {
    $num = $arg2;
    if($arg1 eq 'a') { #For searches like a/6.002, return a list of all results, even if one has been saved.
	$type = 'Course Search';
    }
}

if($type eq 'Course Search') {
    redirect_to_sorry();
}

redirect_if_known($num);
redirect_to_sorry();

sub redirect_if_known {
    my ($query) = @_;
    my $file = catfile($path, 'save', uri_escape(lc($query)));
    if(-e $file) {
	open(FILE, $file);
	chomp(my $line = <FILE>);
	close(FILE);
	print redirect(-uri => $line, -status => 303);
    }
}

sub redirect_to_sorry {
    print redirect(-uri => "http://course.mit.edu/sorry.html", -status => 303);
    exit();
}

