From: eldy <> Date: Tue, 4 Nov 2003 00:53:09 +0000 (+0000) Subject: Changes to prepare graphapplet plugin. X-Git-Tag: AWSTATS_6_0_BETA~165 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=97f1837af17eec59cce0fb4e3544f36876725734;p=thirdparty%2FAWStats.git Changes to prepare graphapplet plugin. --- diff --git a/wwwroot/cgi-bin/awstats.model.conf b/wwwroot/cgi-bin/awstats.model.conf index 82f48271..4b7bcf6a 100644 --- a/wwwroot/cgi-bin/awstats.model.conf +++ b/wwwroot/cgi-bin/awstats.model.conf @@ -1,4 +1,4 @@ -# AWSTATS CONFIGURE FILE 5.7 +# AWSTATS CONFIGURE FILE 6.0 #----------------------------------------------------------------------------- # Copy this file into awstats.www.mydomain.conf and edit this new config file # to setup AWStats (See documentation in docs/ directory). @@ -755,7 +755,7 @@ LevelForFileTypesDetection=2 # 0 disables file types detection. # Possible values: 0 or 1 # Default: 0 # -UseFramesWhenCGI=0 +UseFramesWhenCGI=1 # If you prefer having the report output pages be built as XML compliant pages @@ -1198,11 +1198,11 @@ color_x="C1B2E2" # Background color for number of exit pages (Default = "C1B2 # #LoadPlugin="rawlog" -# Plugin: Graph3D +# Plugin: GraphApplet # Perl modules required: None # Supported charts are built by a nice 3D graphic applet. # -#LoadPlugin="graph3d" # !!! NOT YET AVAILABLE !!! +#LoadPlugin="graphapplet" # NOT YET AVAILABLE diff --git a/wwwroot/cgi-bin/awstats.pl b/wwwroot/cgi-bin/awstats.pl index 200c24c2..a2562035 100644 --- a/wwwroot/cgi-bin/awstats.pl +++ b/wwwroot/cgi-bin/awstats.pl @@ -131,7 +131,7 @@ $ShowDropped $ShowCorrupted $ShowUnknownOrigin $ShowLinksToWhoIs $ShowEMailSenders $ShowEMailReceivers $ShowClusterStats $AuthenticatedUsersNotCaseSensitive $Expires $UpdateStats $MigrateStats $URLNotCaseSensitive $URLWithQuery $URLReferrerWithQuery -$UseFramesWhenCGI $UseXMLForOutput $DecodeUA +$UseXMLForOutput $DecodeUA /; ($EnableLockForUpdate, $DNSLookup, $AllowAccessFromWebToAuthenticatedUsersOnly, $BarHeight, $BarWidth, $CreateDirDataIfNotExists, $KeepBackupOfHistoricFiles, @@ -142,13 +142,13 @@ $ShowDropped, $ShowCorrupted, $ShowUnknownOrigin, $ShowLinksToWhoIs, $ShowEMailSenders, $ShowEMailReceivers, $ShowClusterStats, $AuthenticatedUsersNotCaseSensitive, $Expires, $UpdateStats, $MigrateStats, $URLNotCaseSensitive, $URLWithQuery, $URLReferrerWithQuery, -$UseFramesWhenCGI, $UseXMLForOutput, $DecodeUA)= -(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); +$UseXMLForOutput, $DecodeUA)= +(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); use vars qw/ $AllowToUpdateStatsFromBrowser $ArchiveLogRecords $DetailedReportsOnNewWindows $FirstDayOfWeek $KeyWordsNotSensitive $SaveDatabaseFilesWithPermissionsForEveryone -$WarningMessages $DebugMessages $ShowLinksOnUrl +$WarningMessages $DebugMessages $ShowLinksOnUrl $UseFramesWhenCGI $ShowMenu $ShowMonthStats $ShowDaysOfMonthStats $ShowDaysOfWeekStats $ShowHoursStats $ShowDomainsStats $ShowHostsStats $ShowRobotsStats $ShowWormsStats $ShowSessionsStats $ShowPagesStats $ShowFileTypesStats @@ -159,7 +159,7 @@ $AddDataArrayMonthStats $AddDataArrayShowDaysOfMonthStats $AddDataArrayShowDaysO ($AllowToUpdateStatsFromBrowser, $ArchiveLogRecords, $DetailedReportsOnNewWindows, $FirstDayOfWeek, $KeyWordsNotSensitive, $SaveDatabaseFilesWithPermissionsForEveryone, -$WarningMessages, $DebugMessages, $ShowLinksOnUrl, +$WarningMessages, $DebugMessages, $ShowLinksOnUrl, $UseFramesWhenCGI, $ShowMenu, $ShowMonthStats, $ShowDaysOfMonthStats, $ShowDaysOfWeekStats, $ShowHoursStats, $ShowDomainsStats, $ShowHostsStats, $ShowRobotsStats, $ShowWormsStats, $ShowSessionsStats, $ShowPagesStats, $ShowFileTypesStats, @@ -167,7 +167,7 @@ $ShowOSStats, $ShowBrowsersStats, $ShowOriginStats, $ShowKeyphrasesStats, $ShowKeywordsStats, $ShowMiscStats, $ShowHTTPErrorsStats, $AddDataArrayMonthStats, $AddDataArrayShowDaysOfMonthStats, $AddDataArrayShowDaysOfWeekStats, $AddDataArrayShowHoursStats )= -(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1); +(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1); use vars qw/ $AllowFullYearView $LevelForRobotsDetection $LevelForBrowsersDetection $LevelForOSDetection $LevelForRefererAnalyze @@ -588,7 +588,7 @@ sub html_end { my $atleastoneplugin=0; foreach my $pluginname (keys %{$PluginsLoaded{'init'}}) { if (! $atleastoneplugin) { $atleastoneplugin=1; print " (with plugin "; } - else { print ","; } + else { print ", "; } print "$pluginname"; } if ($atleastoneplugin) { print ")"; } @@ -1509,7 +1509,7 @@ sub Check_Config { if (! $MinHit{$minhitlist[$i]} || $MinHit{$minhitlist[$i]} !~ /^\d+$/ || $MinHit{$minhitlist[$i]}<1) { $MinHit{$minhitlist[$i]}=$minhitlistdefaultval[$i]; } } if ($FirstDayOfWeek !~ /[01]/) { $FirstDayOfWeek=1; } - if ($UseFramesWhenCGI !~ /[01]/) { $UseFramesWhenCGI=0; } + if ($UseFramesWhenCGI !~ /[01]/) { $UseFramesWhenCGI=1; } if ($UseXMLForOutput !~ /[01]/) { $UseXMLForOutput=0; } if ($DetailedReportsOnNewWindows !~ /[012]/) { $DetailedReportsOnNewWindows=1; } if ($ShowLinksOnUrl !~ /[01]/) { $ShowLinksOnUrl=1; } @@ -8046,8 +8046,8 @@ if (scalar keys %HTMLOutput) { $average_nb=$average_u=$average_v=$average_p=$average_h=$average_k=0; $total_u=$total_v=$total_p=$total_h=$total_k=0; - print "
"; - print ""; + print "
\n"; + $max_v=$max_p=$max_h=$max_k=1; # Define total and max for (my $ix=1; $ix<=12; $ix++) { @@ -8065,53 +8065,80 @@ if (scalar keys %HTMLOutput) { } # Define average # TODO + # Show bars for month - print "
"; - print "\n"; - for (my $ix=1; $ix<=12; $ix++) { - my $monthix=sprintf("%02s",$ix); - 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; } - print "\n"; + if ($PluginsLoaded{'ShowGraph'}{'graphapplet'}) { + my @blocklabel=(); + for (my $ix=1; $ix<=12; $ix++) { + my $monthix=sprintf("%02s",$ix); + push @blocklabel,"$MonthNumLib{$monthix}§$YearRequired"; + } + my @vallabel=("$Message[11]","$Message[10]","$Message[56]","$Message[57]","$Message[75]"); + my @valcolor=("$color_u","$color_v","$color_p","$color_h","$color_k"); + my @valmax=($max_v,$max_v,$max_h,$max_h,$max_k); + my @valtotal=($total_u,$total_v,$total_p,$total_h,$total_k); + 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; + } + ShowGraph_graphapplet("$title","month",$ShowMonthStats,\@blocklabel,\@vallabel,\@valcolor,\@valmax,\@valtotal,\@valdata); } - print ""; - print "\n"; - # Show lib for month - print ""; -# if ($ENV{'GATEWAY_INTERFACE'} || !$StaticLinks) { -# print ""; -# } -# else { + else { + print "
 "; - if ($ShowMonthStats =~ /U/i) { print ""; } - if ($ShowMonthStats =~ /V/i) { print ""; } - if ($QueryString !~ /buildpdf/i) { print " "; } - if ($ShowMonthStats =~ /P/i) { print ""; } - if ($ShowMonthStats =~ /H/i) { print ""; } - if ($ShowMonthStats =~ /B/i) { print ""; } - print " 
