Added referrer filters for URL shorteners
This commit is contained in:
parent
125fa5dd1e
commit
89fe38987f
1 changed files with 38 additions and 4 deletions
|
@ -62,9 +62,11 @@ REGEDIT4
|
|||
<% gettext Reset %>
|
||||
</a>
|
||||
<div class='uk-form-help-block'>
|
||||
<input type="checkbox" id="includeSpam" name="includeSpam" value="checked"
|
||||
<% request.includeSpam prefix='checked="' suffix='"' encoding="form" %> />
|
||||
<label for="includeSpam"><% gettext 'Disable spam filter' %></label>
|
||||
<label>
|
||||
<input type="checkbox" id="includeSpam" name="includeSpam" value="checked" <% request.includeSpam prefix='checked="' suffix='"' encoding="form" %> />
|
||||
<% gettext 'Disable spam filter' %>
|
||||
<i class='uk-icon uk-icon-info-circle uk-text-muted' data-uk-tooltip="{pos: 'right'}"title='<% gettext "You can edit the spam filter in the site settings." %>'></i>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<table class='uk-table uk-table-condensed'>
|
||||
|
@ -76,6 +78,7 @@ REGEDIT4
|
|||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<% site.skin $Site#referrer %>
|
||||
<% response.list %>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -92,14 +95,17 @@ $(function () {
|
|||
new Antville.Filter("\/\/.*search\.yahoo\..*\?", "p"),
|
||||
new Antville.Filter("\/\/.*yandex\..*\?", "text")
|
||||
];
|
||||
var urlShortenerCounter = 0;
|
||||
var urlShortenerFilters = [
|
||||
new Antville.Filter('\/\/bit\.ly/'),
|
||||
new Antville.Filter('\/\/goo\.gl/'),
|
||||
new Antville.Filter('\/\/owl\.ly/'),
|
||||
new Antville.Filter('\/\/t\.co/'),
|
||||
new Antville.Filter('\/\/tinyurl\.com/')
|
||||
new Antville.Filter('\/\/tinyurl\.com/'),
|
||||
new Antville.Filter('\/\/localhost:8080/helma/antville/blog/stories/')
|
||||
];
|
||||
$('.av-referrer-row').each(function (index) {
|
||||
if (index < 1) return;
|
||||
var row = $(this);
|
||||
var ref = row.find('.av-referrer a');
|
||||
var url = ref.attr('href');
|
||||
|
@ -114,6 +120,13 @@ $(function () {
|
|||
});
|
||||
var referrer = new Antville.Referrer(url, url, count);
|
||||
ref.html(referrer.text);
|
||||
for (var i = 0, filter; i < urlShortenerFilters.length; i += 1) {
|
||||
filter = urlShortenerFilters[i];
|
||||
if (filter.test(url)) {
|
||||
urlShortenerCounter += parseInt(count, 10);
|
||||
row.hide();
|
||||
}
|
||||
}
|
||||
if (spamFilter.test(url)) {
|
||||
if (query.includeSpam) {
|
||||
ref.addClass('uk-text-muted');
|
||||
|
@ -135,6 +148,27 @@ $(function () {
|
|||
}
|
||||
}
|
||||
});
|
||||
var firstRow = $('.av-referrer-row:first');
|
||||
if (urlShortenerCounter > 0) {
|
||||
firstRow.find('.av-referrer-count')
|
||||
.html(urlShortenerCounter)
|
||||
.end()
|
||||
.find('.av-referrer')
|
||||
.html('URL Shorteners')
|
||||
.end()
|
||||
.find('.av-referrer-control a')
|
||||
.remove();
|
||||
var rows = $('.av-referrer-row');
|
||||
for (var i = 1, count; i < rows.length; i += 1) {
|
||||
count = parseInt(rows.eq(i).find('.av-referrer-count').html(), 10);
|
||||
if (count >= urlShortenerCounter) {
|
||||
firstRow.insertAfter(rows.eq(i));
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
firstRow.hide();
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue