Sourcecode in Site/referrers.skin:
1: <form action="<% response.action %>" method="get">
2: <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" />
3: <div class="small"><input type="checkbox" name="includeSpam" value="checked" <% request.includeSpam prefix='checked="' suffix='"' %> /> include referrer spam</div>
4: <br />
5:
6: <table border="0" cellspacing="0" cellpadding="2">
7: <tr>
8: <td align="right" class="small">Visits</td>
9: <td width="10" nowrap="nowrap" rowspan="999"> </td>
10: <td></td>
11: <td class="small">Referrer</td>
12: </tr>
13:
14: <script type="text/javascript"><!--
15: var referrers = [];
16: <% site.listReferrers %>
17:
18: var query = new Antville.Query();
19: var spamFilter = new Antville.Filter([<% site.spamfilter %>]);
20: var searchFilter = new Antville.Filter(query.filter);
21: var searchEngineFilters = [
22: new Antville.Filter("http:\/\/.*google.*\?", "q"),
23: new Antville.Filter("http:\/\/.*search\.msn.*\?", "q"),
24: new Antville.Filter("http:\/\/.*altavista.*\?", "q"),
25: new Antville.Filter("http:\/\/.*search\.yahoo.*\?", "p"),
26: ]
27: for (var i in referrers) {
28: var ref = referrers[i];
29: var text = ref.text;
30: var isSpam = spamFilter.test(ref.url);
31: if (isSpam && !query.includeSpam)
32: continue;
33: if (query.filter && !searchFilter.test(ref.url))
34: continue;
35: var done = false;
36: for (var e in searchEngineFilters) {
37: var filter = searchEngineFilters[e];
38: if (!done && filter.test(ref.url)) {
39: text = ref.compose(filter.key, "<em>Search request:</em> ");
40: done = true;
41: }
42: }
43: document.writeln('<tr>');
44: document.writeln('<td align="right" valign="top">', ref.count, '</td>');
45: document.writeln('<td valign="top"><% site.switch name="userMayEdit" on="<input type=\"checkbox\" name=\"permanent\" value=\"', ref.url, '\" />" off="" %></td>');
46: document.writeln('<td><a href="', ref.url, '"',
47: ' onclick="clickReferrer(event, this); return false;"',
48: (isSpam ? ' style="color: <% layout.smallcolor %>;"' : ''),
49: '>', text, '</a></td>');
50: document.writeln('</tr>');
51: }
52: // --></script>
53:
54: <noscript>
55: <tr>
56: <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>
57: </tr>
58: </noscript>
59:
60: </table>
61: </form>
62:
|