#!/usr/bin/perl
#
# Perl frontend to SquidAnalyzer.pm.
#
use strict;
use SquidAnalyzer;
use Getopt::Long;

$| = 1;

my $DEFAULT_CONFFILE = '/etc/squidanalyzer/squidanalyzer.conf';

my $logfile = '';
my $configfile = '';
my $help = '';
my $rebuild = '';

# get the command line parameters
my $result = GetOptions (
	"l|logfile=s"          => \$logfile,
	"c|configfile=s"       => \$configfile,
	"h|help"               => \$help,
	"r|rebuild!"           => \$rebuild,
);  

# Allow backward compatibility with release < 4.0
$configfile = $ARGV[0] if (($#ARGV == 0) && $ARGV[0]);
if (($#ARGV < 0) && -e $DEFAULT_CONFFILE) {
	$configfile = $DEFAULT_CONFFILE;
}

if (!$configfile || $help) {
	&usage;
	exit;
}

# Instanciate SquidAnalyzer.pm perl module
my $sa = new SquidAnalyzer($configfile, $logfile);

# Run parsing
$sa->parseFile();

# Recover month and year statistics from day stats
if ($rebuild) {
	$sa->{history_time} = '';
}

# Generate graphics and html
$sa->buildHTML();

exit(0);


sub usage
{
	print qq{
Usage: squid-analyzer [ -c squidanalyzer.conf ] [-l logfile]

    -l | --logfile filename    : path to the Squid logfile to parse.
				 By default: /var/log/squid/access.log
    -c | --configfile filename : path to the SquidAnalyzer configuration file.
				 By default: /etc/squidanalyzer.conf
    -r | --rebuild             : use this option to rebuild all html and graphs
				 output from all data files.
    -h | --help                : show this message and exit.

};

	exit 0;
}

