PluginProbe
Banhammer – Monitor Site Traffic, Block Bad Users and Bots / trunk
Banhammer – Monitor Site Traffic, Block Bad Users and Bots vtrunk
3.5.3 trunk 1.1 1.2 1.3 1.4 1.5 1.5.1 1.6 1.7 1.8 1.9 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.8.1 2.8.2 2.9 3.0 All 43 releases
banhammer / js / tower.js

tower.js in Banhammer – Monitor Site Traffic, Block Bad Users and Bots trunk, at js/tower.js

178 lines 4.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /*
2 Banhammer Tower.js v1.1
3 Jeff Starr @ Monzilla Media
4 https://monzillamedia.com/
5 https://plugin-planet.com/
6 */
7
8 (function($) {
9
10 $(document).ready(function() {
11
12 banhammer_tower();
13
14 $(document).on('click', '.banhammer-reload-link, .banhammer-reload-current', function(e) {
15 e.preventDefault();
16 banhammer_reset();
17 banhammer_tower();
18 $(this).blur();
19 });
20
21 $(document).on('click', '.banhammer-example-link', function(e) {
22 e.preventDefault();
23 banhammer.vars.demo = 1;
24 banhammer_tower();
25 banhammer_reset();
26 $(this).blur();
27 });
28
29 $(document).on('change', '.banhammer-select-all', function() {
30 $('.banhammer-tower-id').prop('checked', $(this).prop('checked'));
31 });
32 $(document).on('change', '.banhammer-tower-id', function() {
33 if ($('.banhammer-tower-id:checkbox:not(:checked)').length == 0) {
34 var checked = true;
35 } else {
36 var checked = false;
37 }
38 $('.banhammer-select-all').prop('checked', checked);
39 });
40
41 $('.banhammer-select-bulk').on('change', function(e) {
42 e.preventDefault();
43 var bulk = $('.banhammer-select-bulk').val();
44 var items = [];
45 $('.banhammer-tower-id:checked').each(function() {
46 items.push($(this).val());
47 });
48 banhammer.vars.bulk = bulk;
49 banhammer.vars.items = items;
50 if (bulk == 'delete') banhammer_delete();
51 else banhammer_tower();
52 $(this).blur();
53 });
54
55 $(document).on('click', '.banhammer-action', function(e) {
56 e.preventDefault();
57 $('.jBox-Tooltip').hide();
58 var fx = banhammer.vars.fx;
59 var id = $(this).parent().siblings('.banhammer-checkbox').children('.banhammer-tower-id').val();
60 var bulk = $(this).data('action');
61 var items = [];
62 items.push(id);
63 banhammer.vars.bulk = bulk;
64 banhammer.vars.items = items;
65 var ban = $('.banhammer-fx-ban')[0];
66 var warn = $('.banhammer-fx-warn')[0];
67 var restore = $('.banhammer-fx-restore')[0];
68 if (fx === 1) {
69 if (bulk == 'ban') ban.play();
70 else if (bulk == 'warn') warn.play();
71 else if (bulk == 'restore') restore.play();
72 }
73 if (bulk == 'delete') banhammer_delete();
74 else banhammer_tower();
75 $(this).blur();
76 });
77
78 $('.banhammer-select-sort').on('change', function(e) {
79 e.preventDefault();
80 var sort = $(this).val();
81 if (!sort) sort = 'all';
82 banhammer.vars.sort = sort;
83 banhammer_tower();
84 $(this).blur();
85 });
86
87 $('.banhammer-select-type').on('change', function(e) {
88 e.preventDefault();
89 var type = $(this).val();
90 banhammer.vars.type = type;
91 banhammer_tower();
92 $(this).blur();
93 });
94
95 });
96
97 function banhammer_tower() {
98
99 $('.banhammer-tower').show();
100 $('.banhammer-response').empty();
101 $('.banhammer-loading').show();
102
103 $.post(ajaxurl, {
104 action: 'banhammer_tower',
105 nonce: banhammer.vars.nonce,
106 sort: banhammer.vars.sort,
107 type: banhammer.vars.type,
108 bulk: banhammer.vars.bulk,
109 items: banhammer.vars.items,
110 demo: banhammer.vars.demo
111 }, function(data) {
112
113 var temp = $(data).filter('.banhammer-count-data');
114 var count = temp.data('count');
115 var total = temp.data('total');
116 var text1 = temp.data('text1');
117 var text2 = temp.data('text2');
118
119 $('.banhammer-count').html(text1 +' '+ count +' '+ text2 +' '+ total);
120
121 $('.banhammer-loading').hide();
122 $('.banhammer-response').empty().html(data).fadeIn();
123 $('.banhammer-select-all').prop('checked', false);
124 $('.banhammer-select-bulk').val('');
125
126 var height = '80';
127 if (total > 0) height = $('.banhammer-response').height();
128 $('.banhammer-loading').css('min-height', height +'px');
129
130 new jBox('Tooltip', {
131 getTitle: 'data-title',
132 attach: '.banhammer-tower *[title]',
133 animation: { open: 'move:bottom', close: 'move:bottom' },
134 adjustPosition: true,
135 adjustTracker: true,
136 fade: 100
137 });
138 });
139 }
140
141 function banhammer_reset() {
142 banhammer.vars.sort = '',
143 banhammer.vars.type = '',
144 banhammer.vars.bulk = '',
145 banhammer.vars.items = [];
146 banhammer.vars.demo = 0;
147
148 $('.banhammer-select-all').prop('checked', false);
149 $('.banhammer-select-bulk').val('');
150 $('.banhammer-select-sort').val('');
151 $('.banhammer-select-type').val('');
152 }
153
154 function banhammer_delete() {
155 $('.banhammer-dialog').dialog('destroy');
156 var link = this;
157 var button_names = {};
158 button_names[banhammer_delete_items_true] = function() {
159 $(this).dialog('close');
160 var del = $('.banhammer-fx-delete')[0];
161 var fx = banhammer.vars.fx;
162 if (fx === 1) del.play();
163 banhammer_tower();
164 }
165 button_names[banhammer_delete_items_false] = function() {
166 $(this).dialog('close');
167 $('.banhammer-select-bulk').val('');
168 }
169 $('<div class="banhammer-dialog">'+ banhammer_delete_item_message +'</div>').dialog({
170 title: banhammer_delete_item_title,
171 buttons: button_names,
172 modal: true,
173 width: 350
174 });
175 }
176
177 })(jQuery);
178