#!/usr/bin/perl -w

#$Header: /home2/cvsroot/LogTrend/Visu/LogTrendReport,v 1.7 2001/11/20 16:28:30 lsimonneau Exp $
##******************************************************************************
## Visu
##  Description  : LogTrend report tool
##  Project      : LogTrend 1.0.0.0 - Atrid Systemes
##  Author       : Sylvain Lhullier s.lhullier@atrid.fr
##******************************************************************************
#$Log: LogTrendReport,v $
#Revision 1.7  2001/11/20 16:28:30  lsimonneau
#Change use Getopt::Long for more compatibility with standard debian potato packages.
#
#Revision 1.6  2001/10/30 09:42:34  slhullier
#Report via the web: minimalist
#
#Revision 1.5  2001/10/29 15:38:22  slhullier
#Accent bug fixed?
#
#Revision 1.4  2001/10/29 14:06:02  slhullier
#Stable but non-realy working report via the web
#
#Revision 1.3  2001/10/26 06:54:54  slhullier
#Bug correction
#
#Revision 1.2  2001/10/25 14:55:23  slhullier
#Class Web attribute
#
#Revision 1.1  2001/10/25 14:27:01  slhullier
#First working version for reports
#

use strict;
use Getopt::Long;

use LogTrend::Common::LogDie;
use LogTrend::Visu::Report::ReportGenerator;
use LogTrend::Visu::Constants;

my $g_name = $0;

##******************************************************************************
## Function display_help_and_exit
##******************************************************************************
sub display_help_and_exit
{
   my $status = shift;
   print "\n",
         "Usage: $g_name --user|-u user [--output|-o outFile]\n",
         "       $g_name --help|h\n",
         "Options :\n",
         "   -u : name of the logtrend user.\n",
         "   -o : filename for outpout (default:stdout).\n",
         "\n";

   exit( $status );
}

##******************************************************************************
## Function main
##******************************************************************************
sub main
{
   my $opts = {};

   Getopt::Long::Configure("bundling", "no_ignore_case");

   GetOptions($opts, 'user|u=s', 'output|o=s', 'help|h' ) or display_help_and_exit(1);
   display_help_and_exit(0) if(exists($opts->{help}));
   display_help_and_exit(1) if(!exists($opts->{user}));

   my $user = $opts->{user};
   my $confFilename = "/etc/logtrend/Visu/report.conf"; ######

   if(exists($opts->{output}))
   {
      my $file = $opts->{output};
      open(FILE,">$file") or Die("open $file: $!");
   }

   my $rg = new LogTrend::Visu::Report::ReportGenerator( $user, $confFilename );
   my $result = $rg->run( );

   if(exists($opts->{output}))
   {
      print FILE $result;
      close FILE
   }
   else
   {
      print $result;
   }

}

##******************************************************************************
main();

