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]
\"Msie\""; + # 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]
\"Netscape\""; - &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]\"$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]\"$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",