From: eldy <>
Date: Tue, 28 Jan 2003 14:24:49 +0000 (+0000)
Subject: Cosmetic change of browsers reports (group by family and add bar in browserdetail).
X-Git-Tag: AWSTATS_5_4_BETA~34
X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=55ffebd5292bacc9bc411ff69f259decd117d8ea;p=thirdparty%2FAWStats.git
Cosmetic change of browsers reports (group by family and add bar in browserdetail).
---
diff --git a/wwwroot/cgi-bin/awstats.pl b/wwwroot/cgi-bin/awstats.pl
index 3824bcb6..59767d95 100644
--- a/wwwroot/cgi-bin/awstats.pl
+++ b/wwwroot/cgi-bin/awstats.pl
@@ -235,6 +235,7 @@ use vars qw/
@_time_p = @_time_h = @_time_k = ();
@fieldlib = @keylist = ();
use vars qw/
+@BrowsersFamily
@SessionsRange %SessionsAverage @HostAliases @AllowAccessFromWebToFollowingAuthenticatedUsers
@DefaultFile @SkipDNSLookupFor
@SkipHosts @SkipUserAgents @SkipFiles
@@ -246,6 +247,7 @@ use vars qw/
@ExtraFirstColumnValuesType @ExtraFirstColumnValuesTypeVal
@PluginsToLoad
/;
+@BrowsersFamily=('msie','netscape');
@SessionsRange=('0s-30s','30s-2mn','2mn-5mn','5mn-15mn','15mn-30mn','30mn-1h','1h+');
%SessionsAverage=('0s-30s',15,'30s-2mn',75,'2mn-5mn',210,'5mn-15mn',600,'15mn-30mn',1350,'30mn-1h',2700,'1h+',3600);
@HostAliases=();
@@ -520,7 +522,8 @@ use vars qw/ @Message /;
'Data value arrays',
'Sender EMail',
'Receiver EMail',
-'Reported period'
+'Reported period',
+'Extra/Marketing'
);
@@ -6160,7 +6163,12 @@ EOF
foreach my $code (keys %TrapInfosForHTTPErrorCodes) {
if ($ShowHTTPErrorsStats) { print ($frame?"
":""); print "$Message[31]\n"; print ($frame?" |
\n":" "); }
}
- foreach my $extranum (1..@ExtraName-1) {
+ if ($linetitle) { print ($frame?"":"\n"); }
+ # Extra/Marketing
+ $linetitle=&AtLeastOneNotNull(@ExtraStatTypes);
+ if ($linetitle) { print "| $Message[134]: | \n"; }
+ if ($linetitle) { print ($frame?"
\n":""); }
+ foreach my $extranum (1..@ExtraName-1) {
print ($frame?" | | ":""); print "$ExtraName[$extranum]\n"; print ($frame?" |
\n":" ");
}
if ($linetitle) { print ($frame?"":"\n"); }
@@ -6964,35 +6972,83 @@ EOF
&html_end;
}
if ($HTMLOutput{'browserdetail'}) {
- # Count total of msie and netscape
- my %total=();
- foreach my $key (keys %_browser_h) {
- if ($key =~ /^msie/i) { $total{"msie"}+=$_browser_h{$key}; next; }
- if ($key =~ /^netscape/i) { $total{"netscape"}+=$_browser_h{$key}; next; }
- }
- # Show msie and netscape arrays
- print "$Center
";
- my $title="$Message[34]
";
+ # Show browsers versions
+ print "$Center
";
+ my $title="$Message[21]";
&tab_head("$title",19);
- print "| $Message[58] | $Message[57] | $Message[15] |
\n";
- foreach my $key (reverse sort keys %_browser_h) {
- if ($key =~ /^msie(.*)/i) {
- my $ver=$1;
- my $p=int($_browser_h{$key}/$total{"msie"}*1000)/10; $p="$p";
- print "| MSIE ".($ver?"$ver":"?")." | $_browser_h{$key} | $p% |
\n";
+ print "| $Message[58] | ";
+ print "$Message[111] | $Message[57] | $Message[15] | ";
+ print " | ";
+ print "
\n";
+ # Count Total by family
+ my %totalfamily_h=();
+ my $Total=0;
+ my $count=0;
+ &BuildKeyList($MaxRowsInHTMLOutput,1,\%_browser_h,\%_browser_h);
+ my %keysinkeylist=();
+ $max_h=1;
+ BROWSERLOOP: foreach my $key (@keylist) {
+ $Total+=$_browser_h{$key};
+ if ($_browser_h{$key} > $max_h) { $max_h = $_browser_h{$key}; }
+ foreach my $family (@BrowsersFamily) { if ($key =~ /^$family/i) { $totalfamily_h{$family}+=$_browser_h{$key}; next BROWSERLOOP; } }
+ }
+ # Write records grouped in a brwoser family
+ foreach my $family (@BrowsersFamily) {
+ my $p=' ';
+ if ($Total) { $p=int($totalfamily_h{$family}/$Total*1000)/10; $p="$p %"; }
+ print "| ".uc($family)." | ";
+ print " | $totalfamily_h{$family} | $p | | ";
+ print "
\n";
+ foreach my $key (reverse sort keys %_browser_h) {
+ if ($key =~ /^$family(.*)/i) {
+ $keysinkeylist{$key}=1;
+ my $ver=$1;
+ my $p=' ';
+ if ($Total) { $p=int($_browser_h{$key}/$Total*1000)/10; $p="$p %"; }
+ print "";
+ print " | ";
+ print "".ucfirst($family)." ".($ver?"$ver":"?")." | ";
+ print "".($BrowsersHereAreGrabbers{$family}?"$Message[112]":"$Message[113]")." | ";
+ my $bredde_h=0;
+ if ($max_h > 0) { $bredde_h=int($BarWidth*($_browser_h{$key}||0)/$max_h)+1; }
+ if (($bredde_h==1) && $_browser_h{$key}) { $bredde_h=2; }
+ print "$_browser_h{$key} | $p | ";
+ print "";
+ # alt and title are not provided to reduce page size
+ if ($ShowBrowsersStats) { print " "; }
+ print " | ";
+ print "
\n";
+ $count++;
+ }
}
}
- &tab_end;
- print "
\n";
- $title="$Message[33]
";
- &tab_head("$title",19);
- print "| $Message[58] | $Message[57] | $Message[15] |
\n";
- foreach my $key (reverse sort keys %_browser_h) {
- if ($key =~ /^netscape(.*)/i) {
- my $ver=$1;
- my $p=int($_browser_h{$key}/$total{"netscape"}*1000)/10; $p="$p";
- print "| Netscape ".($ver?"$ver":"?")." | $_browser_h{$key} | $p% |
\n";
+ # Write other records
+ print "| ".uc($Message[2])." | ";
+ print " | | | | ";
+ print "
\n";
+ foreach my $key (@keylist) {
+ if ($keysinkeylist{$key}) { next; }
+ my $p=' ';
+ if ($Total) { $p=int($_browser_h{$key}/$Total*1000)/10; $p="$p %"; }
+ print "";
+ if ($key eq 'Unknown') {
+ print " | $Message[0] | ? | ";
}
+ else {
+ my $keywithoutcumul=$key; $keywithoutcumul =~ s/cumul$//i;
+ my $libbrowser=$BrowsersHashIDLib{$keywithoutcumul}||$keywithoutcumul;
+ my $nameicon=$BrowsersHashIcon{$keywithoutcumul}||"notavailable";
+ print " | $libbrowser | ".($BrowsersHereAreGrabbers{$key}?"$Message[112]":"$Message[113]")." | ";
+ }
+ my $bredde_h=0;
+ if ($max_h > 0) { $bredde_h=int($BarWidth*($_browser_h{$key}||0)/$max_h)+1; }
+ if (($bredde_h==1) && $_browser_h{$key}) { $bredde_h=2; }
+ print "$_browser_h{$key} | $p | ";
+ print "";
+ # alt and title are not provided to reduce page size
+ if ($ShowBrowsersStats) { print " "; }
+ print " | ";
+ print "
\n";
}
&tab_end;
&html_end;
@@ -8115,56 +8171,60 @@ EOF
if ($ShowOSStats) {
if ($Debug) { debug("ShowOSStats",2); }
print "$Center
\n";
- my $Total=0; foreach my $key (keys %_os_h) { $Total+=$_os_h{$key}; }
- &tab_head("$Message[59]",19);
+ my $Totalh=0; foreach my $key (keys %_os_h) { $Totalh+=$_os_h{$key}; }
+ my $title="$Message[59] - $Message[0]";
+ &tab_head("$title",19);
print "| OS | $Message[57] | $Message[15] |
\n";
my $count=0;
&BuildKeyList($MaxRowsInHTMLOutput,1,\%_os_h,\%_os_h);
foreach my $key (@keylist) {
- my $p=int($_os_h{$key}/$Total*1000)/10;
+ my $p=' ';
+ if ($Totalh) { $p=int($_os_h{$key}/$Totalh*1000)/10; $p="$p %"; }
if ($key eq 'Unknown') {
- print "![\"$Message[0]\"](\"$DirIcons\/os\/unknown.png\") | $Message[0] | $_os_h{$key} | ";
- print "$p % |
\n";
+ print " | $Message[0] | $_os_h{$key} | ";
+ print "$p |
\n";
}
else {
my $newos=$OSHashLib{$key}||$key;
my $nameicon=lc($key); $nameicon =~ s/[^\w]+//g;
print " | $newos | $_os_h{$key} | ";
- print "$p % |
\n";
+ print "$p | \n";
}
$count++;
}
&tab_end;
}
-
+
# BY BROWSER
#----------------------------
if ($ShowBrowsersStats) {
if ($Debug) { debug("ShowBrowsersStats",2); }
print "$Center
\n";
- my $Total=0; my %new_browser_h=();
- foreach my $key (keys %_browser_h) {
- $Total+=$_browser_h{$key};
- if ($key =~ /^msie/i) { $new_browser_h{"msiecumul"}+=$_browser_h{$key}; next; }
- if ($key =~ /^netscape/i) { $new_browser_h{"netscapecumul"}+=$_browser_h{$key}; next; }
+ my $Totalh=0; my %new_browser_h=();
+ BROWSERLOOP: foreach my $key (keys %_browser_h) {
+ $Totalh+=$_browser_h{$key};
+ foreach my $family (@BrowsersFamily) { if ($key =~ /^$family/i) { $new_browser_h{"${family}cumul"}+=$_browser_h{$key}; next BROWSERLOOP; } }
$new_browser_h{$key}+=$_browser_h{$key};
}
- &tab_head("$Message[21]",19);
+ my $title="$Message[21] - $Message[58] - $Message[0]";
+ &tab_head("$title",19);
print "| $Message[21] | $Message[111] | $Message[57] | $Message[15] |
\n";
my $count=0;
&BuildKeyList($MaxRowsInHTMLOutput,1,\%new_browser_h,\%new_browser_h);
foreach my $key (@keylist) {
- my $p=int($new_browser_h{$key}/$Total*1000)/10;
+ my $p=' ';
+ if ($Totalh) { $p=int($new_browser_h{$key}/$Totalh*1000)/10; $p="$p %"; }
if ($key eq 'Unknown') {
- print "![\"$Message[0]\"](\"$DirIcons\/browser\/unknown.png\") | $Message[0] | ? | $_browser_h{$key} | $p% |
\n";
+ print " | $Message[0] | ? | $_browser_h{$key} | $p |
\n";
}
else {
my $keywithoutcumul=$key; $keywithoutcumul =~ s/cumul$//i;
my $libbrowser=$BrowsersHashIDLib{$keywithoutcumul}||$keywithoutcumul;
my $nameicon=$BrowsersHashIcon{$keywithoutcumul}||"notavailable";
- if ($libbrowser eq 'netscape') { $libbrowser="Netscape ($Message[58])"; }
- if ($libbrowser eq 'msie') { $libbrowser="MS Internet Explorer ($Message[58])"; }
- print " | $libbrowser | ".($BrowsersHereAreGrabbers{$key}?"$Message[112]":"$Message[113]")." | $new_browser_h{$key} | $p % |
\n";
+ # TODO Use BrowsrsFamily
+ if ($libbrowser eq 'netscape') { $libbrowser="Netscape"; }
+ if ($libbrowser eq 'msie') { $libbrowser="MS Internet Explorer"; }
+ print " | $libbrowser | ".($BrowsersHereAreGrabbers{$key}?"$Message[112]":"$Message[113]")." | $new_browser_h{$key} | $p |
\n";
}
$count++;
}
diff --git a/wwwroot/cgi-bin/lang/awstats-en.txt b/wwwroot/cgi-bin/lang/awstats-en.txt
index 7182666b..c5acac8a 100644
--- a/wwwroot/cgi-bin/lang/awstats-en.txt
+++ b/wwwroot/cgi-bin/lang/awstats-en.txt
@@ -133,4 +133,5 @@ message129=Exact value not available in 'Year' view
message130=Data value arrays
message131=Sender EMail
message132=Receiver EMail
-message133=Reported period
\ No newline at end of file
+message133=Reported period
+message134=Extra/Marketing
\ No newline at end of file
diff --git a/wwwroot/cgi-bin/lang/awstats-fr.txt b/wwwroot/cgi-bin/lang/awstats-fr.txt
index b6c3c143..9a1e6318 100644
--- a/wwwroot/cgi-bin/lang/awstats-fr.txt
+++ b/wwwroot/cgi-bin/lang/awstats-fr.txt
@@ -133,4 +133,5 @@ message129=Valeur exacte indisponible en vue 'annuelle'
message130=Tableaux des valeurs
message131=EMail Emetteur
message132=EMail Destinataire
-message133=Période d'analyse
\ No newline at end of file
+message133=Période d'analyse
+message134=Extra/Marketing
\ No newline at end of file
diff --git a/wwwroot/cgi-bin/lib/browsers.pm b/wwwroot/cgi-bin/lib/browsers.pm
index 48b09e16..54c79cdc 100644
--- a/wwwroot/cgi-bin/lib/browsers.pm
+++ b/wwwroot/cgi-bin/lib/browsers.pm
@@ -83,10 +83,12 @@
"xaudio",
# PDA/Phonecell browsers
"alcatel",
+"docomo",
"mmef",
"mot-a",
"mspie",
"nokia",
+"sonyericsson",
"up\.", # Works for UP.Browser and UP.Link
"wapalizer",
"wapsilon",
@@ -174,10 +176,12 @@
"xaudio","Some XAudio Engine based MPEG player (media player)",
# PDA/Phonecell browsers
"alcatel","Alcatel Browser (PDA/Phone browser)",
+"docomo","IMode phone (PDA/Phone browser)",
"mmef","Microsoft Mobile Explorer (PDA/Phone browser)",
"mot-a","Motorola Browser (PDA/Phone browser)",
"mspie","MS Pocket Internet Explorer (PDA/Phone browser)",
"nokia","Nokia Browser (PDA/Phone browser)",
+"sonyericsson","Sony/Ericsson Browser (PDA/Phone browser)",
"up\.","UP.Browser (PDA/Phone browser)", # Works for UP.Browser and UP.Link
"wapalizer","WAPalizer (PDA/Phone browser)",
"wapsilon","WAPsilon (PDA/Phone browser)",
@@ -281,10 +285,12 @@
"xaudio","mediaplayer",
# PDA/Phonecell browsers
"alcatel","pdaphone",
+"docomo","pdaphone",
"mmef","pdaphone",
"mot-a","pdaphone",
"mspie","pdaphone",
"nokia","pdaphone",
+"sonyericsson","pdaphone",
"up\.","pdaphone", # Works for UP.Browser and UP.Link
"wapalizer","pdaphone",
"wapsilon","pdaphone",