#-------------------------------------------------------
# Defines
#-------------------------------------------------------
-my $VERSION="4.0 (build 53)";
+my $VERSION="4.0 (build 55)";
# ---------- Init variables -------
my $Debug=0;
my $ShowSteps=0;
+my $AWScript;
my $DIR;
my $PROG;
my $Extension;
$LastUpdate, $LogFile, $LogFormat, $LogFormatString, $Logo, $LogoLink,
$MonthRequired, $PageCode, $PerlParsingFormat, $QueryString,
$SiteConfig, $SiteDomain, $SiteToAnalyze, $SiteToAnalyzeWithoutwww,
+$StyleSheet, $WrapperScript,
$TotalEntries, $TotalBytesPages, $TotalKeyphrases, $TotalDifferentPages, $TotalDifferentKeyphrases,
$URLFilter, $UserAgent, $YearRequired)=
();
//-->
</STYLE>
EOF
+ if ($StyleSheet) {
+ print "<link rel=\"stylesheet\" href=\"$StyleSheet\">\n";
+ }
+
print "</head>\n\n";
print "<body>\n";
# Write logo, flags and product name
if ($param =~ /^NbOfLinesForCorruptedLog/) { $NbOfLinesForCorruptedLog=$value; next; }
if ($param =~ /^SplitSearchString/) { $SplitSearchString=$value; next; }
if ($param =~ /^Expires/) { $Expires=$value; next; }
+ if ($param =~ /^WrapperScript/) { $WrapperScript=$value; next; }
# Read optional accuracy setup section
if ($param =~ /^LevelForRobotsDetection/) { $LevelForRobotsDetection=$value; next; } # Not used yet
if ($param =~ /^LevelForBrowsersDetection/) { $LevelForBrowsersDetection=$value; next; } # Not used yet
if ($param =~ /^BarHeight/) { $BarHeight=$value; next; }
if ($param =~ /^Logo$/) { $Logo=$value; next; }
if ($param =~ /^LogoLink/) { $LogoLink=$value; next; }
+ if ($param =~ /^StyleSheet/) { $StyleSheet=$value; next; }
if ($param =~ /^color_Background/) { $color_Background=$value; next; }
if ($param =~ /^color_TableTitle/) { $color_TableTitle=$value; next; }
if ($param =~ /^color_TableBGTitle/) { $color_TableBGTitle=$value; next; }
if ($flag eq "it") { $lng="Italian"; }
if ($flag eq "nl") { $lng="Dutch"; }
if ($flag eq "es") { $lng="Spanish"; }
- print "<a href=\"$DirCgi$PROG.$Extension?${NewLinkParams}lang=$flag\"><img src=\"$DirIcons\/flags\/$flag.png\" height=14 border=0 alt=\"$lng\" title=\"$lng\"></a> \n";
+ print "<a href=\"$AWScript?${NewLinkParams}lang=$flag\"><img src=\"$DirIcons\/flags\/$flag.png\" height=14 border=0 alt=\"$lng\" title=\"$lng\"></a> \n";
}
}
}
if ($FirstDayOfWeek == 1) { @DOWIndex = (1,2,3,4,5,6,0); }
else { @DOWIndex = (0,1,2,3,4,5,6); }
+# Should we link to ourselves or to a wrapper script
+$AWScript=($WrapperScript?"$WrapperScript":"$DirCgi$PROG.$Extension");
+
# Check year and month parameters
if ($QueryString =~ /year=/i) { $YearRequired=$QueryString; $YearRequired =~ s/.*year=//; $YearRequired =~ s/&.*//; $YearRequired =~ s/ .*//; }
if ((! $YearRequired) || ($YearRequired !~ /^\d\d\d\d$/)) { $YearRequired=$nowyear; }
$NewLinkParams =~ s/staticlinks[=]*[^ &]*//;
$NewLinkParams =~ tr/&/&/s; $NewLinkParams =~ s/^&//; $NewLinkParams =~ s/&$//;
if ($NewLinkParams) { $NewLinkParams="${NewLinkParams}&"; }
- print "<a href=\"$DirCgi$PROG.$Extension?${NewLinkParams}update=1\">$Message[74]</a>";
+ print "<a href=\"$AWScript?${NewLinkParams}update=1\">$Message[74]</a>";
}
print "</td></tr>\n";
if ($QueryString !~ /output=/i) { # If main page asked
print "<td class=AWL>";
if ($ShowDomainsStats) { print "<a href=\"#DOMAINS\">$Message[17]</a> "; }
if ($ShowHostsStats) { print "<a href=\"#VISITOR\">".ucfirst($Message[81])."</a> "; }
- if ($ShowHostsStats) { print "<a href=\"".($ENV{"GATEWAY_INTERFACE"} || !$StaticLinks?"$DirCgi$PROG.$Extension?${NewLinkParams}output=lasthosts":"$PROG$FileSuffix.lasthosts.html")."\">$Message[9]</a> \n"; }
- if ($ShowHostsStats) { print "<a href=\"".($ENV{"GATEWAY_INTERFACE"} || !$StaticLinks?"$DirCgi$PROG.$Extension?${NewLinkParams}output=unknownip":"$PROG$FileSuffix.unknownip.html")."\">$Message[45]</a> \n"; }
+ if ($ShowHostsStats) { print "<a href=\"".($ENV{"GATEWAY_INTERFACE"} || !$StaticLinks?"$AWScript?${NewLinkParams}output=lasthosts":"$PROG$FileSuffix.lasthosts.html")."\">$Message[9]</a> \n"; }
+ if ($ShowHostsStats) { print "<a href=\"".($ENV{"GATEWAY_INTERFACE"} || !$StaticLinks?"$AWScript?${NewLinkParams}output=unknownip":"$PROG$FileSuffix.unknownip.html")."\">$Message[45]</a> \n"; }
if ($ShowAuthenticatedUsers) { print "<a href=\"#LOGIN\">$Message[94]</a> "; }
if ($ShowRobotsStats) { print "<a href=\"#ROBOTS\">$Message[53]</a> "; }
print "<br></td></tr>";
# Navigation
print "<tr><th class=AWL>$Message[72] : </th>";
print "<td class=AWL>";
- if ($ShowPagesStats) { print "<a href=\"".($ENV{"GATEWAY_INTERFACE"} || !$StaticLinks?"$DirCgi$PROG.$Extension?${NewLinkParams}output=urldetail":"$PROG$FileSuffix.urldetail.html")."\">$Message[29]</a> "; }
+ if ($ShowPagesStats) { print "<a href=\"".($ENV{"GATEWAY_INTERFACE"} || !$StaticLinks?"$AWScript?${NewLinkParams}output=urldetail":"$PROG$FileSuffix.urldetail.html")."\">$Message[29]</a> "; }
if ($ShowPagesStats) { print "<a href=\"#ENTRY\">$Message[104]</a> "; }
if ($ShowFileTypesStats) { print "<a href=\"#FILETYPES\">$Message[73]</a> "; }
if ($ShowFileSizesStats) { }
if ($ShowOSStats) { print "<a href=\"#OS\">$Message[59]</a> "; }
if ($ShowBrowsersStats) { print "<a href=\"#BROWSER\">$Message[21]</a> "; }
- if ($ShowBrowsersStats) { print "<a href=\"".($ENV{"GATEWAY_INTERFACE"} || !$StaticLinks?"$DirCgi$PROG.$Extension?${NewLinkParams}output=browserdetail":"$PROG$FileSuffix.browserdetail.html")."\">$Message[33]</a> "; }
- if ($ShowBrowsersStats) { print "<a href=\"".($ENV{"GATEWAY_INTERFACE"} || !$StaticLinks?"$DirCgi$PROG.$Extension?${NewLinkParams}output=browserdetail":"$PROG$FileSuffix.browserdetail.html")."\">$Message[34]</a><br></td></tr>\n"; }
+ if ($ShowBrowsersStats) { print "<a href=\"".($ENV{"GATEWAY_INTERFACE"} || !$StaticLinks?"$AWScript?${NewLinkParams}output=browserdetail":"$PROG$FileSuffix.browserdetail.html")."\">$Message[33]</a> "; }
+ if ($ShowBrowsersStats) { print "<a href=\"".($ENV{"GATEWAY_INTERFACE"} || !$StaticLinks?"$AWScript?${NewLinkParams}output=browserdetail":"$PROG$FileSuffix.browserdetail.html")."\">$Message[34]</a><br></td></tr>\n"; }
# Referers
print "<tr><th class=AWL>$Message[23] : </th>";
print "<td class=AWL>";
print "<td class=AWL>";
if ($ShowCompressionStats) { print "<a href=\"#FILETYPES\">$Message[98]</a> "; }
if ($ShowHTTPErrorsStats) { print "<a href=\"#ERRORS\">$Message[22]</a> "; }
- if ($ShowHTTPErrorsStats) { print "<a href=\"".($ENV{"GATEWAY_INTERFACE"} || !$StaticLinks?"$DirCgi$PROG.$Extension?${NewLinkParams}output=errors404":"$PROG$FileSuffix.errors404.html")."\">$Message[31]</a><br></td></tr>\n"; }
+ if ($ShowHTTPErrorsStats) { print "<a href=\"".($ENV{"GATEWAY_INTERFACE"} || !$StaticLinks?"$AWScript?${NewLinkParams}output=errors404":"$PROG$FileSuffix.errors404.html")."\">$Message[31]</a><br></td></tr>\n"; }
}
else {
${NewLinkParams} =~ s/&+$//;
- if ($ShowBackLink) { print "<tr><td class=AWL><a href=\"".($ENV{"GATEWAY_INTERFACE"} || !$StaticLinks?"$DirCgi$PROG.$Extension".(${NewLinkParams}ne""?"?${NewLinkParams}":""):"$PROG$FileSuffix.html")."\">$Message[76]</a></td></tr>\n"; }
+ if ($ShowBackLink) { print "<tr><td class=AWL><a href=\"".($ENV{"GATEWAY_INTERFACE"} || !$StaticLinks?"$AWScript".(${NewLinkParams}ne""?"?${NewLinkParams}":""):"$PROG$FileSuffix.html")."\">$Message[76]</a></td></tr>\n"; }
}
print "</table>\n";
print "<br>\n";
if ($NewLinkParams) { $NewLinkParams="${NewLinkParams}&"; }
foreach my $key (sort keys %listofyears) {
if ($ENV{"GATEWAY_INTERFACE"} || !$StaticLinks) {
- print "<a href=\"$DirCgi$PROG.$Extension?${NewLinkParams}year=$key&month=year\">$Message[6] $key</a> ";
+ print "<a href=\"$AWScript?${NewLinkParams}year=$key&month=year\">$Message[6] $key</a> ";
}
}
print "</TD>";
for (my $ix=1; $ix<=12; $ix++) {
my $monthix=$ix; if ($monthix < 10) { $monthix="0$monthix"; }
print "<TD valign=middle>";
- if ($ENV{"GATEWAY_INTERFACE"} || !$StaticLinks) { print "<a href=\"$DirCgi$PROG.$Extension?${NewLinkParams}year=$YearRequired&month=$monthix\">"; }
+ if ($ENV{"GATEWAY_INTERFACE"} || !$StaticLinks) { print "<a href=\"$AWScript?${NewLinkParams}year=$YearRequired&month=$monthix\">"; }
print "$monthlib{$monthix}";
if ($ENV{"GATEWAY_INTERFACE"} || !$StaticLinks) { print "</a>"; }
print "</TD>\n";
if ($Debug) { debug("ShowHostsStats",2); }
print "$CENTER<a name=\"VISITOR\"> </a><BR>";
$MaxNbOfHostsShown = (scalar keys %_hostmachine_h) if $MaxNbOfHostsShown > (scalar keys %_hostmachine_h);
- &tab_head("$Message[81] ($Message[77] $MaxNbOfHostsShown) - <a href=\"".($ENV{"GATEWAY_INTERFACE"} || !$StaticLinks?"$DirCgi$PROG.$Extension?${NewLinkParams}output=allhosts":"$PROG$FileSuffix.allhosts.html")."\">$Message[80]</a> - <a href=\"".($ENV{"GATEWAY_INTERFACE"} || !$StaticLinks?"$DirCgi$PROG.$Extension?${NewLinkParams}output=lasthosts":"$PROG$FileSuffix.lasthosts.html")."\">$Message[9]</a> - <a href=\"".($ENV{"GATEWAY_INTERFACE"} || !$StaticLinks?"$DirCgi$PROG.$Extension?${NewLinkParams}output=unknownip":"$PROG$FileSuffix.unknownip.html")."\">$Message[45]</a>",19);
+ &tab_head("$Message[81] ($Message[77] $MaxNbOfHostsShown) - <a href=\"".($ENV{"GATEWAY_INTERFACE"} || !$StaticLinks?"$AWScript?${NewLinkParams}output=allhosts":"$PROG$FileSuffix.allhosts.html")."\">$Message[80]</a> - <a href=\"".($ENV{"GATEWAY_INTERFACE"} || !$StaticLinks?"$AWScript?${NewLinkParams}output=lasthosts":"$PROG$FileSuffix.lasthosts.html")."\">$Message[9]</a> - <a href=\"".($ENV{"GATEWAY_INTERFACE"} || !$StaticLinks?"$AWScript?${NewLinkParams}output=unknownip":"$PROG$FileSuffix.unknownip.html")."\">$Message[45]</a>",19);
if ($MonthRequired ne "year") { print "<TR bgcolor=\"#$color_TableBGRowTitle\"><TH>$Message[81] : $TotalHostsKnown $Message[82], $TotalHostsUnknown $Message[1] - $TotalUnique $Message[11]</TH><TH bgcolor=\"#$color_p\" width=80>$Message[56]</TH><TH bgcolor=\"#$color_h\" width=80>$Message[57]</TH><TH bgcolor=\"#$color_k\" width=80>$Message[75]</TH><TH width=120>$Message[9]</TH></TR>\n"; }
else { print "<TR bgcolor=\"#$color_TableBGRowTitle\"><TH>$Message[81] : ".(scalar keys %_hostmachine_h)."</TH><TH bgcolor=\"#$color_p\" width=80>$Message[56]</TH><TH bgcolor=\"#$color_h\" width=80>$Message[57]</TH><TH bgcolor=\"#$color_k\" width=80>$Message[75]</TH><TH width=120>$Message[9]</TH></TR>\n"; }
$total_p=$total_h=$total_k=0;
if ($Debug) { debug("ShowPagesStats (MaxNbOfPageShown=$MaxNbOfPageShown TotalDifferentPages=$TotalDifferentPages)",2); }
print "$CENTER<a name=\"PAGE\"> </a><a name=\"ENTRY\"> </a><BR>";
$MaxNbOfPageShown = $TotalDifferentPages if $MaxNbOfPageShown > $TotalDifferentPages;
- &tab_head("$Message[19] ($Message[77] $MaxNbOfPageShown) - <a href=\"".($ENV{"GATEWAY_INTERFACE"} || !$StaticLinks?"$DirCgi$PROG.$Extension?${NewLinkParams}output=urldetail":"$PROG$FileSuffix.urldetail.html")."\">$Message[80]</a>",19);
+ &tab_head("$Message[19] ($Message[77] $MaxNbOfPageShown) - <a href=\"".($ENV{"GATEWAY_INTERFACE"} || !$StaticLinks?"$AWScript?${NewLinkParams}output=urldetail":"$PROG$FileSuffix.urldetail.html")."\">$Message[80]</a>",19);
print "<TR bgcolor=\"#$color_TableBGRowTitle\"><TH>$TotalDifferentPages $Message[28]</TH>";
print "<TH bgcolor=\"#$color_p\" width=80>$Message[29]</TH>";
print "<TH bgcolor=\"#$color_s\" width=80>$Message[104]</TH>";
if ($ShowBrowsersStats) {
if ($Debug) { debug("ShowBrowsersStats",2); }
print "$CENTER<a name=\"BROWSER\"> </a><BR>";
- $BrowsersHashIDLib{"netscape"}="<font color=blue>Netscape</font> <a href=\"".($ENV{"GATEWAY_INTERFACE"} || !$StaticLinks?"$DirCgi$PROG.$Extension?${NewLinkParams}output=browserdetail":"$PROG$FileSuffix.browserdetail.html")."\">($Message[58])</a>";
- $BrowsersHashIDLib{"msie"}="<font color=blue>MS Internet Explorer</font> <a href=\"".($ENV{"GATEWAY_INTERFACE"} || !$StaticLinks?"$DirCgi$PROG.$Extension?${NewLinkParams}output=browserdetail":"$PROG$FileSuffix.browserdetail.html")."\">($Message[58])</a>";
+ $BrowsersHashIDLib{"netscape"}="<font color=blue>Netscape</font> <a href=\"".($ENV{"GATEWAY_INTERFACE"} || !$StaticLinks?"$AWScript?${NewLinkParams}output=browserdetail":"$PROG$FileSuffix.browserdetail.html")."\">($Message[58])</a>";
+ $BrowsersHashIDLib{"msie"}="<font color=blue>MS Internet Explorer</font> <a href=\"".($ENV{"GATEWAY_INTERFACE"} || !$StaticLinks?"$AWScript?${NewLinkParams}output=browserdetail":"$PROG$FileSuffix.browserdetail.html")."\">($Message[58])</a>";
my $Total=0; foreach my $key (keys %_browser_h) { $Total+=$_browser_h{$key}; }
&tab_head($Message[21],19);
print "<TR bgcolor=\"#$color_TableBGRowTitle\"><TH colspan=2>Browser</TH><TH width=80>$Message[111]</TH><TH bgcolor=\"#$color_h\" width=80>$Message[57]</TH><TH bgcolor=\"#$color_h\" width=80>$Message[15]</TH></TR>\n";
foreach my $key (sort { $_browser_h{$b} <=> $_browser_h{$a} } keys (%_browser_h)) {
my $p=int($_browser_h{$key}/$Total*1000)/10;
if ($key eq "Unknown") {
- print "<TR><TD width=100><IMG SRC=\"$DirIcons\/browser\/unknown.png\"></TD><TD CLASS=AWL><a href=\"".($ENV{"GATEWAY_INTERFACE"} || !$StaticLinks?"$DirCgi$PROG.$Extension?${NewLinkParams}output=unknownbrowser":"$PROG$FileSuffix.unknownbrowser.html")."\">$Message[0]</a></TD><TD width=80>?</TD><TD>$_browser_h{$key}</TD><TD>$p %</TD></TR>\n";
+ print "<TR><TD width=100><IMG SRC=\"$DirIcons\/browser\/unknown.png\"></TD><TD CLASS=AWL><a href=\"".($ENV{"GATEWAY_INTERFACE"} || !$StaticLinks?"$AWScript?${NewLinkParams}output=unknownbrowser":"$PROG$FileSuffix.unknownbrowser.html")."\">$Message[0]</a></TD><TD width=80>?</TD><TD>$_browser_h{$key}</TD><TD>$p %</TD></TR>\n";
}
else {
my $nameicon=$BrowsersHashIcon{$key}||"notavailable"; $nameicon =~ s/\s.*//; $nameicon =~ tr/A-Z/a-z/;
foreach my $key (sort { $_os_h{$b} <=> $_os_h{$a} } keys (%_os_h)) {
my $p=int($_os_h{$key}/$Total*1000)/10;
if ($key eq "Unknown") {
- print "<TR><TD width=100><IMG SRC=\"$DirIcons\/os\/unknown.png\"></TD><TD CLASS=AWL><a href=\"".($ENV{"GATEWAY_INTERFACE"} || !$StaticLinks?"$DirCgi$PROG.$Extension?${NewLinkParams}output=unknownos":"$PROG$FileSuffix.unknownos.html")."\">$Message[0]</a></TD><TD>$_os_h{$key}</TD>";
+ print "<TR><TD width=100><IMG SRC=\"$DirIcons\/os\/unknown.png\"></TD><TD CLASS=AWL><a href=\"".($ENV{"GATEWAY_INTERFACE"} || !$StaticLinks?"$AWScript?${NewLinkParams}output=unknownos":"$PROG$FileSuffix.unknownos.html")."\">$Message[0]</a></TD><TD>$_os_h{$key}</TD>";
print "<TD>$p %</TD></TR>\n";
}
else {
if ($Debug) { debug("ShowKeyphrasesStats",2); }
print "$CENTER<a name=\"SEARCHKEYS\"> </a><BR>";
$MaxNbOfKeywordsShown = $TotalDifferentKeyphrases if $MaxNbOfKeywordsShown > $TotalDifferentKeyphrases;
- &tab_head("$Message[43] ($Message[77] $MaxNbOfKeywordsShown) - <a href=\"".($ENV{"GATEWAY_INTERFACE"} || !$StaticLinks?"$DirCgi$PROG.$Extension?${NewLinkParams}output=allkeyphrases":"$PROG$FileSuffix.allkeyphrases.html")."\">$Message[80]</a>",19);
+ &tab_head("$Message[43] ($Message[77] $MaxNbOfKeywordsShown) - <a href=\"".($ENV{"GATEWAY_INTERFACE"} || !$StaticLinks?"$AWScript?${NewLinkParams}output=allkeyphrases":"$PROG$FileSuffix.allkeyphrases.html")."\">$Message[80]</a>",19);
print "<TR bgcolor=\"#$color_TableBGRowTitle\" onmouseover=\"ShowTooltip(15);\" onmouseout=\"HideTooltip(15);\"><TH>$TotalDifferentKeyphrases $Message[103]</TH><TH bgcolor=\"#$color_s\" width=80>$Message[14]</TH><TH bgcolor=\"#$color_s\" width=80>$Message[15]</TH></TR>\n";
$total_s=0;
my $count=0;
my $p=int($_errors_h{$key}/$TotalErrors*1000)/10;
if ($httpcode{$key}) { print "<TR onmouseover=\"ShowTooltip($key);\" onmouseout=\"HideTooltip($key);\">"; }
else { print "<TR>"; }
- if ($key == 404) { print "<TD><a href=\"".($ENV{"GATEWAY_INTERFACE"} || !$StaticLinks?"$DirCgi$PROG.$Extension?${NewLinkParams}output=errors404":"$PROG$FileSuffix.errors404.html")."\">$key</a></TD>"; }
+ if ($key == 404) { print "<TD><a href=\"".($ENV{"GATEWAY_INTERFACE"} || !$StaticLinks?"$AWScript?${NewLinkParams}output=errors404":"$PROG$FileSuffix.errors404.html")."\">$key</a></TD>"; }
else { print "<TD>$key</TD>"; }
if ($httpcode{$key}) { print "<TD CLASS=AWL>$httpcode{$key}</TD><TD>$_errors_h{$key}</TD><TD>$p %</TD></TR>\n"; }
else { print "<TD CLASS=AWL>Unknown error</TD><TD>$_errors_h{$key}</TD><TD>$p %</TD></TR>\n"; }