<<
\n"; + print ""; + print "\n"; + for (my $ix=1; $ix<=12; $ix++) { + my $monthix=sprintf("%02s",$ix); + 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; } + print "\n"; + } print ""; -# } - for (my $ix=1; $ix<=12; $ix++) { - my $monthix=sprintf("%02s",$ix); + print "\n"; + # Show lib for month + print ""; +# if ($ENV{'GATEWAY_INTERFACE'} || !$StaticLinks) { +# print ""; +# } +# else { + print ""; +# } + for (my $ix=1; $ix<=12; $ix++) { + my $monthix=sprintf("%02s",$ix); +# if ($ENV{'GATEWAY_INTERFACE'} || !$StaticLinks) { +# print ""; +# } +# else { + print ""; +# } + } # if ($ENV{'GATEWAY_INTERFACE'} || !$StaticLinks) { -# print ""; +# print ""; # } # else { - print ""; + print ""; # } + print "\n"; + print "
 "; + if ($ShowMonthStats =~ /U/i) { print ""; } + if ($ShowMonthStats =~ /V/i) { print ""; } + if ($QueryString !~ /buildpdf/i) { print " "; } + if ($ShowMonthStats =~ /P/i) { print ""; } + if ($ShowMonthStats =~ /H/i) { print ""; } + if ($ShowMonthStats =~ /B/i) { print ""; } + print " 
