Some stuff was not corrected yet.
***** Actions to build a beta or release *****
-- Check all files are commited.
+- Check all files are committed.
- Update file tools/webmin/awstats/module.info
- Update file README.md
- Update version number in doc files
<Char_Desc_450>AWStats is a free powerful and featureful web server logfile analyzer (Perl script) that shows you all your Web statistics including visits, unique visitors, pages, hits, rush hours, os, browser's versions, search engines, keywords, robots visits, broken links and more... Works with all major web, wap, proxy servers and some mail and ftp servers. Works as a CGI and/or from command line. Distributed under GNU General Public License.</Char_Desc_450>\r
<Char_Desc_2000>AWStats is a free powerful and featureful tool that generates advanced web (but also ftp or mail) server\r
\r
-statistics, graphically. This log analyzer works as a CGI or from command line and shows you all possible information your log contains, in few graphical web pages like visits, unique vistors, authenticated users, pages, domains/countries, OS busiest times, robot visits, type of files, search engines/keywords used, visits duration, screen size, HTTP errors and more...\r
+statistics, graphically. This log analyzer works as a CGI or from command line and shows you all possible information your log contains, in few graphical web pages like visits, unique visitors, authenticated users, pages, domains/countries, OS busiest times, robot visits, type of files, search engines/keywords used, visits duration, screen size, HTTP errors and more...\r
\r
Statistics can be updated from a browser or your scheduler.\r
\r
This log analyzer works as a CGI or from command line and shows you
all possible information your log contains, in few graphical web
-pages like visits, unique vistors, authenticated users, pages,
+pages like visits, unique visitors, authenticated users, pages,
domains/countries, OS busiest times, robot visits, type of files,
search engines,keywords and keyphrases used, visits duration,
cluster balancing, HTTP errors and also screen size, web browser
DirData="/home/ldestailleur/git/awstats/test/awstats/result"
# Relative or absolute web URL of your awstats.pl directory.
-# Usefull only when AWStats is used from command line.
+# Useful only when AWStats is used from command line.
# Default: "/cgi-bin" (means awstats.pl is in "/wwwroot/cgi-bin")
#
DirCgi="/cgi-bin"
# WARNING: Extra sections are experimental feature not stable yet !!!
# You can define your own charts, you choose here what are rows and columns
-# keys. This feature is particularly usefull for marketing purpose, tracking
+# keys. This feature is particularly useful for marketing purpose, tracking
# products orders for example.
# For this, edit all parameters of Extra section. Each set of parameter is a
# different chart. For several charts, duplicate section changing the number.
DirData="/home/ldestailleur/git/awstats/test/awstats/result"
# Relative or absolute web URL of your awstats.pl directory.
-# Usefull only when AWStats is used from command line.
+# Useful only when AWStats is used from command line.
# Default: "/cgi-bin" (means awstats.pl is in "/wwwroot/cgi-bin")
#
DirCgi="/cgi-bin"
# WARNING: Extra sections are experimental feature not stable yet !!!
# You can define your own charts, you choose here what are rows and columns
-# keys. This feature is particularly usefull for marketing purpose, tracking
+# keys. This feature is particularly useful for marketing purpose, tracking
# products orders for example.
# For this, edit all parameters of Extra section. Each set of parameter is a
# different chart. For several charts, duplicate section changing the number.
DirData="/home/ldestailleur/git/awstats/test/awstats/result"
# Relative or absolute web URL of your awstats.pl directory.
-# Usefull only when AWStats is used from command line.
+# Useful only when AWStats is used from command line.
# Default: "/cgi-bin" (means awstats.pl is in "/wwwroot/cgi-bin")
#
DirCgi="/cgi-bin"
# WARNING: Extra sections are experimental feature not stable yet !!!
# You can define your own charts, you choose here what are rows and columns
-# keys. This feature is particularly usefull for marketing purpose, tracking
+# keys. This feature is particularly useful for marketing purpose, tracking
# products orders for example.
# For this, edit all parameters of Extra section. Each set of parameter is a
# different chart. For several charts, duplicate section changing the number.
chomp $bidon;
$bidon =~ s/\r//g;
}
- my @choosed=();
- if ($bidon eq '0') { @choosed=@TESTLIST; }
- else { push @choosed, $TESTLIST[$bidon-1]; }
+ my @chosen=();
+ if ($bidon eq '0') { @chosen=@TESTLIST; }
+ else { push @chosen, $TESTLIST[$bidon-1]; }
# Option output
print "Choose output option (browserdetail, osdetail, ...)\n";
if ($bidon) { $OPTIONOUTPUT=$bidon; }
my $command=my $ret='';
- foreach my $test (@choosed) {
+ foreach my $test (@chosen) {
print "\n----- Lancement du test $test -----\n";
unlink("$DIRRESULT/dnscachelastupdate.$test.txt");
my $exit_value=$? >> 8;
if ($? || $retour =~ /error/) {
if ($retour) { error("Failed to build PDF file with following error: $retour"); }
- else { error("Failed to run successfuly htmldoc process: Return code=$exit_value, Killer signal num=$signal_num, Core dump=$dumped_core"); }
+ else { error("Failed to run successfully htmldoc process: Return code=$exit_value, Killer signal num=$signal_num, Core dump=$dumped_core"); }
}
$cpt++;
}
$value =~ s/^[\s\'\"]+//; $value =~ s/[\s\'\"]+$//;
if ($param) {
- # cleanparam is param without begining #
+ # cleanparam is param without its beginning #
my $cleanparam=$param; my $wascleaned=0;
if ($cleanparam =~ s/^#//) { $wascleaned=1; }
if (defined($ConfToChange{"$cleanparam"}) && $ConfToChange{"$cleanparam"}) { $savline = ($wascleaned?"#":"")."$cleanparam=\"".$ConfToChange{"$cleanparam"}."\"\n"; }
if ($OS eq 'windows' && "$^O" !~ /cygwin/i) {
$reg->Delimiter("/");
if ($tips=$reg->{"LMachine/Software/Apache Group/Apache/"}) {
- # If Apache registry call successfull
+ # If Apache registry call successful
my $found=0;
foreach( sort keys %$tips ) {
my $path=$reg->{"LMachine/Software/Apache Group/Apache/$_/ServerRoot"};
print "OF DISK SPACE AT ALL) and without loading files into memory (NO NEED\n";
print "OF MORE MEMORY). Choose of output records is done on the fly.\n";
print "\n";
- print "So logresolvemerge is particularly usefull when you want to output several\n";
+ print "So logresolvemerge is particularly useful when you want to output several\n";
print "and/or large log files in a fast process, with no use of disk or\n";
print "more memory, and in a chronological order through a pipe (to be used by a log\n";
print "analyzer).\n";
$NBOFLINESFORBENCHMARK--;
if ($ENV{"GATEWAY_INTERFACE"}) { $DirCgi=''; }
if ($DirCgi && !($DirCgi =~ /\/$/) && !($DirCgi =~ /\\$/)) { $DirCgi .= '/'; }
-if (! $DirData || $DirData eq '.') { $DirData=$DIR; } # If not defined or choosed to "." value then DirData is current dir
+if (! $DirData || $DirData eq '.') { $DirData=$DIR; } # If not defined or chosen as "." value then DirData is current dir
if (! $DirData) { $DirData='.'; } # If current dir not defined then we put it to "."
$DirData =~ s/\/$//;
if(!defined($logfilechosen)) { last; } # No more record to process
# Record is chosen
- if ($Debug) { debug(" We choosed to qualify record of file number $logfilechosen",3); }
+ if ($Debug) { debug(" We chose to qualify record of file number $logfilechosen",3); }
if ($Debug) { debug(" Record is $linerecord{$logfilechosen}",3); }
# Record is approved. We found a new line to parse in file number $logfilechosen
# or 'reject: RCPT from unknown[62.205.124.145]: 450 Client host rejected: cannot find your hostname, [62.205.124.145]; from=<sender@msn.com> to=<usery@yahoo.com> proto=ESMTP helo=<xxx.com>'
# or 'reject: RCPT from unknown[80.245.33.2]: 450 <usery@yahoo.com>: User unknown in local recipient table;'
if ($code =~ /\s+(\d\d\d)\s+/) { $mail{$mailid}{'code'}=$1; }
- else { $mail{$mailid}{'code'}=999; } # Unkown error
+ else { $mail{$mailid}{'code'}=999; } # Unknown error
if (! $mail{$mailid}{'relay_s'} && $code =~ /from\s+([^\s]+)\s+/) {
$mail{$mailid}{'relay_s'}=&trim($1);
}
my ($mon,$day,$time,$id,$to,$relay_r)=m/(\w+)\s+(\d+)\s+(\d+:\d+:\d+)\s+[\w\-\.\@]+\s+(?:postfix\/(?:local|lmtp|smtpd|smtp|virtual|pipe))\[\d+\]:\s+(.*?):\s+to=([^\s,]*)[\s,]+relay=([^\s,]*)/;
$mailid=($id eq 'reject'?'999':$id); # id not provided in log, we take '999'
if ($mailid) {
- $mail{$mailid}{'code'}=999; # Unkown error (bounced)
+ $mail{$mailid}{'code'}=999; # Unknown error (bounced)
$mail{$mailid}{'to'}=&trim($to);
$mail{$mailid}{'relay_r'}=&trim($relay_r);
$mail{$mailid}{'year'}=$year; ### <CJK>###
$mail{$mailid}{'relay_s'}=$relay_s;
# $code='reject=550 5.7.1 <amber3624@netzero.net>... Relaying denied'
if ($code =~ /=(\d\d\d)\s+/) { $mail{$mailid}{'code'}=$1; }
- else { $mail{$mailid}{'code'}=999; } # Unkown error
+ else { $mail{$mailid}{'code'}=999; } # Unknown error
$mail{$mailid}{'year'}=$year; ### <CJK>###
$mail{$mailid}{'mon'}=$mon;
$mail{$mailid}{'day'}=$day;
$value =~ s/^[\s\'\"]+//; $value =~ s/[\s\'\"]+$//;
if ($param) {
- # cleanparam is param without begining #
+ # cleanparam is param without its beginning #
my $cleanparam=$param; my $wascleaned=0;
if ($cleanparam =~ s/^#//) { $wascleaned=1; }
if ($cleanparam !~ /LoadPlugin/i && defined($conf->{$cleanparam})) {
$value =~ s/^[\s\'\"]+//; $value =~ s/[\s\'\"]+$//;
if ($param) {
- # cleanparam is param without begining #
+ # cleanparam is param without its beginning #
my $cleanparam=$param; my $wascleaned=0;
if ($cleanparam =~ s/^#//) { $wascleaned=1; }
if ($cleanparam =~ /^DirData/) {
- Better description for ACL page.
Fixes:
-- Translation was in french for some texts, whatever was choosed language.
+- Translation was in french for some texts, regardless of the chosen language.
ShowWormsStats
- Removed LinkToIPWhoIs and LinkToWhoIs obsolete parameters.
- Module setup parameter awstats_conf has been removed since now
- directories into wich you can scan/edit AWStats configuration files
+ directories into which you can scan/edit AWStats configuration files
are defined in ACL users. Defined to /etc/awstats by default.
Also added a link the the ACL page to edit this directory listing.
- Added a streaming server log file type.
edit_file=File content
edit_add=Config file name to create
edit_create_by_copy=Create a new config file by copying an existing one
-edit_create_from_scratch=Create a new config file with folowing parameters
+edit_create_from_scratch=Create a new config file with the following parameters
edit_config_to_copy=Config file name to copy
edit_user=Run AWStats as user
edit_ecannot=You are not allowed to edit this config file
save_err=Error in config file build
save_efile=Config file name was not entered
save_fileexists=Config file already exists
-save_edir=Directory '$1' choosed to write your config file into is not allowed by Webmin permissions.
+save_edir=Directory '$1' chosen to write your config file into is not allowed by Webmin permissions.
save_ecannot=You are only allowed to view or generate reports for config under $1
save_errLogFile=Error in LogFile parameter. Log file $1 does not exists or is not readable
-save_errLogFormat=Error in LogFormat parameter. Parameter is nto defined
+save_errLogFormat=Error in LogFormat parameter. Parameter is not defined
save_errSiteDomain=Error in SiteDomain parameter. Parameter is not defined
save_errDirData=Error in DirData parameter. Parameter is not defined or directory does not exists
save_dirnotexists=Directory does not exists
viewall_v=Visits
viewall_p=Pages
viewall_h=Hits
-viewall_k=Bandwith
+viewall_k=Bandwidth
month01=January
month02=February
month09=September
month10=October
month11=November
-month12=December
\ No newline at end of file
+month12=December
$value =~ s/^[\s\'\"]+//; $value =~ s/[\s\'\"]+$//;
if ($param) {
- # cleanparam is param without begining #
+ # cleanparam is param without its beginning #
my $cleanparam=$param; my $wascleaned=0;
if ($cleanparam =~ s/^#//) { $wascleaned=1; }
$EXCLUDEIP="127.0.0.1";
# Put here a personalised value.
-# If you dont want to use the security key in link to avoid use of awredir by an external web
-# site you can set this to empty string, but warning this is a security hole as everybody
-# can use awredir on your site to redirect to any web site (even non legal web sites).
+# If you do not want to use the security key in link to avoid use of awredir by an external web
+# site, you can set this to the empty string, but be warned that this is a security hole as everybody
+# can use awredir on your site to redirect to any web site (including illegal web sites).
$KEYFORMD5='YOURKEYFORMD5';
# Put here url pattern you want to allow event if parameter key is not provided.
$AUTHORIZEDWITHOUTKEY='';
#-----------------------------------------------------------------------------
-# OPTIONAL SETUP SECTION (Not required but increase AWStats features)
+# OPTIONAL SETUP SECTION (Not required but enhances AWStats's functionality)
#-----------------------------------------------------------------------------
# When the update process runs, AWStats can set a lock file in TEMP or TMP
# lock file not correctly removed (killed process for example requires that
# you remove the file manualy), this option is not enabled by default (Do
# not enable this option with no console server access).
-# Change : Effective immediatly
+# Change : Effective immediately
# Possible values: 0 or 1
# Default: 0
#
# The following two parameters allow you to protect a config file from being
-# read by AWStats when called from a browser if web user has not been
+# read by AWStats when called from a browser if the web user has not been
# authenticated. Your AWStats program must be in a web protected "realm" (With
# Apache, you can use .htaccess files to do so. With other web servers, see
# your server setup manual).
-# Change : Effective immediatly
+# Change : Effective immediately
# Possible values: 0 or 1
# Default: 0
#
# This parameter gives the list of all authorized authenticated users to view
# statistics for this domain/config file. This parameter is used only if
# AllowAccessFromWebToAuthenticatedUsersOnly is set to 1.
-# Change : Effective immediatly
+# Change : Effective immediately
# Example: "user1 user2"
# Example: "__REMOTE_USER__"
# Default: ""
# When this parameter is defined to something, the IP address of the user that
# reads its statistics from a browser (when AWStats is used as a CGI) is
# checked and must match one of the IP address values or ranges.
-# Change : Effective immediatly
+# Change : Effective immediately
# Example: "127.0.0.1 123.123.123.1-123.123.123.255"
# Default: ""
#
# This option can be used by some Web Hosting Providers that has defined a
# dynamic value for DirData (for example DirData="/home/__REMOTE_USER__") and
# don't want to have to create a new directory each time they add a new user.
-# Change : Effective immediatly
+# Change : Effective immediately
# Possible values: 0 or 1
# Default: 0
#
# If you prefer having the report output pages be built as XML compliant pages
# instead of simple HTML pages, you can set this to 'xhtml' (May not work
# properly with old browsers).
-# Change : Effective immediatly
+# Change : Effective immediately
# Possible values: html or xhtml
# Default: html
#
# AWStats can detect setup problems or show you important informations to have
# a better use. Keep this to 1, except if AWStats says you can change it.
-# Change : Effective immediatly
+# Change : Effective immediately
# Possible values: 0 or 1
# Default: 1
#
# When an error occurs, AWStats outputs a message related to errors. If you
# want (in most cases for security reasons) to have no error messages, you
# can set this parameter to your personalized generic message.
-# Change : Effective immediatly
+# Change : Effective immediately
# Example: "An error occurred. Contact your Administrator"
# Default: ""
#
# AWStat can be run with debug=x parameter to output various informations
# to help in debugging or solving troubles. If you want to allow this (not
# enabled by default for security reasons), set this parameter to 0.
-# Change : Effective immediatly
+# Change : Effective immediately
# Possible values: 0 or 1
# Default: 0
#
# For some particular integration needs, you may want to have CGI links to
# point to another script than awstats.pl.
# Use the name of this script in WrapperScript parameter.
-# Change : Effective immediatly
+# Change : Effective immediately
# Example: "awstatslauncher.pl"
# Example: "awstatswrapper.cgi?key=123"
# Default: ""
# V = Visits
# P = Number of pages
# H = Number of hits (or mails)
-# B = Bandwith (or total mail size for mail logs)
+# B = Bandwidth (or total mail size for mail logs)
# L = Last access date
# E = Entry pages
# X = Exit pages
);
}
- # Plugin load and init successfull
+ # Plugin load and init successful
foreach my $elem ( split( /\s+/, $initret ) ) {
# Some functions can only be plugged once
}
if ( !$withupdate && $HTMLOutput{'main'} && $ShowKeywordsStats ) {
$SectionsToLoad{'keywords'} = $order++;
- } # If we update, dont need to load
+ } # If we update, there is no need to load
# Others
if ( $UpdateStats
|| $MigrateStats
# cookie used for AWStats server sessions. Attacker can this way caught this
# cookie and used it to go on AWStats server like original visitor. For this
# resaon, parameter received by AWStats must be sanitized by this function
-# before beeing put inside a web page.
+# before being put inside a web page.
# Parameters: stringtoclean
# Input: None
# Output: None
# Parameters: query
# Input: None
# Output: None
-# Return: formated query
+# Return: formatted query
#------------------------------------------------------------------------------
# TODO Appeller cette fonction partout ou il y a des NewLinkParams
sub CleanNewLinkParamsFrom {
$count++;
}
- # Add total (only usefull if compression is enabled)
+ # Add total (only useful if compression is enabled)
if ( $ShowFileTypesStats =~ /C/i ) {
my $colspan = 3;
if ( $ShowFileTypesStats =~ /H/i ) { $colspan += 2; }
}
#------------------------------------------------------------------------------
-# Function: Prints the Unkown OS Detail frame or static page
+# Function: Prints the Unknown OS Detail frame or static page
# Parameters: $NewLinkTarget
# Input: _
# Output: HTML
'inferno',
'palmos',
'syllable',
-# Miscellanous OS
+# Miscellaneous OS
'blackberry',
'cp/m',
'crayos',
'inferno','inferno',
'palmos','palmos',
'syllable','syllable',
-# Miscellanous OS
+# Miscellaneous OS
'blackberry','blackberry',
'cp/m','cp/m',
'crayos','crayos',
'inferno','<a href="http://www.vitanuova.com/inferno/" title="Inferno home page [new window]" target="_blank">Inferno</a>',
'palmos','<a href="http://www.palm.com/" title="Palm OS home page [new window]" target="_blank">Palm OS</a>',
'syllable','<a href="http://www.syllable.org/" title="Syllable home page [new window]" target="_blank">Syllable</a>',
-# Miscellanous OS
+# Miscellaneous OS
'blackberry','BlackBerry',
'cp/m','<a href="http://www.digitalresearch.biz/CPM.HTM" title="CP/M home page [new window]" target="_blank">CP/M</a>',
'crayos','<a href="http://www.cray.com/" title="CrayOS home page [new window]" target="_blank">CrayOS</a>',
# OEM Service Release 2.5 4.03.1214* (4.00.950C) 8/24/96-11/18/97
# Windows 98 retail, OEM 4.10.1998 5/11/98
# Windows 98 Second Edition 4.10.2222A 4/23/99
-# Windows Me 4.90.3000
\ No newline at end of file
+# Windows Me 4.90.3000
# This list is used to found description of a SMTP status code
#-----------------------------------------------------------------
%smtpcodelib = (
-#[Successfull code]
+#[A successful code]
'200'=>'Nonstandard success response',
'211'=>'System status, or system help reply',
'214'=>'Help message',
);
-1;
\ No newline at end of file
+1;
# ClusterInfo AWStats plugin
# This plugin allow you to add information on cluster chart from
# a text file. Like full cluster hostname.
-# You must create a file called clusterinfo.configvalue.txt wich contains 2
-# columns separated by a tab char, and store it in DirData directory.
-# First column is cluster number and second column is text you want to add.
+# You must create a file called clusterinfo.configvalue.txt which contains 2
+# columns separated by a tab char, and store it in the DirData directory.
+# The first column is the cluster number and the second column is the text
+# you want to add.
#-----------------------------------------------------------------------------
# Perl Required Modules: None
#-----------------------------------------------------------------------------
}
#-----------------------------------------------------------------------------
-# PLUGIN FUNTION: BuildFullHTMLOutput_pluginname
+# PLUGIN FUNCTION: BuildFullHTMLOutput_pluginname
# UNIQUE: NO (Several plugins using this function can be loaded)
# Function called to output an HTML page completely built by plugin instead
# of AWStats output
#-----------------------------------------------------------------------------
-# PLUGIN FUNTION: SearchFile_pluginname
+# PLUGIN FUNCTION: SearchFile_pluginname
# UNIQUE: YES (Only one plugin using this function can be loaded)
#-----------------------------------------------------------------------------
sub SearchFile_hashfiles {
#-----------------------------------------------------------------------------
-# PLUGIN FUNTION: BuildFullHTMLOutput_pluginname
+# PLUGIN FUNCTION: BuildFullHTMLOutput_pluginname
# UNIQUE: NO (Several plugins using this function can be loaded)
# Function called to output an HTML page completely built by plugin instead
# of AWStats output
#-----------------------------------------------------------------------------
-# PLUGIN FUNTION: AddHTMLBodyHeader_pluginname
+# PLUGIN FUNCTION: AddHTMLBodyHeader_pluginname
# UNIQUE: NO (Several plugins using this function can be loaded)
# Function called to Add HTML code at beginning of BODY section.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
-# PLUGIN FUNTION: BuildFullHTMLOutput_pluginname
+# PLUGIN FUNCTION: BuildFullHTMLOutput_pluginname
# UNIQUE: NO (Several plugins using this function can be loaded)
# Function called to output an HTML page completely built by plugin instead
# of AWStats output
#-----------------------------------------------------------------------------
-# PLUGIN FUNTION: AddHTMLBodyHeader_pluginname
+# PLUGIN FUNCTION: AddHTMLBodyHeader_pluginname
# UNIQUE: NO (Several plugins using this function can be loaded)
# Function called to Add HTML code at beginning of BODY section.
#-----------------------------------------------------------------------------
# UserInfo AWStats plugin
# This plugin allow you to add information on authenticated users chart from
# a text file. Like full user name and lastname.
-# You must create a file called userinfo.configvalue.txt wich contains 2
+# You must create a file called userinfo.configvalue.txt which contains 2
# columns separated by a tab char, and store it in DirData directory.
# First column is authenticated user login and second column is text you want
# to add.
// screen height and width attributes until it begins to render the
// body.
//
-// This allows AWStats to be enhanced with some miscellanous features:
+// This allows AWStats to be enhanced with some miscellaneous features:
// - Screen size detection (TRKscreen)
// - Browser size detection (TRKwinsize)
// - Screen color depth detection (TRKcdi)