Apache-SearchEngineLog
view release on metacpan or search on metacpan
SearchEngineLog.pm view on Meta::CPAN
our $VERSION = '0.51';
# to have the test-script run ok
return 1 if $0 eq 'test.pl';
init ();
return 1;
#List of subroutines:
# check_alive_dbi
# check_regexen
# cleanup
# connect_dbi
# db_save
# handler
# init
sub check_alive_dbi
##########################################################################
# Checks wether DB connection is alive by pinging it periodically. #
# Reconnects if neccessary. #
# #
# Arguments: #
# 0: Apache::Log object #
# #
# Returns: #
# 0: true if (re)conntected; false if reconnect fails #
##########################################################################
{
my $l = shift;
SearchEngineLog.pm view on Meta::CPAN
$retval = $REGEXEN->{$re};
last;
}
}
return $retval;
}
sub cleanup
##########################################################################
# Checks wether DB connection is alive by pinging it periodically. #
# Reconnects if neccessary. #
# #
# Arguments: #
# None #
# #
# Returns: #
# 0: true #
##########################################################################
{
$DBH->disconnect ();
SearchEngineLog.pm view on Meta::CPAN
$l->debug ("Apache::SearchEngineLog: Unknown server: $server! Checking..");
# servers without an apropriate entry in $REGEXEN should
# leave us here..
$field = check_regexen ($server) or return 1;
if (defined $params{$field})
{
$SERVER->{$server} = $field;
check_alive_dbi ($l);
my $sth = $DBH->prepare ("INSERT INTO config (domain, field) VALUES (?, ?)");
$sth->execute ($server, $field);
$sth->finish ();
$l->info ("Apache::SearchEngineLog: Added new domain: $server");
}
}
else
{
SearchEngineLog.pm view on Meta::CPAN
my @terms = ();
foreach my $term (split (m#\s+#, $params{$field}))
{
$term =~ s#(^\W+)|(\W+$)##g;
push (@terms, $term);
}
$l->debug ("Apache::SearchEngineLog: Saving to database");
check_alive_dbi ($l) or return 1;
db_save ($server, $uri, $virtual, @terms);
return 1;
}
sub init
##########################################################################
# Initialises global variables, initiates the database connection, etc.. #
# Just what you'd expect an init routine to do.. ;) #
# #
( run in 0.528 second using v1.01-cache-2.11-cpan-df04353d9ac )