From: eldy <>
Date: Sat, 13 Mar 2004 13:03:44 +0000 (+0000)
Subject: Added ExtraTrackedRowsLimit parameter.
X-Git-Tag: AWSTATS_6_1_BETA~63
X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=129dc5d52f1481114d2be9a61f6d9f4bd53010cc;p=thirdparty%2FAWStats.git
Added ExtraTrackedRowsLimit parameter.
---
diff --git a/wwwroot/cgi-bin/awstats.pl b/wwwroot/cgi-bin/awstats.pl
index 99ffec38..2d927124 100644
--- a/wwwroot/cgi-bin/awstats.pl
+++ b/wwwroot/cgi-bin/awstats.pl
@@ -27,7 +27,7 @@ $VERSION="6.1 (build $REVISION)";
# ----- Constants -----
use vars qw/
$DEBUGFORCED $NBOFLINESFORBENCHMARK $FRAMEWIDTH $NBOFLASTUPDATELOOKUPTOSAVE
-$LIMITFLUSH $NEWDAYVISITTIMEOUT $VISITTIMEOUT $NOTSORTEDRECORDTOLERANCE $MAXDIFFEXTRA
+$LIMITFLUSH $NEWDAYVISITTIMEOUT $VISITTIMEOUT $NOTSORTEDRECORDTOLERANCE
$WIDTHCOLICON $TOOLTIPON
$lastyearbeforeupdate
/;
@@ -37,9 +37,8 @@ $FRAMEWIDTH=240; # Width of left frame when UseFramesWhenCGI is on
$NBOFLASTUPDATELOOKUPTOSAVE=500; # Nb of records to save in DNS last update cache file
$LIMITFLUSH=5000; # Nb of records in data arrays after how we need to flush data on disk
$NEWDAYVISITTIMEOUT=764041; # Delay between 01-23:59:59 and 02-00:00:00
-$VISITTIMEOUT=10000; # Laps of time to consider a page load as a new visit. 10000 = 1 hour (Default = 10000)
-$NOTSORTEDRECORDTOLERANCE=10000; # Laps of time to accept a record if not in correct order. 10000 = 1 hour (Default = 10000)
-$MAXDIFFEXTRA=500;
+$VISITTIMEOUT=10000; # Lapse of time to consider a page load as a new visit. 10000 = 1 hour (Default = 10000)
+$NOTSORTEDRECORDTOLERANCE=10000; # Lapse of time to accept a record if not in correct order. 10000 = 1 hour (Default = 10000)
$WIDTHCOLICON=32;
$TOOLTIPON=0; # Tooltips plugin loaded
# ----- Running variables -----
@@ -115,7 +114,8 @@ $MaxLengthOfStoredURL
$MaxLengthOfStoredUA
%BarPng
$BuildReportFormat
-$BuildHistoryFormat
+$BuildHistoryFormat
+$ExtraTrackedRowsLimit
/;
$StaticExt='html';
$DNSStaticCacheFile='dnscache.txt';
@@ -130,6 +130,7 @@ $MaxLengthOfStoredUA=256;
'he'=>'he.png','hx'=>'hx.png','vh'=>'vh.png','hh'=>'hh.png','vk'=>'vk.png','hk'=>'hk.png');
$BuildReportFormat='html';
$BuildHistoryFormat='text';
+$ExtraTrackedRowsLimit=500;
use vars qw/
$EnableLockForUpdate $DNSLookup $AllowAccessFromWebToAuthenticatedUsersOnly
$BarHeight $BarWidth $CreateDirDataIfNotExists $KeepBackupOfHistoricFiles
@@ -520,9 +521,9 @@ sub http_head {
# Expires must be GMT ANSI asctime and must be after Content-type to avoid pb with some servers (SAMBAR)
if ($Expires =~ /^\d+$/) {
- print "Cache-Control: public\n";
- print "Last-Modified: ".gmtime($starttime)."\n";
- print "Expires: ".(gmtime($starttime+$Expires))."\n";
+ print "Cache-Control: public\n";
+ print "Last-Modified: ".gmtime($starttime)."\n";
+ print "Expires: ".(gmtime($starttime+$Expires))."\n";
}
print "\n";
}
@@ -1275,6 +1276,7 @@ sub Parse_Config {
@URLWithQueryWithout=split(/\s+/,$value);
next;
}
+
# Extra parameters
if ($param =~ /^ExtraSectionName(\d+)/) { $ExtraName[$1]=$value; next; }
if ($param =~ /^ExtraSectionCodeFilter(\d+)/) { @{$ExtraCodeFilter[$1]}=split(/\s+/,$value); next; }
@@ -1289,7 +1291,7 @@ sub Parse_Config {
if ($param =~ /^MinHitExtra(\d+)/) { $MinHitExtra[$1]=$value; next; }
# Special appearance parameters
if ($param =~ /^LoadPlugin/) { push @PluginsToLoad, $value; next; }
- # Other that we need to put after MaxNbOfExtra and MinHitExtra
+ # Other parameter checks we need to put after MaxNbOfExtra and MinHitExtra
if ($param =~ /^MaxNbOf(\w+)/) { $MaxNbOf{$1}=$value; next; }
if ($param =~ /^MinHit(\w+)/) { $MinHit{$1}=$value; next; }
# Check if this is a known parameter
@@ -1304,7 +1306,6 @@ sub Parse_Config {
if ($Debug) { debug("Config file read was \"$configFile\" (level $level)"); }
}
-
#------------------------------------------------------------------------------
# Function: Load the reference databases
# Parameters: List of files to load
@@ -1824,10 +1825,10 @@ sub Read_Plugins {
push @INC, "$dir";
$DirAddedInINC{"$dir"}=1;
}
- my $loadret=0;
+ my $loadret=0;
my $modperl=$ENV{"MOD_PERL"}? eval { require mod_perl; $mod_perl::VERSION >= 1.99 ? 2 : 1 } : 0;
if ($modperl == 2) { $loadret=require "$pluginpath"; }
- else { $loadret=require "$pluginfile.pm"; }
+ else { $loadret=require "$pluginfile.pm"; }
if (! $loadret || $loadret =~ /^error/i) {
# Load failed, we stop here
@@ -5457,10 +5458,10 @@ if (! $HeaderHTTPSent && $ENV{'GATEWAY_INTERFACE'}) { http_head(); } # Run from
$NBOFLINESFORBENCHMARK--;
if ($ENV{'GATEWAY_INTERFACE'}) { $DirCgi=''; }
if ($DirCgi && !($DirCgi =~ /\/$/) && !($DirCgi =~ /\\$/)) { $DirCgi .= '/'; }
-if (! $DirData || $DirData =~ /^\./) {
- if (! $DirData || $DirData eq '.') { $DirData="$DIR"; } # If not defined or chosen to '.' value then DirData is current dir
+if (! $DirData || $DirData =~ /^\./) {
+ if (! $DirData || $DirData eq '.') { $DirData="$DIR"; } # If not defined or chosen to '.' value then DirData is current dir
elsif ($DIR && $DIR ne '.') { $DirData="$DIR/$DirData"; }
-}
+}
$DirData||='.'; # If current dir not defined then we put it to '.'
$DirData =~ s/[\\\/]+$//;
# Define SiteToAnalyze and SiteToAnalyzeWithoutwww for regex operations
@@ -5545,10 +5546,10 @@ if ($MigrateStats) {
$YearRequired="$4";
$FileSuffix="$5";
# Correct DirData
- if (! $DirData || $DirData =~ /^\./) {
- if (! $DirData || $DirData eq '.') { $DirData="$DIR"; } # If not defined or chosen to '.' value then DirData is current dir
+ if (! $DirData || $DirData =~ /^\./) {
+ if (! $DirData || $DirData eq '.') { $DirData="$DIR"; } # If not defined or chosen to '.' value then DirData is current dir
elsif ($DIR && $DIR ne '.') { $DirData="$DIR/$DirData"; }
- }
+ }
$DirData||='.'; # If current dir not defined then we put it to '.'
$DirData =~ s/[\\\/]+$//;
print "Start migration for file '$MigrateStats'."; print $ENV{'GATEWAY_INTERFACE'}?"
\n":"\n";
@@ -6808,8 +6809,15 @@ if ($UpdateStats && $FrameName ne 'index' && $FrameName ne 'mainleft') { # Updat
if (${'_section_' . $extranum . '_l'}{$rowkeyval}||0 < $timerecord) { ${'_section_' . $extranum . '_l'}{$rowkeyval}=$timerecord; }
}
# Check to avoid too large extra sections
- if (scalar keys %{'_section_' . $extranum . '_h'} > $MAXDIFFEXTRA) {
- error("Too many (more than MAXDIFFEXTRA=$MAXDIFFEXTRA) different values for row keys of extra section $extranum. Are you sure you want to track an array with so many values (may be your ExtraSection setup is wrong) ? If yes, increase the MAXDIFFEXTRA constant in awstats.pl");
+ if (scalar keys %{'_section_' . $extranum . '_h'} > $ExtraTrackedRowsLimit) {
+ error(<