60 lines
2.3 KiB
Text
60 lines
2.3 KiB
Text
<form action="<% response.action %>" method="get">
|
|
<input type="text" name="filter" value="<% request.filter %>" size="30" /> <input type="submit" name="submit" value="Filter" /> <input type="button" onclick="document.location='<% site.href action="referrers" %>';" value="Reset" />
|
|
<div class="small"><input type="checkbox" name="includeSpam" value="checked" <% request.includeSpam prefix='checked="' suffix='"' %> /> include referrer spam</div>
|
|
<br />
|
|
|
|
<table border="0" cellspacing="0" cellpadding="2">
|
|
<tr>
|
|
<td align="right" class="small">Visits</td>
|
|
<td width="10" nowrap="nowrap" rowspan="999"> </td>
|
|
<td></td>
|
|
<td class="small">Referrer</td>
|
|
</tr>
|
|
|
|
<script type="text/javascript"><!--
|
|
var referrers = [];
|
|
<% site.listReferrers %>
|
|
|
|
var query = new Antville.Query();
|
|
var spamFilter = new Antville.Filter([<% site.spamfilter %>]);
|
|
var searchFilter = new Antville.Filter(query.filter);
|
|
var searchEngineFilters = [
|
|
new Antville.Filter("http:\/\/.*google.*\?", "q"),
|
|
new Antville.Filter("http:\/\/.*search\.msn.*\?", "q"),
|
|
new Antville.Filter("http:\/\/.*altavista.*\?", "q"),
|
|
new Antville.Filter("http:\/\/.*search\.yahoo.*\?", "p"),
|
|
]
|
|
for (var i in referrers) {
|
|
var ref = referrers[i];
|
|
var text = ref.text;
|
|
var isSpam = spamFilter.test(ref.url);
|
|
if (isSpam && !query.includeSpam)
|
|
continue;
|
|
if (query.filter && !searchFilter.test(ref.url))
|
|
continue;
|
|
var done = false;
|
|
for (var e in searchEngineFilters) {
|
|
var filter = searchEngineFilters[e];
|
|
if (!done && filter.test(ref.url)) {
|
|
text = ref.compose(filter.key, "<em>Search request:</em> ");
|
|
done = true;
|
|
}
|
|
}
|
|
document.writeln('<tr>');
|
|
document.writeln('<td align="right" valign="top">', ref.count, '</td>');
|
|
document.writeln('<td valign="top"><% site.switch name="userMayEdit" on="<input type=\"checkbox\" name=\"permanent\" value=\"', ref.url, '\" />" off="" %></td>');
|
|
document.writeln('<td><a href="', ref.url, '"',
|
|
(isSpam ? ' style="color: <% layout.smallcolor %>;"' : ''),
|
|
'>', text, '</a></td>');
|
|
document.writeln('</tr>');
|
|
}
|
|
// --></script>
|
|
|
|
<noscript>
|
|
<tr>
|
|
<td colspan="3">To prevent spam abuse referrers and backlinks are displayed using client-side JavaScript code. Thus, you should enable the option to execute JavaScript code in your browser. Otherwise you will only see this information.</td>
|
|
</tr>
|
|
</noscript>
|
|
|
|
</table>
|
|
</form>
|