--- awstats.pl Sun Dec 25 23:31:49 2005 +++ awstats.pl Sun Jan 01 18:25:09 2006 @@ -7531,18 +7531,15 @@ # Lecture des fichiers history if ($DatabaseBreak eq 'month') { for (my $ix=12; $ix>=1; $ix--) { - my $stringforload=''; my $monthix=sprintf("%02s",$ix); if ($MonthRequired eq 'all' || $monthix eq $MonthRequired) { - $stringforload='all'; # Read full history file + &Read_History_With_TmpUpdate($YearRequired,$monthix,'','',0,0,"all"); # Read full history file + &Read_History_With_TmpUpdate($YearRequired-1,$monthix,'','',0,0,"general time"); # Read general and time sections. } elsif (($HTMLOutput{'main'} && $ShowMonthStats) || $HTMLOutput{'alldays'}) { - $stringforload='general time'; # Read general and time sections. - } - if ($stringforload) { - # On charge fichier - &Read_History_With_TmpUpdate($YearRequired,$monthix,'','',0,0,$stringforload); - } + &Read_History_With_TmpUpdate($YearRequired,$monthix,'','',0,0,"general time"); # Read general and time sections. + &Read_History_With_TmpUpdate($YearRequired-1,$monthix,'','',0,0,"general time"); # Read general and time sections. + } } } if ($DatabaseBreak eq 'day') { @@ -7701,6 +7698,18 @@ print ""; } print "\n"; + + my $NewLinkParamsNoDate = $NewLinkParams; + $NewLinkParamsNoDate =~ s/(^|&|&)year=[^&]*//i; + $NewLinkParamsNoDate =~ s/(^|&|&)month=[^&]*//i; + $NewLinkParamsNoDate =~ s/(^|&|&)framename=[^&]*//i; + $NewLinkParamsNoDate =~ tr/&/&/s; $NewLinkParamsNoDate =~ s/^&//; $NewLinkParamsNoDate =~ s/&$//; + print "Current Month:"; + print ""; + print ""; + print "$MonthNumLib{$nowmonth} $nowyear"; + print ""; + print "\n"; } if ($QueryString !~ /buildpdf/i) { print "\n"; @@ -8904,6 +8913,20 @@ #--------------------------------------------------------------------- if ($ShowMonthStats) { + # set up an ordered array with all the months we care about, starting at the "Required" month and year + my @statmonths; + my $curyear = $YearRequired; + my $curmonth = $MonthRequired eq 'all' ? 12 : $MonthRequired; + for (my $ix=1; $ix<=13; $ix++) { + my $monthix=sprintf("%02s",$curmonth); + $statmonths[$ix] = {year => $curyear, month => $curmonth}; + if(--$curmonth < 1) + { + $curmonth = 12; + --$curyear; + } + } + if ($Debug) { debug("ShowMonthStats",2); } print "$Center 
\n"; my $title="$Message[162]"; @@ -8917,17 +8940,19 @@ $max_v=$max_p=$max_h=$max_k=1; # Define total and max for (my $ix=1; $ix<=12; $ix++) { - my $monthix=sprintf("%02s",$ix); - $total_u+=$MonthUnique{$YearRequired.$monthix}||0; - $total_v+=$MonthVisits{$YearRequired.$monthix}||0; - $total_p+=$MonthPages{$YearRequired.$monthix}||0; - $total_h+=$MonthHits{$YearRequired.$monthix}||0; - $total_k+=$MonthBytes{$YearRequired.$monthix}||0; - #if (($MonthUnique{$YearRequired.$monthix}||0) > $max_v) { $max_v=$MonthUnique{$YearRequired.$monthix}; } - if (($MonthVisits{$YearRequired.$monthix}||0) > $max_v) { $max_v=$MonthVisits{$YearRequired.$monthix}; } - #if (($MonthPages{$YearRequired.$monthix}||0) > $max_p) { $max_p=$MonthPages{$YearRequired.$monthix}; } - if (($MonthHits{$YearRequired.$monthix}||0) > $max_h) { $max_h=$MonthHits{$YearRequired.$monthix}; } - if (($MonthBytes{$YearRequired.$monthix}||0) > $max_k) { $max_k=$MonthBytes{$YearRequired.$monthix}; } + my $curmonth = $statmonths[$ix]->{month}; + my $curyear = $statmonths[$ix]->{year}; + my $monthix=sprintf("%02s",$curmonth); + $total_u+=$MonthUnique{$curyear.$monthix}||0; + $total_v+=$MonthVisits{$curyear.$monthix}||0; + $total_p+=$MonthPages{$curyear.$monthix}||0; + $total_h+=$MonthHits{$curyear.$monthix}||0; + $total_k+=$MonthBytes{$curyear.$monthix}||0; + #if (($MonthUnique{$curyear.$monthix}||0) > $max_v) { $max_v=$MonthUnique{$curyear.$monthix}; } + if (($MonthVisits{$curyear.$monthix}||0) > $max_v) { $max_v=$MonthVisits{$curyear.$monthix}; } + #if (($MonthPages{$curyear.$monthix}||0) > $max_p) { $max_p=$MonthPages{$curyear.$monthix}; } + if (($MonthHits{$curyear.$monthix}||0) > $max_h) { $max_h=$MonthHits{$curyear.$monthix}; } + if (($MonthBytes{$curyear.$monthix}||0) > $max_k) { $max_k=$MonthBytes{$curyear.$monthix}; } } # Define average # TODO @@ -8936,8 +8961,10 @@ if ($PluginsLoaded{'ShowGraph'}{'graphapplet'}) { my @blocklabel=(); for (my $ix=1; $ix<=12; $ix++) { - my $monthix=sprintf("%02s",$ix); - push @blocklabel,"$MonthNumLib{$monthix}\§$YearRequired"; + my $curmonth = $statmonths[$ix]->{month}; + my $curyear = $statmonths[$ix]->{year}; + my $monthix=sprintf("%02s",$curmonth); + push @blocklabel,"$MonthNumLib{$monthix}\§$curyear"; } my @vallabel=("$Message[11]","$Message[10]","$Message[56]","$Message[57]","$Message[75]"); my @valcolor=("$color_u","$color_v","$color_p","$color_h","$color_k"); @@ -8948,12 +8975,14 @@ my @valdata=(); my $xx=0; for (my $ix=1; $ix<=12; $ix++) { - my $monthix=sprintf("%02s",$ix); - $valdata[$xx++]=$MonthUnique{$YearRequired.$monthix}||0; - $valdata[$xx++]=$MonthVisits{$YearRequired.$monthix}||0; - $valdata[$xx++]=$MonthPages{$YearRequired.$monthix}||0; - $valdata[$xx++]=$MonthHits{$YearRequired.$monthix}||0; - $valdata[$xx++]=$MonthBytes{$YearRequired.$monthix}||0; + my $curmonth = $statmonths[$ix]->{month}; + my $curyear = $statmonths[$ix]->{year}; + my $monthix=sprintf("%02s",$curmonth); + $valdata[$xx++]=$MonthUnique{$curyear.$monthix}||0; + $valdata[$xx++]=$MonthVisits{$curyear.$monthix}||0; + $valdata[$xx++]=$MonthPages{$curyear.$monthix}||0; + $valdata[$xx++]=$MonthHits{$curyear.$monthix}||0; + $valdata[$xx++]=$MonthBytes{$curyear.$monthix}||0; } ShowGraph_graphapplet("$title","month",$ShowMonthStats,\@blocklabel,\@vallabel,\@valcolor,\@valmax,\@valtotal,\@valaverage,\@valdata); } @@ -8961,20 +8990,23 @@ print "\n"; print ""; print "\n"; - for (my $ix=1; $ix<=12; $ix++) { - my $monthix=sprintf("%02s",$ix); + for (my $ix=1; $ix<=13; $ix++) { + my $curmonth = ($ix != 13) ? ($statmonths[13-$ix]->{month}) : ($statmonths[13]->{month}); + my $curyear = ($ix != 13) ? ($statmonths[13-$ix]->{year}) : ($statmonths[13]->{year}); + my $monthix=sprintf("%02s",$curmonth); my $bredde_u=0; my $bredde_v=0;my $bredde_p=0;my $bredde_h=0;my $bredde_k=0; - if ($max_v > 0) { $bredde_u=int(($MonthUnique{$YearRequired.$monthix}||0)/$max_v*$BarHeight)+1; } - if ($max_v > 0) { $bredde_v=int(($MonthVisits{$YearRequired.$monthix}||0)/$max_v*$BarHeight)+1; } - if ($max_h > 0) { $bredde_p=int(($MonthPages{$YearRequired.$monthix}||0)/$max_h*$BarHeight)+1; } - if ($max_h > 0) { $bredde_h=int(($MonthHits{$YearRequired.$monthix}||0)/$max_h*$BarHeight)+1; } - if ($max_k > 0) { $bredde_k=int(($MonthBytes{$YearRequired.$monthix}||0)/$max_k*$BarHeight)+1; } + if ($max_v > 0) { $bredde_u=int(($MonthUnique{$curyear.$monthix}||0)/$max_v*$BarHeight)+1; } + if ($max_v > 0) { $bredde_v=int(($MonthVisits{$curyear.$monthix}||0)/$max_v*$BarHeight)+1; } + if ($max_h > 0) { $bredde_p=int(($MonthPages{$curyear.$monthix}||0)/$max_h*$BarHeight)+1; } + if ($max_h > 0) { $bredde_h=int(($MonthHits{$curyear.$monthix}||0)/$max_h*$BarHeight)+1; } + if ($max_k > 0) { $bredde_k=int(($MonthBytes{$curyear.$monthix}||0)/$max_k*$BarHeight)+1; } + if($ix == 13) { print "\n"; } print "\n"; } print ""; @@ -8987,19 +9019,22 @@ # else { print ""; # } - for (my $ix=1; $ix<=12; $ix++) { - my $monthix=sprintf("%02s",$ix); -# if (!$StaticLinks) { -# print ""; -# } -# else { - print ""; -# } + for (my $ix=1; $ix<=13; $ix++) { + my $curmonth = ($ix != 13) ? ($statmonths[13-$ix]->{month}) : ($statmonths[13]->{month}); + my $curyear = ($ix != 13) ? ($statmonths[13-$ix]->{year}) : ($statmonths[13]->{year}); + my $monthix=sprintf("%02s",$curmonth); +# if (!$StaticLinks) { +# print ""; +# } +# else { + if($ix == 13) { print "\n"; } + print ""; +# } } -# if (!$StaticLinks) { +# if (!$StaticLinks) { # print ""; # } # else { @@ -9020,19 +9055,28 @@ if ($ShowMonthStats =~ /H/i) { print ""; } if ($ShowMonthStats =~ /B/i) { print ""; } print "\n"; - for (my $ix=1; $ix<=12; $ix++) { - my $monthix=sprintf("%02s",$ix); + + for (my $ix=0; $ix<=12; $ix++) { + my $curmonth = ($ix != 0) ? ($statmonths[$ix]->{month}) : ($statmonths[13]->{month}); + my $curyear = ($ix != 0) ? ($statmonths[$ix]->{year}) : ($statmonths[13]->{year}); + my $monthix=sprintf("%02s",$curmonth); + my $NewLinkParamsNoDate = $NewLinkParams; + $NewLinkParamsNoDate =~ s/(^|&|&)year=[^&]*//i; + $NewLinkParamsNoDate =~ s/(^|&|&)month=[^&]*//i; + $NewLinkParamsNoDate =~ s/(^|&|&)framename=[^&]*//i; + $NewLinkParamsNoDate =~ tr/&/&/s; $NewLinkParamsNoDate =~ s/^&//; $NewLinkParamsNoDate =~ s/&$//; print ""; - print ""; - if ($ShowMonthStats =~ /U/i) { print ""; } - if ($ShowMonthStats =~ /V/i) { print ""; } - if ($ShowMonthStats =~ /P/i) { print ""; } - if ($ShowMonthStats =~ /H/i) { print ""; } - if ($ShowMonthStats =~ /B/i) { print ""; } + print ""; + if ($ShowMonthStats =~ /U/i) { print ""; } + if ($ShowMonthStats =~ /V/i) { print ""; } + if ($ShowMonthStats =~ /P/i) { print ""; } + if ($ShowMonthStats =~ /H/i) { print ""; } + if ($ShowMonthStats =~ /B/i) { print ""; } print "\n"; + if($ix == 0) { print "\n"; } } # Average row # TODO
 "; - if ($ShowMonthStats =~ /U/i) { print ""; } - if ($ShowMonthStats =~ /V/i) { print ""; } - if ($ShowMonthStats =~ /P/i) { print ""; } - if ($ShowMonthStats =~ /H/i) { print ""; } - if ($ShowMonthStats =~ /B/i) { print ""; } + if ($ShowMonthStats =~ /U/i) { print ""; } + if ($ShowMonthStats =~ /V/i) { print ""; } + if ($ShowMonthStats =~ /P/i) { print ""; } + if ($ShowMonthStats =~ /H/i) { print ""; } + if ($ShowMonthStats =~ /B/i) { print ""; } print "  $MonthNumLib{$monthix}
