--- awstats.pl.orig 2005-02-24 22:02:23.000000000 +0100 +++ awstats.pl 2005-11-05 16:17:33.000000000 +0100 @@ -291,6 +291,7 @@ %TrapInfosForHTTPErrorCodes %NotPageList %DayBytes %DayHits %DayPages %DayVisits %MaxNbOf %MinHit %ListOfYears %HistoryAlreadyFlushed %PosInFile %ValueInFile +%FirstMonth %val %nextval %egal %TmpDNSLookup %TmpOS %TmpRefererServer %TmpRobot %TmpBrowser %MyDNSTable /; @@ -303,6 +304,7 @@ %DayBytes = %DayHits = %DayPages = %DayVisits = (); %MaxNbOf = %MinHit = (); %ListOfYears = %HistoryAlreadyFlushed = %PosInFile = %ValueInFile = (); +%FirstMonth = (); %val = %nextval = %egal = (); %TmpDNSLookup = %TmpOS = %TmpRefererServer = %TmpRobot = %TmpBrowser = %MyDNSTable = (); use vars qw/ @@ -3357,6 +3359,7 @@ else { $HistoryAlreadyFlushed{"$year$month"}=1; } + if (! $FirstMonth{"$year"} || $FirstMonth{"$year"} gt "$month") { $FirstMonth{"$year"}="$month"; } if (! $ListOfYears{"$year"} || $ListOfYears{"$year"} lt "$month") { $ListOfYears{"$year"}="$month"; } } @@ -5166,7 +5169,7 @@ foreach my $key (sort { $menu->{$a} <=> $menu->{$b} } keys %$menu) { if ($menu->{$key}==0) { next; } if ($menulink->{$key}==1) { print ($frame?"":""); print "$menutext->{$key}"; print ($frame?"\n":"   "); } - if ($menulink->{$key}==2) { print ($frame?"   \"...\" ":""); print "$menutext->{$key}\n"; print ($frame?"\n":"   "); } + if ($menulink->{$key}==2) { print ($frame?"   \"...\" ":""); print "$menutext->{$key}\n"; print ($frame?"\n":"   "); } } print ($frame?"":"\n"); } @@ -5191,8 +5194,8 @@ $title="$Message[131]"; } else { - $title="$Message[131] ($Message[77] $MaxNbOf{'EMailsShown'})   -   $Message[80]"; - if ($ShowEMailSenders =~ /L/i) { $title.="   -   $Message[9]"; } + $title="$Message[131] ($Message[77] $MaxNbOf{'EMailsShown'})   -   $Message[80]"; + if ($ShowEMailSenders =~ /L/i) { $title.="   -   $Message[9]"; } } &tab_head("$title",19,0,'emailsenders'); print "$Message[131] : ".(scalar keys %_emails_h).""; @@ -5264,8 +5267,8 @@ $title="$Message[132]"; } else { - $title="$Message[132] ($Message[77] $MaxNbOf{'EMailsShown'})   -   $Message[80]"; - if ($ShowEMailReceivers =~ /L/i) { $title.="   -   $Message[9]"; } + $title="$Message[132] ($Message[77] $MaxNbOf{'EMailsShown'})   -   $Message[80]"; + if ($ShowEMailReceivers =~ /L/i) { $title.="   -   $Message[9]"; } } &tab_head("$title",19,0,'emailreceivers'); print "$Message[132] : ".(scalar keys %_emailr_h).""; @@ -5389,7 +5392,7 @@ # No update but report by default when run from a browser $UpdateStats=($QueryString=~/update=1/i?1:0); - if ($QueryString =~ /config=([^&]+)/i) { $SiteConfig=&DecodeEncodedString("$1"); } + if ($QueryString =~ /config=([^&]+)/i) { $SiteConfig=&Sanitize(&DecodeEncodedString("$1")); } if ($QueryString =~ /diricons=([^&]+)/i) { $DirIcons=&DecodeEncodedString("$1"); } if ($QueryString =~ /pluginmode=([^&]+)/i) { $PluginMode=&Sanitize(&DecodeEncodedString("$1"),1); } if ($QueryString =~ /configdir=([^&]+)/i) { $DirConfig=&Sanitize(&DecodeEncodedString("$1")); } @@ -5438,7 +5441,7 @@ # Update with no report by default when run from command line $UpdateStats=1; - if ($QueryString =~ /config=([^&]+)/i) { $SiteConfig="$1"; } + if ($QueryString =~ /config=([^&]+)/i) { $SiteConfig=&Sanitize("$1"); } if ($QueryString =~ /diricons=([^&]+)/i) { $DirIcons="$1"; } if ($QueryString =~ /pluginmode=([^&]+)/i) { $PluginMode=&Sanitize("$1",1); } if ($QueryString =~ /configdir=([^&]+)/i) { $DirConfig=&Sanitize("$1"); } @@ -5464,8 +5467,8 @@ if ($QueryString =~ /showunknownorigin/i) { $ShowUnknownOrigin=1; $QueryString=~s/showunknownorigin[^&]*//i; } } -if ($QueryString =~ /(^|&)staticlinks/i) { $StaticLinks=".$SiteConfig"; } -if ($QueryString =~ /(^|&)staticlinks=([^&]+)/i) { $StaticLinks=".$2"; } # When ran from awstatsbuildstaticpages.pl +if ($QueryString =~ /(^|&)staticlinks/i) { $StaticLinks="-"; } +if ($QueryString =~ /(^|&)staticlinks=([^&]+)/i) { $StaticLinks="-"; } # When ran from awstatsbuildstaticpages.pl if ($QueryString =~ /(^|&)staticlinksext=([^&]+)/i) { $StaticExt="$2"; } if ($QueryString =~ /(^|&)framename=([^&]+)/i) { $FrameName="$2"; } if ($QueryString =~ /(^|&)debug=(\d+)/i) { $Debug=$2; } @@ -5843,6 +5846,9 @@ $ListOfYears{"$2"}="$1"; # ListOfYears contains max month found if ("$2" gt $lastyearbeforeupdate) { $lastyearbeforeupdate="$2"; } } + if (! $FirstMonth{"$2"} || "$1" lt $ListOfYears{"$2"}) { + $FirstMonth{"$2"}="$1"; + } } close DIR; @@ -7343,7 +7349,61 @@ $NewLinkParams =~ tr/&/&/s; $NewLinkParams =~ s/^&//; $NewLinkParams =~ s/&$//; my $NewLinkTarget=''; if ($FrameName eq 'mainright') { $NewLinkTarget=" target=\"_parent\""; } - print "
\n"; + + +print "\n +EOF + + + print "\n"; } if ($QueryString !~ /buildpdf/i) { @@ -7419,21 +7479,23 @@ # Print selected period of analysis (month and year required) print "$Message[133]:"; print ""; - if ($ENV{'GATEWAY_INTERFACE'} || !$StaticLinks) { + if ($ENV{'GATEWAY_INTERFACE'} || $StaticLinks) { print "\n"; - print "\n"; # Add YearRequired in list if not in ListOfYears $ListOfYears{$YearRequired}||=$MonthRequired; foreach (sort keys %ListOfYears) { print "$_\n"; } print "\n"; - print "\n"; - if ($SiteConfig) { print "\n"; } - if ($DirConfig) { print "\n"; } + #print "\n"; + #if ($SiteConfig) { print "\n"; } + #if ($DirConfig) { print "\n"; } if ($QueryString =~ /lang=(\w+)/i) { print "\n"; } if ($QueryString =~ /debug=(\d+)/i) { print "\n"; } if ($FrameName eq 'mainright') { print "\n"; } @@ -7506,15 +7568,15 @@ if ($ShowSessionsStats) { print ($frame?"":""); print "$Message[117]"; print ($frame?"\n":"   "); } if ($ShowFileTypesStats) { print ($frame?"":""); print "$Message[73]"; print ($frame?"\n":"   "); } if ($ShowPagesStats) { print ($frame?"":""); print "$Message[29]\n"; print ($frame?"\n":"   "); } - if ($ShowPagesStats) { print ($frame?"   \"...\" ":""); print "$Message[80]\n"; print ($frame?"\n":"   "); } - if ($ShowPagesStats =~ /E/i) { print ($frame?"   \"...\" ":""); print "$Message[104]\n"; print ($frame?"\n":"   "); } - if ($ShowPagesStats =~ /X/i) { print ($frame?"   \"...\" ":""); print "$Message[116]\n"; print ($frame?"\n":"   "); } + if ($ShowPagesStats) { print ($frame?"   \"...\" ":""); print "$Message[80]\n"; print ($frame?"\n":"   "); } + if ($ShowPagesStats =~ /E/i) { print ($frame?"   \"...\" ":""); print "$Message[104]\n"; print ($frame?"\n":"   "); } + if ($ShowPagesStats =~ /X/i) { print ($frame?"   \"...\" ":""); print "$Message[116]\n"; print ($frame?"\n":"   "); } if ($ShowOSStats) { print ($frame?"":""); print "$Message[59]"; print ($frame?"\n":"   "); } - if ($ShowOSStats) { print ($frame?"   \"...\" ":""); print "$Message[58]\n"; print ($frame?"\n":"   "); } - if ($ShowOSStats) { print ($frame?"   \"...\" ":""); print "$Message[0]\n"; print ($frame?"\n":"   "); } + if ($ShowOSStats) { print ($frame?"   \"...\" ":""); print "$Message[58]\n"; print ($frame?"\n":"   "); } + if ($ShowOSStats) { print ($frame?"   \"...\" ":""); print "$Message[0]\n"; print ($frame?"\n":"   "); } if ($ShowBrowsersStats) { print ($frame?"":""); print "$Message[21]"; print ($frame?"\n":"   "); } - if ($ShowBrowsersStats) { print ($frame?"   \"...\" ":""); print "$Message[58]\n"; print ($frame?"\n":"   "); } - if ($ShowBrowsersStats) { print ($frame?"   \"...\" ":""); print "$Message[0]\n"; print ($frame?"\n":"   "); } + if ($ShowBrowsersStats) { print ($frame?"   \"...\" ":""); print "$Message[58]\n"; print ($frame?"\n":"   "); } + if ($ShowBrowsersStats) { print ($frame?"   \"...\" ":""); print "$Message[0]\n"; print ($frame?"\n":"   "); } if ($ShowScreenSizeStats) { print ($frame?"":""); print "$Message[135]"; print ($frame?"\n":"   "); } if ($linetitle) { print ($frame?"":"\n"); } # Referers @@ -7560,7 +7622,7 @@ $NewLinkParams =~ s/(^|&)refererpagesfilter=[^&]*//i; $NewLinkParams =~ tr/&/&/s; $NewLinkParams =~ s/&$//; if (! $DetailedReportsOnNewWindows || $FrameName eq 'mainright' || $QueryString =~ /buildpdf/i) { - print "$Message[76]\n"; + print "$Message[76]\n"; } else { print "$Message[118]\n"; @@ -9200,7 +9262,7 @@ if ($ShowDomainsStats) { if ($Debug) { debug("ShowDomainsStats",2); } print "$Center 
\n"; - my $title="$Message[25] ($Message[77] $MaxNbOf{'Domain'})   -   $Message[80]"; + my $title="$Message[25] ($Message[77] $MaxNbOf{'Domain'})   -   $Message[80]"; &tab_head("$title",19,0,'countries'); print " $Message[17]"; if ($ShowDomainsStats =~ /P/i) { print "$Message[56]"; } @@ -9261,7 +9323,7 @@ if ($ShowHostsStats) { if ($Debug) { debug("ShowHostsStats",2); } print "$Center 
\n"; - my $title="$Message[81] ($Message[77] $MaxNbOf{'HostsShown'})   -   $Message[80]   -   $Message[9]   -   $Message[45]"; + my $title="$Message[81] ($Message[77] $MaxNbOf{'HostsShown'})   -   $Message[80]   -   $Message[9]   -   $Message[45]"; &tab_head("$title",19,0,'visitors'); print ""; print ""; @@ -9323,8 +9385,8 @@ if ($ShowAuthenticatedUsers) { if ($Debug) { debug("ShowAuthenticatedUsers",2); } print "$Center 
\n"; - my $title="$Message[94] ($Message[77] $MaxNbOf{'LoginShown'})   -   $Message[80]"; - if ($ShowAuthenticatedUsers =~ /L/i) { $title.="   -   $Message[9]"; } + my $title="$Message[94] ($Message[77] $MaxNbOf{'LoginShown'})   -   $Message[80]"; + if ($ShowAuthenticatedUsers =~ /L/i) { $title.="   -   $Message[9]"; } &tab_head("$title",19,0,'logins'); print "$Message[94] : ".(scalar keys %_login_h).""; &ShowUserInfo('__title__'); @@ -9375,7 +9437,7 @@ if ($ShowRobotsStats) { if ($Debug) { debug("ShowRobotStats",2); } print "$Center 
\n"; - &tab_head("$Message[53] ($Message[77] $MaxNbOf{'RobotShown'})   -   $Message[80]   -   $Message[9]",19,0,'robots'); + &tab_head("$Message[53] ($Message[77] $MaxNbOf{'RobotShown'})   -   $Message[80]   -   $Message[9]",19,0,'robots'); print "".(scalar keys %_robot_h)." $Message[51]*"; if ($ShowRobotsStats =~ /H/i) { print "$Message[57]"; } if ($ShowRobotsStats =~ /B/i) { print "$Message[75]"; } @@ -9580,9 +9642,9 @@ if ($ShowPagesStats) { if ($Debug) { debug("ShowPagesStats (MaxNbOf{'PageShown'}=$MaxNbOf{'PageShown'} TotalDifferentPages=$TotalDifferentPages)",2); } print "$Center   
\n"; - my $title="$Message[19] ($Message[77] $MaxNbOf{'PageShown'})   -   $Message[80]"; - if ($ShowPagesStats =~ /E/i) { $title.="   -   $Message[104]"; } - if ($ShowPagesStats =~ /X/i) { $title.="   -   $Message[116]"; } + my $title="$Message[19] ($Message[77] $MaxNbOf{'PageShown'})   -   $Message[80]"; + if ($ShowPagesStats =~ /E/i) { $title.="   -   $Message[104]"; } + if ($ShowPagesStats =~ /X/i) { $title.="   -   $Message[116]"; } &tab_head("$title",19,0,'urls'); print "$TotalDifferentPages $Message[28]"; if ($ShowPagesStats =~ /P/i && $LogType ne 'F') { print "$Message[29]"; } @@ -9672,7 +9734,7 @@ foreach my $family (@OSFamily) { if ($key =~ /^$family/i) { $new_os_h{"${family}cumul"}+=$_os_h{$key}; next OSLOOP; } } $new_os_h{$key}+=$_os_h{$key}; } - my $title="$Message[59] ($Message[77] $MaxNbOf{'OsShown'})   -   $Message[80]/$Message[58]   -   $Message[0]"; + my $title="$Message[59] ($Message[77] $MaxNbOf{'OsShown'})   -   $Message[80]/$Message[58]   -   $Message[0]"; &tab_head("$title",19,0,'os'); print " $Message[59]$Message[57]$Message[15]\n"; $total_h=0; @@ -9720,7 +9782,7 @@ foreach my $family (keys %BrowsersFamily) { if ($key =~ /^$family/i) { $new_browser_h{"${family}cumul"}+=$_browser_h{$key}; next BROWSERLOOP; } } $new_browser_h{$key}+=$_browser_h{$key}; } - my $title="$Message[21] ($Message[77] $MaxNbOf{'BrowsersShown'})   -   $Message[80]/$Message[58]   -   $Message[0]"; + my $title="$Message[21] ($Message[77] $MaxNbOf{'BrowsersShown'})   -   $Message[80]/$Message[58]   -   $Message[0]"; &tab_head("$title",19,0,'browsers'); print " $Message[21]$Message[111]$Message[57]$Message[15]\n"; $total_h=0; @@ -9838,7 +9900,7 @@ if ($ShowOriginStats =~ /H/i) { print "".($_from_h[5]?$_from_h[5]:" ")."".($_from_h[5]?"$p_h[5] %":" ").""; } print "\n"; #------- Referrals by search engines - print "$Message[40] - $Message[80]
\n"; + print "$Message[40] - $Message[80]
\n"; if (scalar keys %_se_referrals_h) { print "\n"; $total_p=0; $total_h=0; @@ -9870,7 +9932,7 @@ if ($ShowOriginStats =~ /H/i) { print ""; } print "\n"; #------- Referrals by external HTML link - print "
".($_from_h[2]?$_from_h[2]:" ")."".($_from_h[2]?"$p_h[2] %":" ")."
$Message[41] - $Message[80]
\n"; + print "
$Message[41] - $Message[80]
\n"; if (scalar keys %_pagesrefs_h) { print "\n"; $total_p=0; $total_h=0; @@ -9929,7 +9991,7 @@ # By Keyphrases if ($ShowKeyphrasesStats && $ShowKeywordsStats) { print "\n"; $total_s=0; my $count=0; @@ -9961,7 +10023,7 @@ # By Keywords if ($ShowKeyphrasesStats && $ShowKeywordsStats) { print "\n"; $total_s=0; my $count=0; @@ -10048,7 +10110,7 @@ foreach my $key (@keylist) { my $p=int($_errors_h{$key}/$TotalHitsErrors*1000)/10; print ""; - if ($TrapInfosForHTTPErrorCodes{$key}) { print ""; } + if ($TrapInfosForHTTPErrorCodes{$key}) { print ""; } else { print ""; } print ""; print "\n";
\n"; } if ($Debug) { debug("ShowKeyphrasesStats",2); } - &tab_head("$Message[120] ($Message[77] $MaxNbOf{'KeyphrasesShown'})
$Message[80]",19,($ShowKeyphrasesStats && $ShowKeywordsStats)?95:70,'keyphrases'); + &tab_head("$Message[120] ($Message[77] $MaxNbOf{'KeyphrasesShown'})
$Message[80]",19,($ShowKeyphrasesStats && $ShowKeywordsStats)?95:70,'keyphrases'); print "
$TotalDifferentKeyphrases $Message[103]$Message[14]$Message[15]
\n"; } if ($Debug) { debug("ShowKeywordsStats",2); } - &tab_head("$Message[121] ($Message[77] $MaxNbOf{'KeywordsShown'})
$Message[80]",19,($ShowKeyphrasesStats && $ShowKeywordsStats)?95:70,'keywords'); + &tab_head("$Message[121] ($Message[77] $MaxNbOf{'KeywordsShown'})
$Message[80]",19,($ShowKeyphrasesStats && $ShowKeywordsStats)?95:70,'keywords'); print "
$TotalDifferentKeywords $Message[13]$Message[14]$Message[15]
$key$key$key".($httpcodelib{$key}?$httpcodelib{$key}:'Unknown error')."$_errors_h{$key}$p %".Format_Bytes($_errors_k{$key})."