From: eldy <> Date: Sat, 8 Nov 2003 02:00:01 +0000 (+0000) Subject: Changes to prepare graphapplet plugin. X-Git-Tag: AWSTATS_6_0_BETA~157 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=080d3e7203d5f7a8b76da5b0d7687206bdae0634;p=thirdparty%2FAWStats.git Changes to prepare graphapplet plugin. --- diff --git a/wwwroot/cgi-bin/awstats.pl b/wwwroot/cgi-bin/awstats.pl index ad725100..770cf4fd 100644 --- a/wwwroot/cgi-bin/awstats.pl +++ b/wwwroot/cgi-bin/awstats.pl @@ -1684,9 +1684,10 @@ sub Read_Plugins { my @PossiblePluginsDir=("${DIR}plugins","./plugins","/usr/local/awstats/wwwroot/cgi-bin/plugins","/usr/share/awstats/plugins"); my %DirAddedInINC=(); + foreach my $key (keys %NoLoadPlugin) { if ($NoLoadPlugin{$key} < 0) { push @PluginsToLoad, $key; } } if ($Debug) { debug("Call to Read_Plugins with list: ".join(',',@PluginsToLoad)); } foreach my $plugininfo (@PluginsToLoad) { - if ($NoLoadPlugin{$plugininfo}) { + if ($NoLoadPlugin{$plugininfo} && $NoLoadPlugin{$plugininfo} > 0) { if ($Debug) { debug(" Plugin load for '$plugininfo' has been disabled from command line"); } next; } @@ -4945,7 +4946,7 @@ $tomorrowtime=int($tomorrowyear.$tomorrowmonth.$tomorrowday.$tomorrowhour.$tomor # Allowed option my @AllowedCLIArgs=('migrate','config', 'logfile','output','runascli','update', -'staticlinks','staticlinksext','noloadplugin', +'staticlinks','staticlinksext','noloadplugin','forceloadplugin', 'hostfilter','urlfilter','refererpagesfilter', 'lang','month','year','framename','debug', 'showsteps','showdropped','showcorrupted','showunknownorigin', @@ -5053,6 +5054,7 @@ if ($QueryString =~ /(^|&)framename=([^&]+)/i) { $FrameName="$2"; } if ($QueryString =~ /(^|&)debug=(\d+)/i) { $Debug=$2; } if ($QueryString =~ /(^|&)updatefor=(\d+)/i) { $UpdateFor=$2; } if ($QueryString =~ /(^|&)noloadplugin=([^&]+)/i) { foreach my $plugin (split(/,/,$2)) { $NoLoadPlugin{"$plugin"}=1; } } +if ($QueryString =~ /(^|&)forceloadplugin=([^&]+)/i) { foreach my $plugin (split(/,/,$2)) { $NoLoadPlugin{"$plugin"}=-1; } } if ($QueryString =~ /(^|&)limitflush=(\d+)/i) { $LIMITFLUSH=$2; } # Get/Define output if ($QueryString =~ /(^|&)output(=[^&]*|)(.*)&output(=[^&]*|)(&|$)/i) { error("Only 1 output option is allowed","","",1); } @@ -8080,6 +8082,8 @@ if (scalar keys %HTMLOutput) { 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 @valaverage=(); + #my @valaverage=($average_v,$average_p,$average_h,$average_k); my @valdata=(); my $xx=0; for (my $ix=1; $ix<=12; $ix++) { @@ -8090,7 +8094,7 @@ if (scalar keys %HTMLOutput) { $valdata[$xx++]=$MonthHits{$YearRequired.$monthix}||0; $valdata[$xx++]=$MonthBytes{$YearRequired.$monthix}||0; } - ShowGraph_graphapplet("$title","month",$ShowMonthStats,\@blocklabel,\@vallabel,\@valcolor,\@valmax,\@valtotal,\@valdata); + ShowGraph_graphapplet("$title","month",$ShowMonthStats,\@blocklabel,\@vallabel,\@valcolor,\@valmax,\@valtotal,\@valaverage,\@valdata); } else { print "\n"; @@ -8264,6 +8268,7 @@ if (scalar keys %HTMLOutput) { 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 @valaverage=($average_v,$average_p,$average_h,$average_k); my @valdata=(); my $xx=0; foreach my $daycursor ($firstdaytoshowtime..$lastdaytoshowtime) { @@ -8275,7 +8280,7 @@ if (scalar keys %HTMLOutput) { $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); + ShowGraph_graphapplet("$title","daysofmonth",$ShowDaysOfMonthStats,\@blocklabel,\@vallabel,\@valcolor,\@valmax,\@valtotal,\@valaverage,\@valdata); } else { print "
\n"; @@ -8382,7 +8387,8 @@ if (scalar keys %HTMLOutput) { if ($ShowDaysOfWeekStats) { if ($Debug) { debug("ShowDaysOfWeekStats",2); } print "$Center 
\n"; - &tab_head("$Message[91]",18,0,'daysofweek'); + my $title="$Message[91]"; + &tab_head("$title",18,0,'daysofweek'); print ""; print "\n
"; print "
\n"; @@ -8417,31 +8423,50 @@ if (scalar keys %HTMLOutput) { } # 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; } - if ($max_h > 0) { $bredde_h=int($avg_dayofweek_h[$_]/$max_h*$BarHeight)+1; } - if ($max_k > 0) { $bredde_k=int($avg_dayofweek_k[$_]/$max_k*$BarHeight)+1; } - $avg_dayofweek_p[$_]=sprintf("%.2f",$avg_dayofweek_p[$_]); - $avg_dayofweek_h[$_]=sprintf("%.2f",$avg_dayofweek_h[$_]); - $avg_dayofweek_k[$_]=sprintf("%.2f",$avg_dayofweek_k[$_]); - # Remove decimal part if 0 - if ($avg_dayofweek_p[$_] == int($avg_dayofweek_p[$_])) { $avg_dayofweek_p[$_]=int($avg_dayofweek_p[$_]); } - if ($avg_dayofweek_h[$_] == int($avg_dayofweek_h[$_])) { $avg_dayofweek_h[$_]=int($avg_dayofweek_h[$_]); } - print "\n"; + if ($PluginsLoaded{'ShowGraph'}{'graphapplet'}) { + my @blocklabel=(); + for (@DOWIndex) { push @blocklabel,$Message[$_+84]; } + my @vallabel=("$Message[56]","$Message[57]","$Message[75]"); + my @valcolor=("$color_p","$color_h","$color_k"); + my @valmax=(int($max_h),int($max_h),int($max_k)); + my @valtotal=($total_p,$total_h,$total_k); + my @valaverage=($average_p,$average_h,$average_k); + my @valdata=(); + my $xx=0; + for (@DOWIndex) { + $valdata[$xx++]=$avg_dayofweek_p[$_]||0; + $valdata[$xx++]=$avg_dayofweek_h[$_]||0; + $valdata[$xx++]=$avg_dayofweek_k[$_]||0; + } + ShowGraph_graphapplet("$title","daysofweek",$ShowDaysOfWeekStats,\@blocklabel,\@vallabel,\@valcolor,\@valmax,\@valtotal,\@valaverage,\@valdata); } - print "\n"; - print "\n"; - for (@DOWIndex) { - print "".$Message[$_+84].""; + else { + print "
"; - if ($ShowDaysOfWeekStats =~ /P/i) { print ""; } - if ($ShowDaysOfWeekStats =~ /H/i) { print ""; } - if ($ShowDaysOfWeekStats =~ /B/i) { print ""; } - 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; } + if ($max_h > 0) { $bredde_h=int($avg_dayofweek_h[$_]/$max_h*$BarHeight)+1; } + if ($max_k > 0) { $bredde_k=int($avg_dayofweek_k[$_]/$max_k*$BarHeight)+1; } + $avg_dayofweek_p[$_]=sprintf("%.2f",$avg_dayofweek_p[$_]); + $avg_dayofweek_h[$_]=sprintf("%.2f",$avg_dayofweek_h[$_]); + $avg_dayofweek_k[$_]=sprintf("%.2f",$avg_dayofweek_k[$_]); + # Remove decimal part if 0 + if ($avg_dayofweek_p[$_] == int($avg_dayofweek_p[$_])) { $avg_dayofweek_p[$_]=int($avg_dayofweek_p[$_]); } + if ($avg_dayofweek_h[$_] == int($avg_dayofweek_h[$_])) { $avg_dayofweek_h[$_]=int($avg_dayofweek_h[$_]); } + print "\n"; + } + print "\n"; + print "\n"; + for (@DOWIndex) { + print "".$Message[$_+84].""; + } + print "\n
"; + if ($ShowDaysOfWeekStats =~ /P/i) { print ""; } + if ($ShowDaysOfWeekStats =~ /H/i) { print ""; } + if ($ShowDaysOfWeekStats =~ /B/i) { print ""; } + print "
\n"; } - print "
\n"; print "
\n"; # Show data array for days of week @@ -8486,37 +8511,54 @@ if (scalar keys %HTMLOutput) { } # 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; - if ($max_h > 0) { $bredde_p=int($BarHeight*$_time_p[$ix]/$max_h)+1; } - if ($max_h > 0) { $bredde_h=int($BarHeight*$_time_h[$ix]/$max_h)+1; } - if ($max_k > 0) { $bredde_k=int($BarHeight*$_time_k[$ix]/$max_k)+1; } - print "\n"; - } - print "\n"; - # Show hour lib - print ""; - for (my $ix=0; $ix<=23; $ix++) { - print "\n"; # width=19 instead of 18 to avoid a MacOS browser bug. + if ($PluginsLoaded{'ShowGraph'}{'graphapplet'}) { + my @blocklabel=(0..23); + my @vallabel=("$Message[56]","$Message[57]","$Message[75]"); + my @valcolor=("$color_p","$color_h","$color_k"); + my @valmax=(int($max_h),int($max_h),int($max_k)); + my @valtotal=($total_p,$total_h,$total_k); + my @valaverage=($average_p,$average_h,$average_k); + my @valdata=(); + my $xx=0; + for (0..23) { + $valdata[$xx++]=$_time_p[$_]||0; + $valdata[$xx++]=$_time_h[$_]||0; + $valdata[$xx++]=$_time_k[$_]||0; + } + ShowGraph_graphapplet("$title","hours",$ShowHoursStats,\@blocklabel,\@vallabel,\@valcolor,\@valmax,\@valtotal,\@valaverage,\@valdata); } - print "\n"; - # Show clock icon - print "\n"; - for (my $ix=0; $ix<=23; $ix++) { - my $hrs=($ix>=12?$ix-12:$ix); - my $hre=($ix>=12?$ix-11:$ix+1); - my $apm=($ix>=12?"pm":"am"); - print "\n"; + else { + print "
"; - if ($ShowHoursStats =~ /P/i) { print ""; } - if ($ShowHoursStats =~ /H/i) { print ""; } - if ($ShowHoursStats =~ /B/i) { print ""; } - print "
$ix
\"$hrs:00
\n"; + print "\n"; + for (my $ix=0; $ix<=23; $ix++) { + my $bredde_p=0;my $bredde_h=0;my $bredde_k=0; + if ($max_h > 0) { $bredde_p=int($BarHeight*$_time_p[$ix]/$max_h)+1; } + if ($max_h > 0) { $bredde_h=int($BarHeight*$_time_h[$ix]/$max_h)+1; } + if ($max_k > 0) { $bredde_k=int($BarHeight*$_time_k[$ix]/$max_k)+1; } + print "\n"; + } + print "\n"; + # Show hour lib + print ""; + for (my $ix=0; $ix<=23; $ix++) { + print "\n"; # width=19 instead of 18 to avoid a MacOS browser bug. + } + print "\n"; + # Show clock icon + print "\n"; + for (my $ix=0; $ix<=23; $ix++) { + my $hrs=($ix>=12?$ix-12:$ix); + my $hre=($ix>=12?$ix-11:$ix+1); + my $apm=($ix>=12?"pm":"am"); + print "\n"; + } + print "\n"; + print "
"; + if ($ShowHoursStats =~ /P/i) { print ""; } + if ($ShowHoursStats =~ /H/i) { print ""; } + if ($ShowHoursStats =~ /B/i) { print ""; } + print "
$ix
\"$hrs:00
\n"; } - print "\n"; - print "\n"; - print "
\n"; # Show data array for hours diff --git a/wwwroot/cgi-bin/plugins/graphapplet.pm b/wwwroot/cgi-bin/plugins/graphapplet.pm index 931f608d..2fdd1887 100644 --- a/wwwroot/cgi-bin/plugins/graphapplet.pm +++ b/wwwroot/cgi-bin/plugins/graphapplet.pm @@ -61,6 +61,7 @@ sub ShowGraph_graphapplet() { my $valcolor=shift; my $valmax=shift; my $valtotal=shift; + my $valaverage=shift; my $valdata=shift; my $graphwidth=780; @@ -72,12 +73,12 @@ sub ShowGraph_graphapplet() { my $blockfontsize=11; if ($type eq 'month') { $graphwidth=540; $graphheight=160; $blockspacing=8; $valspacing=0; $valwidth=6; $barsize=$BarHeight; $blockfontsize=11; } elsif ($type eq 'daysofmonth') { $graphwidth=640; $graphheight=160; $blockspacing=3; $valspacing=0; $valwidth=4; $barsize=$BarHeight; $blockfontsize=9; } - elsif ($type eq 'daysofweeks') { $graphwidth=500; $graphheight=160; $blockspacing=5; $valspacing=0; $valwidth=6; $barsize=$BarHeight; $blockfontsize=11; } - elsif ($type eq 'hours') { $graphwidth=500; $graphheight=160; $blockspacing=5; $valspacing=0; $valwidth=6; $barsize=$BarHeight; $blockfontsize=11; } - else { error("Unknown type"); } + elsif ($type eq 'daysofweek') { $graphwidth=300; $graphheight=160; $blockspacing=10; $valspacing=0; $valwidth=6; $barsize=$BarHeight; $blockfontsize=10; } + elsif ($type eq 'hours') { $graphwidth=600; $graphheight=160; $blockspacing=4; $valspacing=0; $valwidth=6; $barsize=$BarHeight; $blockfontsize=11; } + else { error("Unknown type parameter in ShowGraph_graphapplet function"); } # print "\n"; - print "\n"; + print "\n"; print < @@ -97,6 +98,7 @@ EOF print "\n"; print "\n"; print "\n"; + print "\n"; } print <