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 "";
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 "";
- if ($ShowDaysOfWeekStats =~ /P/i) { print " "; }
- if ($ShowDaysOfWeekStats =~ /H/i) { print " "; }
- if ($ShowDaysOfWeekStats =~ /B/i) { print " "; }
- 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 "\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 "";
+ if ($ShowDaysOfWeekStats =~ /P/i) { print " "; }
+ if ($ShowDaysOfWeekStats =~ /H/i) { print " "; }
+ if ($ShowDaysOfWeekStats =~ /B/i) { print " "; }
+ print " | \n";
+ }
+ print " \n";
+ print "\n";
+ for (@DOWIndex) {
+ print "| ".$Message[$_+84]." | ";
+ }
+ print " \n \n";
}
- print " \n \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 "";
- if ($ShowHoursStats =~ /P/i) { print " "; }
- if ($ShowHoursStats =~ /H/i) { print " "; }
- if ($ShowHoursStats =~ /B/i) { print " "; }
- print " | \n";
- }
- print " \n";
- # Show hour lib
- print "";
- for (my $ix=0; $ix<=23; $ix++) {
- print "| $ix | \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 "\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 "";
+ if ($ShowHoursStats =~ /P/i) { print " "; }
+ if ($ShowHoursStats =~ /H/i) { print " "; }
+ if ($ShowHoursStats =~ /B/i) { print " "; }
+ print " | \n";
+ }
+ print " \n";
+ # Show hour lib
+ print "";
+ for (my $ix=0; $ix<=23; $ix++) {
+ print "| $ix | \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 " \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 " |