$YearRequired
".(! $StaticLinks && $monthix==$nowmonth && $YearRequired==$nowyear?'':''); - print "$MonthNumLib{$monthix}
$YearRequired"; - print (! $StaticLinks && $monthix==$nowmonth && $YearRequired==$nowyear?'
':''); - print "
$MonthNumLib{$monthix}
$curyear
    ".(! $StaticLinks && $monthix==$nowmonth && $curyear==$nowyear?'':''); + print "$MonthNumLib{$monthix}
$curyear"; + print (! $StaticLinks && $monthix==$nowmonth && $curyear==$nowyear?'
':''); + print "
>>$Message[57]$Message[75]
".(! $StaticLinks && $monthix==$nowmonth && $YearRequired==$nowyear?'':''); - print "$MonthNumLib{$monthix} $YearRequired"; - print (! $StaticLinks && $monthix==$nowmonth && $YearRequired==$nowyear?'':''); - print "",$MonthUnique{$YearRequired.$monthix}?$MonthUnique{$YearRequired.$monthix}:"0","",$MonthVisits{$YearRequired.$monthix}?$MonthVisits{$YearRequired.$monthix}:"0","",$MonthPages{$YearRequired.$monthix}?$MonthPages{$YearRequired.$monthix}:"0","",$MonthHits{$YearRequired.$monthix}?$MonthHits{$YearRequired.$monthix}:"0","",Format_Bytes(int($MonthBytes{$YearRequired.$monthix}||0)),"".(! $StaticLinks && $monthix==$nowmonth && $curyear==$nowyear?'':''); + print "$MonthNumLib{$monthix} $curyear"; + print (! $StaticLinks && $monthix==$nowmonth && $curyear==$nowyear?'':''); + print "",$MonthUnique{$curyear.$monthix}?$MonthUnique{$curyear.$monthix}:"0","",$MonthVisits{$curyear.$monthix}?$MonthVisits{$curyear.$monthix}:"0","",$MonthPages{$curyear.$monthix}?$MonthPages{$curyear.$monthix}:"0","",$MonthHits{$curyear.$monthix}?$MonthHits{$curyear.$monthix}:"0","",Format_Bytes(int($MonthBytes{$curyear.$monthix}||0)),"