<< $MonthNumLib{$monthix}
$YearRequired
$MonthNumLib{$monthix}
$YearRequired
$MonthNumLib{$monthix}
$YearRequired
>>$MonthNumLib{$monthix}
$YearRequired
 
\n"; } -# if ($ENV{'GATEWAY_INTERFACE'} || !$StaticLinks) { -# print ">>"; -# } -# else { - print " "; -# } - print "\n"; - print "\n
\n"; + print "
\n"; # Show data array for month if ($AddDataArrayMonthStats) { @@ -8162,9 +8189,9 @@ if (scalar keys %HTMLOutput) { my $title="$Message[138]"; &tab_head("$title",0,0,'daysofmonth'); print ""; - print "
"; - print "\n"; - + print "\n"; + if ($PluginsLoaded{'ShowGraph'}{'graphapplet'}) { + my @blocklabel=(); + foreach my $daycursor ($firstdaytoshowtime..$lastdaytoshowtime) { + $daycursor =~ /^(\d\d\d\d)(\d\d)(\d\d)/; + my $year=$1; my $month=$2; my $day=$3; + if (! DateIsValid($day,$month,$year)) { next; } # If not an existing day, go to next + push @blocklabel,"$day§$MonthNumLib{$month}"; + } + my @vallabel=("$Message[10]","$Message[56]","$Message[57]","$Message[75]"); + my @valcolor=("$color_v","$color_p","$color_h","$color_k"); + my @valmax=($max_v,$max_h,$max_h,$max_k); + my @valtotal=($total_v,$total_p,$total_h,$total_k); + my @valdata=(); + my $xx=0; + foreach my $daycursor ($firstdaytoshowtime..$lastdaytoshowtime) { + $daycursor =~ /^(\d\d\d\d)(\d\d)(\d\d)/; + my $year=$1; my $month=$2; my $day=$3; + if (! DateIsValid($day,$month,$year)) { next; } # If not an existing day, go to next + $valdata[$xx++]=$DayVisits{$year.$month.$day}||0; + $valdata[$xx++]=$DayPages{$year.$month.$day}||0; + $valdata[$xx++]=$DayHits{$year.$month.$day}||0; + $valdata[$xx++]=$DayBytes{$year.$month.$day}||0; + } + ShowGraph_graphapplet("$title","daysofmonth",$ShowMonthStats,\@blocklabel,\@vallabel,\@valcolor,\@valmax,\@valtotal,\@valdata); } - print ""; - # Show average value cell - print "\n"; - print "\n"; - # Show lib for day - print ""; - foreach my $daycursor ($firstdaytoshowtime..$lastdaytoshowtime) { - $daycursor =~ /^(\d\d\d\d)(\d\d)(\d\d)/; - my $year=$1; my $month=$2; my $day=$3; - if (! DateIsValid($day,$month,$year)) { next; } # If not an existing day, go to next - my $dayofweekcursor=DayOfWeek($day,$month,$year); - print ""; - print ($day==$nowday && $month==$nowmonth && $year==$nowyear?'':''); - print "$day
".$MonthNumLib{$month}.""; - print ($day==$nowday && $month==$nowmonth && $year==$nowyear?'
':''); + else { + print "
\n"; + print "
\n"; + my $NewLinkParams=${QueryString}; $NewLinkParams =~ s/(^|&)update(=\w*|$)//i; $NewLinkParams =~ s/(^|&)staticlinks(=\w*|$)//i; @@ -8220,59 +8247,89 @@ if (scalar keys %HTMLOutput) { $average_h="?"; $average_k="?"; } + # Show bars for day - foreach my $daycursor ($firstdaytoshowtime..$lastdaytoshowtime) { - $daycursor =~ /^(\d\d\d\d)(\d\d)(\d\d)/; - my $year=$1; my $month=$2; my $day=$3; - if (! DateIsValid($day,$month,$year)) { next; } # If not an existing day, go to next - my $bredde_v=0; my $bredde_p=0; my $bredde_h=0; my $bredde_k=0; - if ($max_v > 0) { $bredde_v=int(($DayVisits{$year.$month.$day}||0)/$max_v*$BarHeight)+1; } - if ($max_h > 0) { $bredde_p=int(($DayPages{$year.$month.$day}||0)/$max_h*$BarHeight)+1; } - if ($max_h > 0) { $bredde_h=int(($DayHits{$year.$month.$day}||0)/$max_h*$BarHeight)+1; } - if ($max_k > 0) { $bredde_k=int(($DayBytes{$year.$month.$day}||0)/$max_k*$BarHeight)+1; } - print "
"; - if ($ShowDaysOfMonthStats =~ /V/i) { print ""; } - if ($ShowDaysOfMonthStats =~ /P/i) { print ""; } - if ($ShowDaysOfMonthStats =~ /H/i) { print ""; } - if ($ShowDaysOfMonthStats =~ /B/i) { print ""; } - print " "; - my $bredde_v=0; my $bredde_p=0; my $bredde_h=0; my $bredde_k=0; - if ($max_v > 0) { $bredde_v=int($average_v/$max_v*$BarHeight)+1; } - if ($max_h > 0) { $bredde_p=int($average_p/$max_h*$BarHeight)+1; } - if ($max_h > 0) { $bredde_h=int($average_h/$max_h*$BarHeight)+1; } - if ($max_k > 0) { $bredde_k=int($average_k/$max_k*$BarHeight)+1; } - $average_v=sprintf("%.2f",$average_v); - $average_p=sprintf("%.2f",$average_p); - $average_h=sprintf("%.2f",$average_h); - $average_k=(int($average_k)?Format_Bytes(sprintf("%.2f",$average_k)):"0.00"); - if ($ShowDaysOfMonthStats =~ /V/i) { print ""; } - if ($ShowDaysOfMonthStats =~ /P/i) { print ""; } - if ($ShowDaysOfMonthStats =~ /H/i) { print ""; } - if ($ShowDaysOfMonthStats =~ /B/i) { print ""; } - print "
\n"; + print "\n"; + foreach my $daycursor ($firstdaytoshowtime..$lastdaytoshowtime) { + $daycursor =~ /^(\d\d\d\d)(\d\d)(\d\d)/; + my $year=$1; my $month=$2; my $day=$3; + if (! DateIsValid($day,$month,$year)) { next; } # If not an existing day, go to next + my $bredde_v=0; my $bredde_p=0; my $bredde_h=0; my $bredde_k=0; + if ($max_v > 0) { $bredde_v=int(($DayVisits{$year.$month.$day}||0)/$max_v*$BarHeight)+1; } + if ($max_h > 0) { $bredde_p=int(($DayPages{$year.$month.$day}||0)/$max_h*$BarHeight)+1; } + if ($max_h > 0) { $bredde_h=int(($DayHits{$year.$month.$day}||0)/$max_h*$BarHeight)+1; } + if ($max_k > 0) { $bredde_k=int(($DayBytes{$year.$month.$day}||0)/$max_k*$BarHeight)+1; } + print "\n"; + } + print ""; + # Show average value cell + print "\n"; + print "\n"; + # Show lib for day + print ""; + foreach my $daycursor ($firstdaytoshowtime..$lastdaytoshowtime) { + $daycursor =~ /^(\d\d\d\d)(\d\d)(\d\d)/; + my $year=$1; my $month=$2; my $day=$3; + if (! DateIsValid($day,$month,$year)) { next; } # If not an existing day, go to next + my $dayofweekcursor=DayOfWeek($day,$month,$year); + print ""; + print ($day==$nowday && $month==$nowmonth && $year==$nowyear?'':''); + print "$day
".$MonthNumLib{$month}.""; + print ($day==$nowday && $month==$nowmonth && $year==$nowyear?'
':''); + print "\n"; + } + print "
"; + print "\n"; + print "\n"; + print "
"; + if ($ShowDaysOfMonthStats =~ /V/i) { print ""; } + if ($ShowDaysOfMonthStats =~ /P/i) { print ""; } + if ($ShowDaysOfMonthStats =~ /H/i) { print ""; } + if ($ShowDaysOfMonthStats =~ /B/i) { print ""; } + print " "; + my $bredde_v=0; my $bredde_p=0; my $bredde_h=0; my $bredde_k=0; + if ($max_v > 0) { $bredde_v=int($average_v/$max_v*$BarHeight)+1; } + if ($max_h > 0) { $bredde_p=int($average_p/$max_h*$BarHeight)+1; } + if ($max_h > 0) { $bredde_h=int($average_h/$max_h*$BarHeight)+1; } + if ($max_k > 0) { $bredde_k=int($average_k/$max_k*$BarHeight)+1; } + $average_v=sprintf("%.2f",$average_v); + $average_p=sprintf("%.2f",$average_p); + $average_h=sprintf("%.2f",$average_h); + $average_k=(int($average_k)?Format_Bytes(sprintf("%.2f",$average_k)):"0.00"); + if ($ShowDaysOfMonthStats =~ /V/i) { print ""; } + if ($ShowDaysOfMonthStats =~ /P/i) { print ""; } + if ($ShowDaysOfMonthStats =~ /H/i) { print ""; } + if ($ShowDaysOfMonthStats =~ /B/i) { print ""; } print "
 $Message[96]
