From: eldy <> Date: Fri, 31 Oct 2003 23:18:15 +0000 (+0000) Subject: A new search engine database to allow several "match id" for same search engine. X-Git-Tag: AWSTATS_6_0_BETA~184 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=992d0e45eed18bdedaef3babb4f03106db4fe8f4;p=thirdparty%2FAWStats.git A new search engine database to allow several "match id" for same search engine. --- diff --git a/wwwroot/cgi-bin/awstats.pl b/wwwroot/cgi-bin/awstats.pl index 9196c989..f88ca159 100644 --- a/wwwroot/cgi-bin/awstats.pl +++ b/wwwroot/cgi-bin/awstats.pl @@ -255,7 +255,7 @@ use vars qw/ %MimeHashLib %MimeHashIcon %MimeHashFamily %OSHashID %OSHashLib %RobotsHashIDLib -%SearchEnginesHashIDLib %SearchEnginesKnownUrl %NotSearchEnginesKeys +%SearchEnginesHashID %SearchEnginesHashLib %SearchEnginesKnownUrl %NotSearchEnginesKeys %WormsHashID %WormsHashLib /; use vars qw/ @@ -528,7 +528,7 @@ print "body { font: 11px verdana, arial, helvetica, sans-serif; background-color print ".aws_bodyl { }\n"; print ".aws_border { background-color: #$color_TableBG; padding: 1px 1px 1px 1px; margin-top: 0 }\n"; print ".aws_title { font: 13px verdana, arial, helvetica, sans-serif; font-weight: bold; background-color: #$color_TableBGTitle; text-align: center; margin-bottom: 0; padding: 1px 1px 1px 1px; }\n"; -print ".aws_blank { font: 13px verdana, arial, helvetica, sans-serif; background-color: #".($ENV{'HTTP_USER_AGENT'}=~/MSIE/i?$color_Background:$color_TableBG)."; text-align: center; margin-bottom: 0; padding: 1px 1px 1px 1px; }\n"; +print ".aws_blank { font: 13px verdana, arial, helvetica, sans-serif; background-color: #".($ENV{'HTTP_USER_AGENT'} && $ENV{'HTTP_USER_AGENT'}=~/MSIE/i?$color_Background:$color_TableBG)."; text-align: center; margin-bottom: 0; padding: 1px 1px 1px 1px; }\n"; print <) { chomp $_; s/\r//; if ($_ =~ /^PageCode=[\t\s\"\']*([\w-]+)/i) { $PageCode = $1; } - if ($_ =~ /^PageDir=[\t\s\"\']*([\w-]+)/i) { $PageDir = $1; } + if ($_ =~ /^PageDir=[\t\s\"\']*([\w-]+)/i) { $PageDir = $1; } if ($_ =~ s/^Message\d+=//i) { $_ =~ s/#.*//; # Remove comments $_ =~ tr/\t / /s; # Change all blanks into " " @@ -2778,8 +2779,25 @@ sub Read_History_With_TmpUpdate { $count++; if ($SectionsToLoad{'sereferrals'}) { $countloaded++; - if ($versionnum < 5004) { # For history files < 5.4 - if ($field[1]) { $_se_referrals_h{$field[0]}+=$field[1]; } + if ($versionnum < 5004) { # For history files < 5.4 + my $se=$field[0]; $se=~s/\./\\./g; + if ($SearchEnginesHashID{$se}) { + $_se_referrals_h{$SearchEnginesHashID{$se}}+=$field[1]||0; + } + else { + $_se_referrals_h{$field[0]}+=$field[1]||0; + } + } + elsif ($versionnum < 5091) { # For history files < 5.91 + my $se=$field[0]; $se=~s/\./\\./g; + if ($SearchEnginesHashID{$se}) { + $_se_referrals_p{$SearchEnginesHashID{$se}}+=$field[1]||0; + $_se_referrals_h{$SearchEnginesHashID{$se}}+=$field[2]||0; + } + else { + $_se_referrals_p{$field[0]}+=$field[1]||0; + $_se_referrals_h{$field[0]}+=$field[2]||0; + } } else { if ($field[1]) { $_se_referrals_p{$field[0]}+=$field[1]; } if ($field[2]) { $_se_referrals_h{$field[0]}+=$field[2]; } @@ -5176,7 +5194,7 @@ if ((! $ENV{'GATEWAY_INTERFACE'}) && (! $SiteConfig)) { print " ".(scalar keys %RobotsHashIDLib)." robots\n"; print " ".(scalar keys %OSHashLib)." operating systems\n"; print " ".(scalar keys %BrowsersHashIDLib)." browsers\n"; - print " ".(scalar keys %SearchEnginesHashIDLib)." search engines (and keyphrases/keywords used from them)\n"; + print " ".(scalar keys %SearchEnginesHashLib)." search engines (and keyphrases/keywords used from them)\n"; print " All HTTP errors with last referrer\n"; print " Report by day/month/year\n"; print " Dynamic or static HTML reports, static PDF reports\n"; @@ -6250,7 +6268,7 @@ if ($UpdateStats && $FrameName ne 'index' && $FrameName ne 'mainleft') { # Updat if (! $NotSearchEnginesKeys{$key} || $refererserver !~ /$NotSearchEnginesKeys{$key}/i) { # This hit came from the search engine $key if ($Debug) { debug(" Server '$refererserver' is added to TmpRefererServer with value '$key'",2); } - $TmpRefererServer{$refererserver}="$key"; + $TmpRefererServer{$refererserver}=$SearchEnginesHashID{$key}; $found=1; } last; @@ -6906,7 +6924,7 @@ if (scalar keys %HTMLOutput) { for (my $month=$beginmonth; $month<=$endmonth; $month++) { my $monthix=sprintf("%02s",$month); if ($FirstTime{$YearRequired.$monthix} && ($FirstTime == 0 || $FirstTime > $FirstTime{$YearRequired.$monthix})) { $FirstTime = $FirstTime{$YearRequired.$monthix}; } - if ($LastTime < $LastTime{$YearRequired.$monthix}) { $LastTime = $LastTime{$YearRequired.$monthix}; } + if ($LastTime < ($LastTime{$YearRequired.$monthix}||0)) { $LastTime = $LastTime{$YearRequired.$monthix}; } $TotalVisits+=$MonthVisits{$YearRequired.$monthix}||0; $TotalPages+=$MonthPages{$YearRequired.$monthix}||0; $TotalHits+=$MonthHits{$YearRequired.$monthix}||0; @@ -7786,7 +7804,7 @@ if (scalar keys %HTMLOutput) { my $count=0; &BuildKeyList($MaxRowsInHTMLOutput,$MinHit{'Refer'},\%_se_referrals_h,\%_se_referrals_p); foreach my $key (@keylist) { - my $newreferer=CleanFromCSSA($SearchEnginesHashIDLib{$key}||$key); + my $newreferer=CleanFromCSSA($SearchEnginesHashLib{$key}||$key); my $p_p; my $p_h; if ($TotalSearchEnginesPages) { $p_p=int($_se_referrals_p{$key}/$TotalSearchEnginesPages*1000)/10; } if ($TotalSearchEnginesHits) { $p_h=int($_se_referrals_h{$key}/$TotalSearchEnginesHits*1000)/10; } @@ -8037,11 +8055,11 @@ if (scalar keys %HTMLOutput) { $total_p+=$MonthPages{$YearRequired.$monthix}||0; $total_h+=$MonthHits{$YearRequired.$monthix}||0; $total_k+=$MonthBytes{$YearRequired.$monthix}||0; - #if ($MonthUnique{$YearRequired.$monthix} > $max_v) { $max_v=$MonthUnique{$YearRequired.$monthix}; } - if ($MonthVisits{$YearRequired.$monthix} > $max_v) { $max_v=$MonthVisits{$YearRequired.$monthix}; } - #if ($MonthPages{$YearRequired.$monthix} > $max_p) { $max_p=$MonthPages{$YearRequired.$monthix}; } - if ($MonthHits{$YearRequired.$monthix} > $max_h) { $max_h=$MonthHits{$YearRequired.$monthix}; } - if ($MonthBytes{$YearRequired.$monthix} > $max_k) { $max_k=$MonthBytes{$YearRequired.$monthix}; } + #if (($MonthUnique{$YearRequired.$monthix}||0) > $max_v) { $max_v=$MonthUnique{$YearRequired.$monthix}; } + if (($MonthVisits{$YearRequired.$monthix}||0) > $max_v) { $max_v=$MonthVisits{$YearRequired.$monthix}; } + #if (($MonthPages{$YearRequired.$monthix}||0) > $max_p) { $max_p=$MonthPages{$YearRequired.$monthix}; } + if (($MonthHits{$YearRequired.$monthix}||0) > $max_h) { $max_h=$MonthHits{$YearRequired.$monthix}; } + if (($MonthBytes{$YearRequired.$monthix}||0) > $max_k) { $max_k=$MonthBytes{$YearRequired.$monthix}; } } # Define average # TODO @@ -8051,17 +8069,17 @@ if (scalar keys %HTMLOutput) { for (my $ix=1; $ix<=12; $ix++) { my $monthix=sprintf("%02s",$ix); my $bredde_u=0; my $bredde_v=0;my $bredde_p=0;my $bredde_h=0;my $bredde_k=0; - if ($max_v > 0) { $bredde_u=int($MonthUnique{$YearRequired.$monthix}/$max_v*$BarHeight)+1; } - if ($max_v > 0) { $bredde_v=int($MonthVisits{$YearRequired.$monthix}/$max_v*$BarHeight)+1; } - if ($max_h > 0) { $bredde_p=int($MonthPages{$YearRequired.$monthix}/$max_h*$BarHeight)+1; } - if ($max_h > 0) { $bredde_h=int($MonthHits{$YearRequired.$monthix}/$max_h*$BarHeight)+1; } - if ($max_k > 0) { $bredde_k=int($MonthBytes{$YearRequired.$monthix}/$max_k*$BarHeight)+1; } + if ($max_v > 0) { $bredde_u=int(($MonthUnique{$YearRequired.$monthix}||0)/$max_v*$BarHeight)+1; } + if ($max_v > 0) { $bredde_v=int(($MonthVisits{$YearRequired.$monthix}||0)/$max_v*$BarHeight)+1; } + if ($max_h > 0) { $bredde_p=int(($MonthPages{$YearRequired.$monthix}||0)/$max_h*$BarHeight)+1; } + if ($max_h > 0) { $bredde_h=int(($MonthHits{$YearRequired.$monthix}||0)/$max_h*$BarHeight)+1; } + if ($max_k > 0) { $bredde_k=int(($MonthBytes{$YearRequired.$monthix}||0)/$max_k*$BarHeight)+1; } print ""; - if ($ShowMonthStats =~ /U/i) { print ""; } - if ($ShowMonthStats =~ /V/i) { print ""; } + if ($ShowMonthStats =~ /U/i) { print ""; } + if ($ShowMonthStats =~ /V/i) { print ""; } if ($QueryString !~ /buildpdf/i) { print " "; } - if ($ShowMonthStats =~ /P/i) { print ""; } - if ($ShowMonthStats =~ /H/i) { print ""; } + if ($ShowMonthStats =~ /P/i) { print ""; } + if ($ShowMonthStats =~ /H/i) { print ""; } if ($ShowMonthStats =~ /B/i) { print ""; } print "\n"; } @@ -8111,7 +8129,7 @@ if (scalar keys %HTMLOutput) { if ($ShowMonthStats =~ /V/i) { print "",$MonthVisits{$YearRequired.$monthix}?$MonthVisits{$YearRequired.$monthix}:"0",""; } if ($ShowMonthStats =~ /P/i) { print "",$MonthPages{$YearRequired.$monthix}?$MonthPages{$YearRequired.$monthix}:"0",""; } if ($ShowMonthStats =~ /H/i) { print "",$MonthHits{$YearRequired.$monthix}?$MonthHits{$YearRequired.$monthix}:"0",""; } - if ($ShowMonthStats =~ /B/i) { print "",Format_Bytes(int($MonthBytes{$YearRequired.$monthix})),""; } + if ($ShowMonthStats =~ /B/i) { print "",Format_Bytes(int($MonthBytes{$YearRequired.$monthix}||0)),""; } print "\n"; } # Average row @@ -8272,7 +8290,7 @@ if (scalar keys %HTMLOutput) { if ($ShowDaysOfMonthStats =~ /V/i) { print "",$DayVisits{$year.$month.$day}?$DayVisits{$year.$month.$day}:"0",""; } if ($ShowDaysOfMonthStats =~ /P/i) { print "",$DayPages{$year.$month.$day}?$DayPages{$year.$month.$day}:"0",""; } if ($ShowDaysOfMonthStats =~ /H/i) { print "",$DayHits{$year.$month.$day}?$DayHits{$year.$month.$day}:"0",""; } - if ($ShowDaysOfMonthStats =~ /B/i) { print "",Format_Bytes(int($DayBytes{$year.$month.$day})),""; } + if ($ShowDaysOfMonthStats =~ /B/i) { print "",Format_Bytes(int($DayBytes{$year.$month.$day}||0)),""; } print "\n"; } # Average row @@ -8709,7 +8727,7 @@ if (scalar keys %HTMLOutput) { print "$Center 
\n"; my $title="$Message[117]"; &tab_head($title,19,0,'sessions'); - my $Totals=0; foreach my $key (@SessionsRange) { $average_s+=$_session{$key}*$SessionsAverage{$key}; $Totals+=$_session{$key}; } + my $Totals=0; foreach my $key (@SessionsRange) { $average_s+=($_session{$key}||0)*$SessionsAverage{$key}; $Totals+=$_session{$key}||0; } if ($Totals) { $average_s=int($average_s/$Totals); } else { $average_s='?'; } print "$Message[10]: $TotalVisits - $Message[96]: $average_s s$Message[10]$Message[15]\n"; @@ -9053,7 +9071,7 @@ if (scalar keys %HTMLOutput) { if ($ShowOriginStats =~ /P/i) { print "".($_from_p[5]?$_from_p[5]:" ")."".($_from_p[5]?"$p_p[5] %":" ").""; } if ($ShowOriginStats =~ /H/i) { print "".($_from_h[5]?$_from_h[5]:" ")."".($_from_h[5]?"$p_h[5] %":" ").""; } print "\n"; - #------- Referrals by search engine + #------- Referrals by search engines print "$Message[40] - $Message[80]
\n"; if (scalar keys %_se_referrals_h) { print "\n"; @@ -9061,7 +9079,7 @@ if (scalar keys %HTMLOutput) { my $count=0; &BuildKeyList($MaxNbOf{'RefererShown'},$MinHit{'Refer'},\%_se_referrals_h,\%_se_referrals_p); foreach my $key (@keylist) { - my $newreferer=CleanFromCSSA($SearchEnginesHashIDLib{$key}||$key); + my $newreferer=CleanFromCSSA($SearchEnginesHashLib{$key}||$key); print ""; print ""; print "";
- $newreferer".($_se_referrals_p{$key}?$_se_referrals_p{$key}:'0')."$_se_referrals_h{$key}