Fix several issues in design, moved png images in a dedicated repository, fix french translation encoding and bug fixes. Thanks to Nathanael Bonin for the patches.
14
MANIFEST
@ -9,16 +9,16 @@ etc/excluded
|
|||||||
etc/network-aliases
|
etc/network-aliases
|
||||||
etc/squidanalyzer.conf
|
etc/squidanalyzer.conf
|
||||||
etc/user-aliases
|
etc/user-aliases
|
||||||
resources/back-arrow.png
|
resources/images/back-arrow.png
|
||||||
resources/cursor.png
|
resources/images/cursor.png
|
||||||
resources/domain.png
|
resources/images/domain.png
|
||||||
|
resources/images/info.png
|
||||||
|
resources/images/logo-squidanalyzer.png
|
||||||
|
resources/images/network.png
|
||||||
|
resources/images/user.png
|
||||||
resources/flotr2.js
|
resources/flotr2.js
|
||||||
resources/info.png
|
|
||||||
resources/logo-squidanalyzer.png
|
|
||||||
resources/network.png
|
|
||||||
resources/sorttable.js
|
resources/sorttable.js
|
||||||
resources/squidanalyzer.css
|
resources/squidanalyzer.css
|
||||||
resources/user.png
|
|
||||||
lang/de_DE.txt
|
lang/de_DE.txt
|
||||||
lang/en_US.txt
|
lang/en_US.txt
|
||||||
lang/fr_FR.txt
|
lang/fr_FR.txt
|
||||||
|
19
Makefile.PL
@ -42,11 +42,16 @@ if [ ! -d "$DESTDIR$BINDIR" ]; then
|
|||||||
fi
|
fi
|
||||||
if [ ! -d "$DESTDIR$CONFDIR" ]; then
|
if [ ! -d "$DESTDIR$CONFDIR" ]; then
|
||||||
mkdir -p $DESTDIR$CONFDIR
|
mkdir -p $DESTDIR$CONFDIR
|
||||||
|
fi
|
||||||
|
if [ ! -d "$DESTDIR$CONFDIR/lang" ]; then
|
||||||
mkdir -p $DESTDIR$CONFDIR/lang
|
mkdir -p $DESTDIR$CONFDIR/lang
|
||||||
fi
|
fi
|
||||||
if [ ! -d "$DESTDIR$HTMLDIR" ]; then
|
if [ ! -d "$DESTDIR$HTMLDIR" ]; then
|
||||||
mkdir -p $DESTDIR$HTMLDIR
|
mkdir -p $DESTDIR$HTMLDIR
|
||||||
fi
|
fi
|
||||||
|
if [ ! -d "$DESTDIR$HTMLDIR/images" ]; then
|
||||||
|
mkdir -p $DESTDIR$HTMLDIR/images
|
||||||
|
fi
|
||||||
};
|
};
|
||||||
|
|
||||||
if ($DOCDIR ne '') {
|
if ($DOCDIR ne '') {
|
||||||
@ -68,15 +73,15 @@ install -m 644 etc/user-aliases $DESTDIR$CONFDIR/user-aliases.orig
|
|||||||
install -m 644 etc/excluded $DESTDIR$CONFDIR/excluded.orig
|
install -m 644 etc/excluded $DESTDIR$CONFDIR/excluded.orig
|
||||||
install -m 755 squid-analyzer $DESTDIR$BINDIR/
|
install -m 755 squid-analyzer $DESTDIR$BINDIR/
|
||||||
install -m 644 resources/sorttable.js $DESTDIR$HTMLDIR/
|
install -m 644 resources/sorttable.js $DESTDIR$HTMLDIR/
|
||||||
install -m 644 resources/logo-squidanalyzer.png $DESTDIR$HTMLDIR/
|
|
||||||
install -m 644 resources/squidanalyzer.css $DESTDIR$HTMLDIR/
|
install -m 644 resources/squidanalyzer.css $DESTDIR$HTMLDIR/
|
||||||
install -m 644 resources/flotr2.js $DESTDIR$HTMLDIR/
|
install -m 644 resources/flotr2.js $DESTDIR$HTMLDIR/
|
||||||
install -m 644 resources/cursor.png $DESTDIR$HTMLDIR/
|
install -m 644 resources/images/logo-squidanalyzer.png $DESTDIR$HTMLDIR/images/
|
||||||
install -m 644 resources/domain.png $DESTDIR$HTMLDIR/
|
install -m 644 resources/images/cursor.png $DESTDIR$HTMLDIR/images/
|
||||||
install -m 644 resources/back-arrow.png $DESTDIR$HTMLDIR/
|
install -m 644 resources/images/domain.png $DESTDIR$HTMLDIR/images/
|
||||||
install -m 644 resources/info.png $DESTDIR$HTMLDIR/
|
install -m 644 resources/images/back-arrow.png $DESTDIR$HTMLDIR/images/
|
||||||
install -m 644 resources/network.png $DESTDIR$HTMLDIR/
|
install -m 644 resources/images/info.png $DESTDIR$HTMLDIR/images/
|
||||||
install -m 644 resources/user.png $DESTDIR$HTMLDIR/
|
install -m 644 resources/images/network.png $DESTDIR$HTMLDIR/images/
|
||||||
|
install -m 644 resources/images/user.png $DESTDIR$HTMLDIR/images/
|
||||||
install -m 644 lang/* $DESTDIR$CONFDIR/lang/
|
install -m 644 lang/* $DESTDIR$CONFDIR/lang/
|
||||||
pod2man doc/SquidAnalyzer.pod doc/squidanalyzer.3
|
pod2man doc/SquidAnalyzer.pod doc/squidanalyzer.3
|
||||||
install -m 644 doc/squidanalyzer.3 $DESTDIR$MANDIR/squidanalyzer.3
|
install -m 644 doc/squidanalyzer.3 $DESTDIR$MANDIR/squidanalyzer.3
|
||||||
|
102
SquidAnalyzer.pm
@ -36,6 +36,7 @@ $BZCAT_PROG = "/bin/bzcat";
|
|||||||
|
|
||||||
# Default translation srings
|
# Default translation srings
|
||||||
my %Translate = (
|
my %Translate = (
|
||||||
|
'Charset' => 'utf-8',
|
||||||
'01' => 'Jan',
|
'01' => 'Jan',
|
||||||
'02' => 'Feb',
|
'02' => 'Feb',
|
||||||
'03' => 'Mar',
|
'03' => 'Mar',
|
||||||
@ -1106,44 +1107,13 @@ sub _print_header
|
|||||||
<meta HTTP-EQUIV="Expires" CONTENT="$now" />
|
<meta HTTP-EQUIV="Expires" CONTENT="$now" />
|
||||||
<meta HTTP-EQUIV="Generator" CONTENT="SquidAnalyzer $VERSION" />
|
<meta HTTP-EQUIV="Generator" CONTENT="SquidAnalyzer $VERSION" />
|
||||||
<meta HTTP-EQUIV="Date" CONTENT="$now" />
|
<meta HTTP-EQUIV="Date" CONTENT="$now" />
|
||||||
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8" />
|
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=$Translate{'CharSet'}" />
|
||||||
<title>SquidAnalyzer $VERSION Report</title>
|
<title>SquidAnalyzer $VERSION Report</title>
|
||||||
<link rel="stylesheet" type="text/css" href="$self->{WebUrl}squidanalyzer.css" media="screen" />
|
<link rel="stylesheet" type="text/css" href="$self->{WebUrl}squidanalyzer.css" media="screen" />
|
||||||
<!-- javascript to sort table -->
|
<!-- javascript to sort table -->
|
||||||
<script type="text/javascript" src="$self->{WebUrl}sorttable.js"></script>
|
<script type="text/javascript" src="$self->{WebUrl}sorttable.js"></script>
|
||||||
<!-- javascript to draw graphics -->
|
<!-- javascript to draw graphics -->
|
||||||
<script type="text/javascript" src="$self->{WebUrl}flotr2.js"></script>
|
<script type="text/javascript" src="$self->{WebUrl}flotr2.js"></script>
|
||||||
<style>
|
|
||||||
#code_requests, #code_bytes, #network_hits, #network_bytes, #user_hits, #user_bytes, #domain_hits, #domain_bytes {
|
|
||||||
width : 600px;
|
|
||||||
height: 300px;
|
|
||||||
background:#F3F2ED;
|
|
||||||
border:4px double white;
|
|
||||||
padding:0 10px;
|
|
||||||
margin:30px 0 30px 0;
|
|
||||||
border-radius:10px;
|
|
||||||
-moz-border-radius:10px;
|
|
||||||
-webkit-border-radius:10px;
|
|
||||||
box-shadow:3px 3px 6px 2px #A9A9A9;
|
|
||||||
-moz-box-shadow:3px 3px 6px 2px #A9A9A9;
|
|
||||||
-webkit-box-shadow:3px 3px 6px #A9A9A9;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* <![CDATA[ */
|
|
||||||
function toggle(idButton, idDiv, label) {
|
|
||||||
if(document.getElementById(idDiv)) {
|
|
||||||
if(document.getElementById(idDiv).style.display == 'none') {
|
|
||||||
document.getElementById(idDiv).style.display = 'block';
|
|
||||||
document.getElementById(idButton).value = 'Hide '+label;
|
|
||||||
} else {
|
|
||||||
document.getElementById(idDiv).style.display = 'none';
|
|
||||||
document.getElementById(idButton).value = 'Show '+label;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/* ]]> */
|
|
||||||
</script>
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="conteneur">
|
<div id="conteneur">
|
||||||
@ -1151,7 +1121,7 @@ function toggle(idButton, idDiv, label) {
|
|||||||
<div id="header">
|
<div id="header">
|
||||||
<div id="alignLeft">
|
<div id="alignLeft">
|
||||||
<h1>
|
<h1>
|
||||||
<a href="$self->{WebUrl}"><img src="$self->{WebUrl}logo-squidanalyzer.png" title="SquidAnalyzer $VERSION" border="0"></a>
|
<a href="$self->{WebUrl}"><img src="$self->{WebUrl}images/logo-squidanalyzer.png" title="SquidAnalyzer $VERSION" border="0"></a>
|
||||||
SquidAnalyzer
|
SquidAnalyzer
|
||||||
</h1>
|
</h1>
|
||||||
<p class="sous-titre">
|
<p class="sous-titre">
|
||||||
@ -1424,8 +1394,7 @@ sub _print_cache_stat
|
|||||||
@total = ();
|
@total = ();
|
||||||
|
|
||||||
print $out qq{
|
print $out qq{
|
||||||
<div id="stata">
|
<table class="stata">
|
||||||
<table>
|
|
||||||
<tr>
|
<tr>
|
||||||
<th colspan="2" class="headerBlack">$Translate{'Requests'}</th>
|
<th colspan="2" class="headerBlack">$Translate{'Requests'}</th>
|
||||||
<th colspan="2" class="headerBlack">$Translate{'Bytes'}</th>
|
<th colspan="2" class="headerBlack">$Translate{'Bytes'}</th>
|
||||||
@ -1464,24 +1433,23 @@ sub _print_cache_stat
|
|||||||
print $out qq{
|
print $out qq{
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
|
||||||
|
|
||||||
<table><tr><td>$code_requests</td><td>$code_bytes</td></tr></table>
|
<table><tr><td>$code_requests</td><td>$code_bytes</td></tr></table>
|
||||||
|
|
||||||
<h4>$Translate{'Legende'}</h4>
|
<h4>$Translate{'Legende'}</h4>
|
||||||
<div class="line-separator"></div>
|
<div class="line-separator"></div>
|
||||||
<pre>
|
<div class="displayLegend">
|
||||||
<span class="legendeTitle">$Translate{'Hit'}:</span> <span class="descLegende">$Translate{'Hit_help'}</span>
|
<span class="legendeTitle">$Translate{'Hit'}:</span> <span class="descLegende">$Translate{'Hit_help'}</span><br/>
|
||||||
<span class="legendeTitle">$Translate{'Miss'}:</span> <span class="descLegende">$Translate{'Miss_help'}</span>
|
<span class="legendeTitle">$Translate{'Miss'}:</span> <span class="descLegende">$Translate{'Miss_help'}</span><br/>
|
||||||
<span class="legendeTitle">$Translate{'Users'}:</span> <span class="descLegende">$Translate{'Users_help'}</span>
|
<span class="legendeTitle">$Translate{'Users'}:</span> <span class="descLegende">$Translate{'Users_help'}</span><br/>
|
||||||
<span class="legendeTitle">$Translate{'Sites'}:</span> <span class="descLegende">$Translate{'Sites_help'}</span>
|
<span class="legendeTitle">$Translate{'Sites'}:</span> <span class="descLegende">$Translate{'Sites_help'}</span><br/>
|
||||||
<span class="legendeTitle">$Translate{'Domains'}:</span> <span class="descLegende">$Translate{'Domains_help'}</span>
|
<span class="legendeTitle">$Translate{'Domains'}:</span> <span class="descLegende">$Translate{'Domains_help'}</span><br/>
|
||||||
};
|
};
|
||||||
print $out qq{
|
print $out qq{
|
||||||
<span class="legendeTitle">$Translate{'Cost'}:</span> <span class="descLegende">$Translate{'Cost_help'} $self->{CostPrice} $self->{Currency}</span>
|
<span class="legendeTitle">$Translate{'Cost'}:</span> <span class="descLegende">$Translate{'Cost_help'} $self->{CostPrice} $self->{Currency}</span><br/>
|
||||||
} if ($self->{CostPrice});
|
} if ($self->{CostPrice});
|
||||||
print $out qq{
|
print $out qq{
|
||||||
</pre>
|
</div>
|
||||||
};
|
};
|
||||||
|
|
||||||
%code_stat = ();
|
%code_stat = ();
|
||||||
@ -1534,8 +1502,7 @@ sub _print_mime_stat
|
|||||||
|
|
||||||
print $out "<h3>$Translate{'Mime_number'}: $ntype</h3>\n";
|
print $out "<h3>$Translate{'Mime_number'}: $ntype</h3>\n";
|
||||||
print $out qq{
|
print $out qq{
|
||||||
<div id="stata">
|
<table class="sortable stata" cellpadding=1 cellspacing=1 align=center>
|
||||||
<table class="sortable" cellpadding=1 cellspacing=1 align=center>
|
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th nowrap>$Translate{'Mime_link'}</th>
|
<th nowrap>$Translate{'Mime_link'}</th>
|
||||||
@ -1574,7 +1541,6 @@ sub _print_mime_stat
|
|||||||
}
|
}
|
||||||
print $out qq{
|
print $out qq{
|
||||||
</table>
|
</table>
|
||||||
</div>
|
|
||||||
};
|
};
|
||||||
|
|
||||||
print $out qq{
|
print $out qq{
|
||||||
@ -1722,8 +1688,7 @@ sub _print_network_stat
|
|||||||
$network_bytes = '';
|
$network_bytes = '';
|
||||||
print $out "<h3>$Translate{'Network_number'}: $nnet</h3>\n";
|
print $out "<h3>$Translate{'Network_number'}: $nnet</h3>\n";
|
||||||
print $out qq{
|
print $out qq{
|
||||||
<div id="stata">
|
<table class="sortable stata" cellpadding=1 cellspacing=1 align=center">
|
||||||
<table class="sortable" cellpadding=1 cellspacing=1 align=center>
|
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>$Translate{'Network_link'}</th>
|
<th>$Translate{'Network_link'}</th>
|
||||||
@ -1848,7 +1813,7 @@ sub _print_network_stat
|
|||||||
$self->_print_footer(\$outnet);
|
$self->_print_footer(\$outnet);
|
||||||
$outnet->close();
|
$outnet->close();
|
||||||
}
|
}
|
||||||
print $out "</table>\n</div>\n";
|
print $out "</table>\n";
|
||||||
|
|
||||||
print $out qq{
|
print $out qq{
|
||||||
<div id="uplink">
|
<div id="uplink">
|
||||||
@ -1857,7 +1822,6 @@ sub _print_network_stat
|
|||||||
<th><a href="#atop">[ $Translate{'Up_link'} ]</a></th>
|
<th><a href="#atop">[ $Translate{'Up_link'} ]</a></th>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
|
||||||
};
|
};
|
||||||
$self->_print_footer(\$out);
|
$self->_print_footer(\$out);
|
||||||
$out->close();
|
$out->close();
|
||||||
@ -1989,8 +1953,7 @@ sub _print_user_stat
|
|||||||
$user_bytes = '';
|
$user_bytes = '';
|
||||||
|
|
||||||
print $out qq{
|
print $out qq{
|
||||||
<div id="stata">
|
<table class="sortable stata" >
|
||||||
<table class="sortable">
|
|
||||||
<thead>
|
<thead>
|
||||||
<tr align="center">
|
<tr align="center">
|
||||||
<th>$Translate{'Users'}</th>
|
<th>$Translate{'Users'}</th>
|
||||||
@ -2116,7 +2079,6 @@ sub _print_user_stat
|
|||||||
}
|
}
|
||||||
print $out qq{
|
print $out qq{
|
||||||
</table>
|
</table>
|
||||||
</div>
|
|
||||||
};
|
};
|
||||||
|
|
||||||
print $out qq{
|
print $out qq{
|
||||||
@ -2173,8 +2135,7 @@ sub _print_netuser_stat
|
|||||||
<b>$Translate{'User_number'}:</b> $nuser<br>
|
<b>$Translate{'User_number'}:</b> $nuser<br>
|
||||||
};
|
};
|
||||||
print $$out qq{
|
print $$out qq{
|
||||||
<div id="stata">
|
<table class="sortable stata">
|
||||||
<table class="sortable">
|
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>$Translate{'Users'}</th>
|
<th>$Translate{'Users'}</th>
|
||||||
@ -2241,7 +2202,6 @@ sub _print_netuser_stat
|
|||||||
}
|
}
|
||||||
print $$out qq{
|
print $$out qq{
|
||||||
</table>
|
</table>
|
||||||
</div>
|
|
||||||
};
|
};
|
||||||
return $nuser;
|
return $nuser;
|
||||||
}
|
}
|
||||||
@ -2289,8 +2249,7 @@ sub _print_user_detail
|
|||||||
<b>$Translate{'Url_number'}:</b> $nurl<br>
|
<b>$Translate{'Url_number'}:</b> $nurl<br>
|
||||||
};
|
};
|
||||||
print $$out qq{
|
print $$out qq{
|
||||||
<div id="stata">
|
<table class="sortable stata">
|
||||||
<table class="sortable">
|
|
||||||
<thead>
|
<thead>
|
||||||
<tr align="center">
|
<tr align="center">
|
||||||
<th>$Translate{'Url'}</th>
|
<th>$Translate{'Url'}</th>
|
||||||
@ -2337,7 +2296,6 @@ sub _print_user_detail
|
|||||||
}
|
}
|
||||||
print $$out qq{
|
print $$out qq{
|
||||||
</table>
|
</table>
|
||||||
</div>
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -2404,8 +2362,7 @@ sub _print_top_url_stat
|
|||||||
print $out "<h4>$t1 $stat_date <div id=\"uplink\"><a href=\"#atop\">[ $Translate{'Up_link'} ]</a></div></h4>\n";
|
print $out "<h4>$t1 $stat_date <div id=\"uplink\"><a href=\"#atop\">[ $Translate{'Up_link'} ]</a></div></h4>\n";
|
||||||
}
|
}
|
||||||
print $out qq{
|
print $out qq{
|
||||||
<div id="stata">
|
<table class="sortable stata">
|
||||||
<table class="sortable">
|
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>$Translate{'Url'}</th>
|
<th>$Translate{'Url'}</th>
|
||||||
@ -2480,7 +2437,7 @@ sub _print_top_url_stat
|
|||||||
$i++;
|
$i++;
|
||||||
last if ($i > $self->{TopNumber});
|
last if ($i > $self->{TopNumber});
|
||||||
}
|
}
|
||||||
print $out qq{</table></div>};
|
print $out qq{</table>};
|
||||||
}
|
}
|
||||||
|
|
||||||
print $out qq{
|
print $out qq{
|
||||||
@ -2606,8 +2563,7 @@ sub _print_top_domain_stat
|
|||||||
print $out "<h4>$t1 $stat_date <div id=\"uplink\"><a href=\"#atop\">[ $Translate{'Up_link'} ]</a></div></h4>\n";
|
print $out "<h4>$t1 $stat_date <div id=\"uplink\"><a href=\"#atop\">[ $Translate{'Up_link'} ]</a></div></h4>\n";
|
||||||
}
|
}
|
||||||
print $out qq{
|
print $out qq{
|
||||||
<div id="stata">
|
<table class="sortable stata">
|
||||||
<table class="sortable">
|
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>$Translate{'Url'}</th>
|
<th>$Translate{'Url'}</th>
|
||||||
@ -2682,7 +2638,7 @@ sub _print_top_domain_stat
|
|||||||
$i++;
|
$i++;
|
||||||
last if ($i > $self->{TopNumber});
|
last if ($i > $self->{TopNumber});
|
||||||
}
|
}
|
||||||
print $out qq{</table></div>};
|
print $out qq{</table>};
|
||||||
}
|
}
|
||||||
|
|
||||||
print $out qq{
|
print $out qq{
|
||||||
@ -2745,11 +2701,9 @@ sub _gen_summary
|
|||||||
my $colspn = 2;
|
my $colspn = 2;
|
||||||
$colspn = 3 if ($self->{CostPrice});
|
$colspn = 3 if ($self->{CostPrice});
|
||||||
print $out qq{
|
print $out qq{
|
||||||
<div id="contenu">
|
|
||||||
<h4>$Translate{'Globals_Statistics'}</h4>
|
<h4>$Translate{'Globals_Statistics'}</h4>
|
||||||
<div class="line-separator"></div>
|
<div class="line-separator"></div>
|
||||||
<div id="stata">
|
<table class="stata">
|
||||||
<table>
|
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th class="nobg"></th>
|
<th class="nobg"></th>
|
||||||
@ -2795,16 +2749,14 @@ sub _gen_summary
|
|||||||
print $out qq{
|
print $out qq{
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
|
||||||
<h4>$Translate{'Legende'}</h4>
|
<h4>$Translate{'Legende'}</h4>
|
||||||
<div class="line-separator"></div>
|
<div class="line-separator"></div>
|
||||||
<pre>
|
<div class="displayLegend">
|
||||||
<span class="legendeTitle">$Translate{'Hit'}</span>: <span class="descLegende">$Translate{'Hit_help'}</span>
|
<span class="legendeTitle">$Translate{'Hit'}</span>: <span class="descLegende">$Translate{'Hit_help'}</span><br/>
|
||||||
<span class="legendeTitle">$Translate{'Miss'}</span>: <span class="descLegende">$Translate{'Miss_help'}</span>
|
<span class="legendeTitle">$Translate{'Miss'}</span>: <span class="descLegende">$Translate{'Miss_help'}</span><br/>
|
||||||
};
|
};
|
||||||
print $out qq{<span class="legendeTitle">$Translate{'Cost'}</span>: <span class="descLegende">$Translate{'Cost_help'} $self->{CostPrice} $self->{Currency}</span>} if ($self->{CostPrice});
|
print $out qq{<span class="legendeTitle">$Translate{'Cost'}</span>: <span class="descLegende">$Translate{'Cost_help'} $self->{CostPrice} $self->{Currency}</span><br/>} if ($self->{CostPrice});
|
||||||
print $out qq{
|
print $out qq{
|
||||||
</pre>
|
|
||||||
</div>
|
</div>
|
||||||
};
|
};
|
||||||
$self->_print_footer(\$out);
|
$self->_print_footer(\$out);
|
||||||
|
@ -133,7 +133,7 @@
|
|||||||
.\" ========================================================================
|
.\" ========================================================================
|
||||||
.\"
|
.\"
|
||||||
.IX Title "SQUIDANALYZER 1"
|
.IX Title "SQUIDANALYZER 1"
|
||||||
.TH SQUIDANALYZER 1 "2012-09-12" "perl v5.10.1" "User Contributed Perl Documentation"
|
.TH SQUIDANALYZER 1 "2012-12-03" "perl v5.10.1" "User Contributed Perl Documentation"
|
||||||
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
||||||
.\" way too many mistakes in technical documents.
|
.\" way too many mistakes in technical documents.
|
||||||
.if n .ad l
|
.if n .ad l
|
||||||
|
@ -91,5 +91,5 @@ Domain_graph_bytes_title Domain Bytes Statistik
|
|||||||
First_visit Erster Besuch
|
First_visit Erster Besuch
|
||||||
Last_visit Letzter Besuch
|
Last_visit Letzter Besuch
|
||||||
Globals_Statistics Globals Statistics
|
Globals_Statistics Globals Statistics
|
||||||
Legende Legende
|
Legende Legend
|
||||||
File_Generated File generated by
|
File_Generated File generated by
|
||||||
|
@ -91,5 +91,5 @@ Domain_graph_bytes_title Domain Bytes Statistiques on
|
|||||||
First_visit First visit
|
First_visit First visit
|
||||||
Last_visit Last visit
|
Last_visit Last visit
|
||||||
Globals_Statistics Globals Statistics
|
Globals_Statistics Globals Statistics
|
||||||
Legende Legende
|
Legende Legend
|
||||||
File_Generated File generated by
|
File_Generated File generated by
|
||||||
|
@ -1,18 +1,18 @@
|
|||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# Fichier de traduction des chaines de caractères du programme SquidAnalyzer.
|
# Fichier de traduction des chaines de caractères du programme SquidAnalyzer.
|
||||||
# La premiere colonne correspond aux clés d'accès par le programme aux
|
# La premiere colonne correspond aux clés d'accès par le programme aux
|
||||||
# traductions données dans la deuxieme colonne. Les clés ne doivent pas être
|
# traductions données dans la deuxieme colonne. Les clés ne doivent pas être
|
||||||
# modifiés et la casse doit etre repectée. Le séparateur de colonne est la
|
# modifiés et la casse doit etre repectée. Le séparateur de colonne est la
|
||||||
# tabulation.
|
# tabulation.
|
||||||
#
|
#
|
||||||
# Les tags %s et %d dans les chaines de traduction correspondent aux valeurs
|
# Les tags %s et %d dans les chaines de traduction correspondent aux valeurs
|
||||||
# dynamiques subtituées par le programme. Suivant la langue utilisée leur
|
# dynamiques subtituées par le programme. Suivant la langue utilisée leur
|
||||||
# emplacement peut être modifié.
|
# emplacement peut être modifié.
|
||||||
#
|
#
|
||||||
# Auteur: Gilles Darold
|
# Auteur: Gilles Darold
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
01 Jan
|
01 Jan
|
||||||
02 Fév
|
02 Fév
|
||||||
03 Mar
|
03 Mar
|
||||||
04 Avr
|
04 Avr
|
||||||
05 Mai
|
05 Mai
|
||||||
@ -22,21 +22,21 @@
|
|||||||
09 Sep
|
09 Sep
|
||||||
10 Oct
|
10 Oct
|
||||||
11 Nov
|
11 Nov
|
||||||
12 Déc
|
12 Déc
|
||||||
Requests Requêtes
|
Requests Requêtes
|
||||||
Bytes Octets
|
Bytes Octets
|
||||||
Megabytes Mega octets
|
Megabytes Mega octets
|
||||||
Total Total
|
Total Total
|
||||||
Years Années
|
Years Années
|
||||||
Months Mois
|
Months Mois
|
||||||
Days Jours
|
Days Jours
|
||||||
Hit Trouvés
|
Hit Trouvés
|
||||||
Miss Manquants
|
Miss Manquants
|
||||||
Cost Coût
|
Cost Coût
|
||||||
Users Utilisateurs
|
Users Utilisateurs
|
||||||
Sites Sites
|
Sites Sites
|
||||||
Domains Domaines
|
Domains Domaines
|
||||||
Requests_graph Requêtes
|
Requests_graph Requêtes
|
||||||
Megabytes_graph Mega octets
|
Megabytes_graph Mega octets
|
||||||
Months_graph Mois
|
Months_graph Mois
|
||||||
Days_graph Jours
|
Days_graph Jours
|
||||||
@ -44,23 +44,23 @@ Hit_graph Trouves
|
|||||||
Miss_graph Manquants
|
Miss_graph Manquants
|
||||||
Total_graph Total
|
Total_graph Total
|
||||||
Domains_graph Domaines
|
Domains_graph Domaines
|
||||||
Users_help Nombre total d'utilisateurs differents pendant cette période
|
Users_help Nombre total d'utilisateurs differents pendant cette période
|
||||||
Sites_help Nombre total de sites differents visités pendant cette période
|
Sites_help Nombre total de sites differents visités pendant cette période
|
||||||
Domains_help Nombre total de domaines visités pendant cette période
|
Domains_help Nombre total de domaines visités pendant cette période
|
||||||
Hit_help Objets trouvés dans le cache
|
Hit_help Objets trouvés dans le cache
|
||||||
Miss_help Objets non trouvés dans le cache
|
Miss_help Objets non trouvés dans le cache
|
||||||
Cost_help 1 Mega octet =
|
Cost_help 1 Mega octet =
|
||||||
Generation Rapport généré
|
Generation Rapport généré
|
||||||
Main_cache_title Statistiques du cache
|
Main_cache_title Statistiques du cache
|
||||||
Cache_title Statistiques du cache pour
|
Cache_title Statistiques du cache pour
|
||||||
Stat_label Stat
|
Stat_label Stat
|
||||||
Mime_link Mime Types
|
Mime_link Mime Types
|
||||||
Network_link Réseaux
|
Network_link Réseaux
|
||||||
User_link Utilisateurs
|
User_link Utilisateurs
|
||||||
Top_url_link Top Urls
|
Top_url_link Top Urls
|
||||||
Top_domain_link Top Domaines
|
Top_domain_link Top Domaines
|
||||||
Back_link Retour
|
Back_link Retour
|
||||||
Graph_cache_hit_title Statistiques %s des requêtes pour
|
Graph_cache_hit_title Statistiques %s des requêtes pour
|
||||||
Graph_cache_byte_title Statistiques %s des transferts pour
|
Graph_cache_byte_title Statistiques %s des transferts pour
|
||||||
Hourly par heure
|
Hourly par heure
|
||||||
Hours Heures
|
Hours Heures
|
||||||
@ -70,26 +70,26 @@ Monthly Mensuelles
|
|||||||
Months Mois
|
Months Mois
|
||||||
Mime_title Statistiques Mimes Types pour
|
Mime_title Statistiques Mimes Types pour
|
||||||
Mime_number Nombre de mimes types
|
Mime_number Nombre de mimes types
|
||||||
Network_title Statistiques Réseaux pour
|
Network_title Statistiques Réseaux pour
|
||||||
Network_number Nombre de réseaux
|
Network_number Nombre de réseaux
|
||||||
Duration Durée
|
Duration Durée
|
||||||
Time Temps
|
Time Temps
|
||||||
Largest Plus gros transfert
|
Largest Plus gros transfert
|
||||||
Url Url
|
Url Url
|
||||||
User_title Statistiques utilisateurs pour
|
User_title Statistiques utilisateurs pour
|
||||||
User_number Nombre d'utilisateurs
|
User_number Nombre d'utilisateurs
|
||||||
Url_Hits_title Url Top %d des requêtes pour
|
Url_Hits_title Url Top %d des requêtes pour
|
||||||
Url_Bytes_title Url Top %d des transferts pour
|
Url_Bytes_title Url Top %d des transferts pour
|
||||||
Url_Duration_title Url Top %d par durée pour
|
Url_Duration_title Url Top %d par durée pour
|
||||||
Url_number Nombre d'Url
|
Url_number Nombre d'Url
|
||||||
Domain_Hits_title Domaines Top %d des requêtes pour
|
Domain_Hits_title Domaines Top %d des requêtes pour
|
||||||
Domain_Bytes_title Domaines Top %d des transferts pour
|
Domain_Bytes_title Domaines Top %d des transferts pour
|
||||||
Domain_Duration_title Domaines Top %d par durée pour
|
Domain_Duration_title Domaines Top %d par durée pour
|
||||||
Domain_number Nombre de domaines
|
Domain_number Nombre de domaines
|
||||||
Domain_graph_hits_title Statistiques des requêtes par domaines pour
|
Domain_graph_hits_title Statistiques des requêtes par domaines pour
|
||||||
Domain_graph_bytes_title Statistiques des transferts par domaines pour
|
Domain_graph_bytes_title Statistiques des transferts par domaines pour
|
||||||
First_visit Première visite
|
First_visit Première visite
|
||||||
Last_visit Dernière visite
|
Last_visit Dernière visite
|
||||||
Globals_Statistics Statistiques Globales
|
Globals_Statistics Statistiques Globales
|
||||||
Legende Legende
|
Legende Legende
|
||||||
File_Generated Fichier généré par
|
File_Generated Fichier généré par
|
||||||
|
@ -92,5 +92,5 @@ Domain_graph_bytes_title Bytes Transferidos de Dom
|
|||||||
First_visit Primeira visita
|
First_visit Primeira visita
|
||||||
Last_visit Ultima visita
|
Last_visit Ultima visita
|
||||||
Globals_Statistics Globales Statistiques
|
Globals_Statistics Globales Statistiques
|
||||||
Legende Legende
|
Legende Legend
|
||||||
File_Generated File generated by
|
File_Generated File generated by
|
||||||
|
@ -1,3 +1,15 @@
|
|||||||
|
function toggle(idButton, idDiv, label) {
|
||||||
|
if(document.getElementById(idDiv)) {
|
||||||
|
if(document.getElementById(idDiv).style.display == 'none') {
|
||||||
|
document.getElementById(idDiv).style.display = 'block';
|
||||||
|
document.getElementById(idButton).value = 'Hide '+label;
|
||||||
|
} else {
|
||||||
|
document.getElementById(idDiv).style.display = 'none';
|
||||||
|
document.getElementById(idButton).value = 'Show '+label;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* bean.js - copyright Jacob Thornton 2011
|
* bean.js - copyright Jacob Thornton 2011
|
||||||
* https://github.com/fat/bean
|
* https://github.com/fat/bean
|
||||||
|
BIN
resources/images/back-arrow.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
resources/images/cursor.png
Normal file
After Width: | Height: | Size: 730 B |
BIN
resources/images/domain.png
Normal file
After Width: | Height: | Size: 929 B |
BIN
resources/images/info.png
Normal file
After Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
BIN
resources/images/network.png
Normal file
After Width: | Height: | Size: 863 B |
BIN
resources/images/user.png
Normal file
After Width: | Height: | Size: 867 B |
@ -10,9 +10,9 @@ body { font-size: 10pt; background-color: #F1F1F1; min-width: 900px; }
|
|||||||
|
|
||||||
.line-separator { height:1px; width:450px; background:#717171; border-bottom:1px solid #313030; margin-top:-30px; margin-left: 10px; margin-bottom: 45px; }
|
.line-separator { height:1px; width:450px; background:#717171; border-bottom:1px solid #313030; margin-top:-30px; margin-left: 10px; margin-bottom: 45px; }
|
||||||
|
|
||||||
pre .descLegende { font-style: italic; }
|
.descLegende { font-style: italic; }
|
||||||
|
|
||||||
pre .legendeTitle { font-variant: small-caps; font-weight: bold; font-size: 1.3em; line-height: 18pt; letter-spacing: 2px; }
|
.legendeTitle { font-variant: small-caps; font-weight: bold; font-size: 1.3em; line-height: 18pt; letter-spacing: 2px; }
|
||||||
|
|
||||||
#alignLeft { float: left; }
|
#alignLeft { float: left; }
|
||||||
|
|
||||||
@ -22,19 +22,42 @@ pre .legendeTitle { font-variant: small-caps; font-weight: bold; font-size: 1.3e
|
|||||||
|
|
||||||
.displayGraph { border: 0px; }
|
.displayGraph { border: 0px; }
|
||||||
|
|
||||||
#stata .headerBlack { color: black; font: bold 14px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif; font-variant: small-caps; }
|
table.stata th.headerBlack { color: black; font: bold 12px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif; font-variant: small-caps; }
|
||||||
|
|
||||||
#stata table { border-collapse: collapse; width: 90%; margin-left:auto; margin-right:auto; border: 0px; white-space:nowrap; }
|
table.stata { border-collapse: collapse; width: 90%; margin-left:auto; margin-right:auto; border: 0px; white-space:nowrap; }
|
||||||
|
|
||||||
#stata th { background: #76add2; font: 14px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif; font-variant: small-caps; letter-spacing: 2px; padding-left: 20px; padding-right: 20px; padding-top: 3px; padding-bottom: 3px; border: 2px solid silver; color: #F1F1F1; }
|
table.stata th { background: #76add2; font: 12px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif; font-variant: small-caps; letter-spacing: 2px; padding-left: 20px; padding-right: 20px; padding-top: 3px; padding-bottom: 3px; border: 2px solid silver; color: #F1F1F1; }
|
||||||
|
|
||||||
#stata td { text-align: center; padding-left: 20px; padding-right: 20px; padding-top: 5px; padding-bottom: 5px; border: 2px solid silver; font-style: italic; }
|
table.stata td { text-align: center; padding-left: 20px; padding-right: 20px; padding-top: 5px; padding-bottom: 5px; border: 2px solid silver; font-style: italic; }
|
||||||
|
|
||||||
#stata th.nobg { background: none; border-top: 0px; border-left: 0px; padding-left: 20px; padding-right: 20px; padding-top: 3px; padding-bottom: 3px; }
|
table.stata th.nobg { background: none; border-top: 0px; border-left: 0px; padding-left: 20px; padding-right: 20px; padding-top: 3px; padding-bottom: 3px; }
|
||||||
|
|
||||||
#stata td a { font-variant: small-caps; text-decoration: none; color: black; font-weight: bold; font-style: normal; font-size: 15px; }
|
table.stata td a { font-variant: small-caps; text-decoration: none; color: black; font-weight: bold; font-style: normal; font-size: 15px; }
|
||||||
|
|
||||||
#stata td a:hover { color: #76add2; }
|
table.stata td a:hover { color: #76add2; }
|
||||||
|
|
||||||
|
.displayLegend {
|
||||||
|
margin-left: 150px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**************/
|
||||||
|
/* Graphs */
|
||||||
|
/**************/
|
||||||
|
|
||||||
|
#code_requests, #code_bytes, #network_hits, #network_bytes, #user_hits, #user_bytes, #domain_hits, #domain_bytes {
|
||||||
|
width : 550px;
|
||||||
|
height: 300px;
|
||||||
|
background:#F3F2ED;
|
||||||
|
border:4px double white;
|
||||||
|
padding:0 10px;
|
||||||
|
margin:30px 0 30px 0;
|
||||||
|
border-radius:10px;
|
||||||
|
-moz-border-radius:10px;
|
||||||
|
-webkit-border-radius:10px;
|
||||||
|
box-shadow:3px 3px 6px 2px #A9A9A9;
|
||||||
|
-moz-box-shadow:3px 3px 6px 2px #A9A9A9;
|
||||||
|
-webkit-box-shadow:3px 3px 6px #A9A9A9;
|
||||||
|
}
|
||||||
|
|
||||||
/**************/
|
/**************/
|
||||||
/* Header */
|
/* Header */
|
||||||
@ -64,12 +87,12 @@ ul li a { display:block; width:125px; text-decoration:none; text-align:center; p
|
|||||||
ul li a:hover { color: #76add2; }
|
ul li a:hover { color: #76add2; }
|
||||||
#menu { margin: 0 auto; padding: 0 auto; height: 28px; clear: both; background-color: black; border-bottom: 3px solid #76add2; }
|
#menu { margin: 0 auto; padding: 0 auto; height: 28px; clear: both; background-color: black; border-bottom: 3px solid #76add2; }
|
||||||
|
|
||||||
.iconUser { background-image: url("/squidreport/images/user.png"); background-position: left center; background-repeat: no-repeat; padding-left: 20px; }
|
.iconUser { background-image: url("./images/user.png"); background-position: left center; background-repeat: no-repeat; padding-left: 20px; }
|
||||||
.iconArrow { background-image: url("/squidreport/images/back-arrow.png"); background-position: left center; background-repeat: no-repeat; padding-left: 20px; }
|
.iconArrow { background-image: url("./images/back-arrow.png"); background-position: left center; background-repeat: no-repeat; padding-left: 20px; }
|
||||||
.iconDomain { background-image: url("/squidreport/images/domain.png"); background-position: left center; background-repeat: no-repeat; padding-left: 20px; }
|
.iconDomain { background-image: url("./images/domain.png"); background-position: left center; background-repeat: no-repeat; padding-left: 20px; }
|
||||||
.iconNetwork { background-image: url("/squidreport/images/network.png"); background-position: left center; background-repeat: no-repeat; padding-left: 20px; }
|
.iconNetwork { background-image: url("./images/network.png"); background-position: left center; background-repeat: no-repeat; padding-left: 20px; }
|
||||||
.iconUrl { background-image: url("/squidreport/images/cursor.png"); background-position: left center; background-repeat: no-repeat; padding-left: 20px; }
|
.iconUrl { background-image: url("./images/cursor.png"); background-position: left center; background-repeat: no-repeat; padding-left: 20px; }
|
||||||
.iconMime { background-image: url("/squidreport/images/info.png"); background-position: left center; background-repeat: no-repeat; padding-left: 20px; }
|
.iconMime { background-image: url("./images/info.png"); background-position: left center; background-repeat: no-repeat; padding-left: 20px; }
|
||||||
|
|
||||||
/******************************/
|
/******************************/
|
||||||
/* Calendar */
|
/* Calendar */
|
||||||
|