\n"; } - print " "; - print "$Message[96]\n"; - - print "\n"; - print "\n
\n"; + print "
\n"; # Show data array for days if ($AddDataArrayShowDaysOfMonthStats) { @@ -8324,8 +8381,9 @@ if (scalar keys %HTMLOutput) { print "$Center 
\n"; &tab_head("$Message[91]",18,0,'daysofweek'); print ""; - print "
"; - print "\n"; + print "
"; + print "
\n"; + $max_h=$max_k=0; # Start from 0 because can be lower than 1 # Get average value for day of week my @avg_dayofweek_nb = my @avg_dayofweek_p = my @avg_dayofweek_h = my @avg_dayofweek_k = (); @@ -8354,6 +8412,10 @@ if (scalar keys %HTMLOutput) { $avg_dayofweek_k[$_]="?"; } } + + # Show bars for days of week + print "\n"; + print "\n"; for (@DOWIndex) { my $bredde_p=0; my $bredde_h=0; my $bredde_k=0; if ($max_h > 0) { $bredde_p=int($avg_dayofweek_p[$_]/$max_h*$BarHeight)+1; } @@ -8410,13 +8472,18 @@ if (scalar keys %HTMLOutput) { my $title="$Message[20]"; if ($PluginsLoaded{'GetTimeZoneTitle'}{'timezone'}) { $title.=" (GMT ".(GetTimeZoneTitle_timezone()>=0?"+":"").int(GetTimeZoneTitle_timezone()).")"; } &tab_head("$title",19,0,'hours'); - print "
\n"; + print "
\n"; + print "
\n"; + $max_h=$max_k=1; for (my $ix=0; $ix<=23; $ix++) { #if ($_time_p[$ix]>$max_p) { $max_p=$_time_p[$ix]; } if ($_time_h[$ix]>$max_h) { $max_h=$_time_h[$ix]; } if ($_time_k[$ix]>$max_k) { $max_k=$_time_k[$ix]; } } + + # Show bars for hour + print "\n"; print "\n"; for (my $ix=0; $ix<=23; $ix++) { my $bredde_p=0;my $bredde_h=0;my $bredde_k=0; @@ -8445,7 +8512,6 @@ if (scalar keys %HTMLOutput) { print "\n"; } print "\n"; - print "
\"$hrs:00
\n"; print "
\n";