#!/usr/bin/perl use CGI qw(:standard); #VERSION 5.12.6 chomp($dtime=`date`); #conffile my $conffile="/etc/stats.conf"; #Get domaininfo my $userinfo="/web/sites/stats/global/domaininfo"; #Get domain, hostname and path I am called by my $cgiurl = $ENV{'SCRIPT_NAME'}; chop(my $hostname=`/bin/hostname`); #Get expected cgi values my $domain = param("domain"); my $function = param("function"); my $month = param("month"); my $day = param("day"); my $year = param("year"); my $count=param("count"); my $date=""; my @now=localtime(time); $cmonth=$now[4]+1; $cyear=$now[5]+1900; $cday=$now[3]; if (!((($month)&&($day))&&($year))){ $month=$cmonth; $day=$cday; $year=$cyear; } if (!((($cyear == $year)&&($month == $cmonth)) && ($day == $cday))){ $date="$year"; if ($month<10){ $date.="0"; } $date.="$month"; if ($day<10){ $date.="0"; } $date.="$day"; } if (!$domain){ $domain=$ENV{'HTTP_HOST'}; $domain=~s/www\.//; } #Populate domaininfo my %domaininfo=(); open(TMP,"$userinfo"); while(){ chomp; s/\s+//g; if ($_){ (my $user,my $domain,my $docroot, my $log,my $curlog,$aliases)=split(/\:/,$_); $domain=~s/www\.//; $domaininfo{$domain}{'user'}=$user; $domaininfo{$domain}{'docroot'}=$docroot; $domaininfo{$domain}{'log'}=$log; $domaininfo{$domain}{'curlog'}=$curlog; $domaininfo{$domain}{'aliases'}=$aliases; } } close TMP; my %allowedstats=(); if (-e "$conffile"){ open(my $statsfile,"$conffile"); while(<$statsfile>){ chomp; s/\#.*//; if ($_=~/\S+/){ $allowedstats{$_}=1; } } close $statsfile; } else{ %allowedstats=( "awstats" => 1,"analog" => 1,"webalizer" => 1); } %functionmap=( "Errors" => "showerrors", "Real Time Referers" => "getrefs", ); foreach (sort keys %allowedstats){ $functionmap{$_}=$_; } if ($function){ if ($functionmap{$function}){ my $tempo=$functionmap{$function}; &$tempo; } else{ &error; } } else{ print header; print <

For historical Information, Select a date: