#!/usr/bin/perl -w #---------------------------------------------------------------------- # clickthrough.pl # # Barebones clickthrough script. #---------------------------------------------------------------------- use strict; use CGI::Carp qw( fatalsToBrowser ); require CGI; require DBI; require DBD::mysql; my $dbh; unless ($dbh) { $dbh = DBI->connect("DBI:mysql:database=Leda_Search", "enth", "3nth30!") || croak ("Failed to connect to database"); } my $cgi = new CGI; my $loc = "http://www.lycaeum.org/"; my $q = $cgi->param('Terms'); $q =~ tr/[A-Z]/[a-z]/; $q =~ s/^[^\w-]+.*[^\w-]$//s; my @terms = split (/[^\w-]+/,$q); $q = join(' ',@terms); if ($q) { my $sth = $dbh->prepare("select ID,Rest from Queries where Query=?"); $sth->execute($q); $loc = "http://www.lycaeum.org/htsearch.cgi?words=" . $cgi->escape($q) . "&config=htdig&method=or&format=builtin-long&sort=score"; if ($sth->rows) { $sth = $dbh->prepare("update Queries set Count=Count+1 where Query=?"); $sth->execute($q); } else { $sth = $dbh->prepare("insert into Queries set Query=?,Count=1"); $sth->execute($q); } } print $cgi->redirect($loc); END { $dbh->disconnect if $dbh; }