|
@@ -8,6 +8,8 @@ jQuery(function($){
|
|
|
var entityMap={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/","`":"`","=":"="};
|
|
|
function escapeHtml(n){return String(n).replace(/[&<>"'`=\/]/g,function(n){return entityMap[n]})}
|
|
|
function humanFileSize(i){if(Math.abs(i)<1024)return i+" B";var B=["KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"],e=-1;do{i/=1024,++e}while(Math.abs(i)>=1024&&e<B.length-1);return i.toFixed(1)+" "+B[e]}
|
|
|
+ function hashCode(t){for(var n=0,r=0;r<t.length;r++)n=t.charCodeAt(r)+((n<<5)-n);return n}
|
|
|
+ function intToRGB(t){var n=(16777215&t).toString(16).toUpperCase();return"00000".substring(0,6-n.length)+n}
|
|
|
$(".refresh_table").on('click', function(e) {
|
|
|
e.preventDefault();
|
|
|
var table_name = $(this).data('table');
|
|
@@ -162,6 +164,48 @@ jQuery(function($){
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
+ function draw_rl_logs() {
|
|
|
+ ft_rl_logs = FooTable.init('#rl_log', {
|
|
|
+ "columns": [
|
|
|
+ {"name":"indicator","title":" ","style":{"width":"50px"}},
|
|
|
+ {"name":"time","formatter":function unix_time_format(tm) { var date = new Date(tm ? tm * 1000 : 0); return date.toLocaleString();},"title":lang.last_applied,"style":{"width":"170px"}},
|
|
|
+ {"name":"rl_name","title":lang.rate_name},
|
|
|
+ {"name":"from","title":lang.sender},
|
|
|
+ {"name":"rcpt","title":lang.recipients},
|
|
|
+ {"name":"user","title":lang.authed_user},
|
|
|
+ {"name":"message_id","title":"Msg ID","breakpoints": "all","style":{"word-break":"break-all"}},
|
|
|
+ {"name":"header_from","title":"Header From","breakpoints": "all","style":{"word-break":"break-all"}},
|
|
|
+ {"name":"header_subject","title":"Subject","breakpoints": "all","style":{"word-break":"break-all"}},
|
|
|
+ {"name":"rl_hash","title":"Hash","breakpoints": "all","style":{"word-break":"break-all"}},
|
|
|
+ {"name":"qid","title":"Rspamd QID","breakpoints": "all","style":{"word-break":"break-all"}},
|
|
|
+ {"name":"ip","title":"IP","breakpoints": "all","style":{"word-break":"break-all"}},
|
|
|
+ {"name":"action","title":lang.action,"breakpoints": "all","style":{"word-break":"break-all"}},
|
|
|
+ ],
|
|
|
+ "rows": $.ajax({
|
|
|
+ dataType: 'json',
|
|
|
+ url: '/api/v1/get/logs/ratelimited',
|
|
|
+ jsonp: false,
|
|
|
+ error: function () {
|
|
|
+ console.log('Cannot draw rl log table');
|
|
|
+ },
|
|
|
+ success: function (data) {
|
|
|
+ return process_table_data(data, 'rllog');
|
|
|
+ }
|
|
|
+ }),
|
|
|
+ "empty": lang.empty,
|
|
|
+ "paging": {"enabled": true,"limit": 5,"size": log_pagination_size},
|
|
|
+ "filtering": {"enabled": true,"delay": 1,"position": "left","connectors": false,"placeholder": lang.filter_table},
|
|
|
+ "sorting": {"enabled": true},
|
|
|
+ "on": {
|
|
|
+ "ready.ft.table": function(e, ft){
|
|
|
+ table_log_ready(ft, 'rl_logs');
|
|
|
+ },
|
|
|
+ "after.ft.paging": function(e, ft){
|
|
|
+ table_log_paging(ft, 'rl_logs');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
function draw_ui_logs() {
|
|
|
ft_api_logs = FooTable.init('#ui_logs', {
|
|
|
"columns": [
|
|
@@ -540,6 +584,19 @@ jQuery(function($){
|
|
|
item.method = '<span class="label label-warning">' + item.method + '</span>';
|
|
|
}
|
|
|
});
|
|
|
+ } else if (table == 'rllog') {
|
|
|
+ $.each(data, function (i, item) {
|
|
|
+ if (item.user == null) {
|
|
|
+ item.user = "none";
|
|
|
+ }
|
|
|
+ if (item.rl_hash == null) {
|
|
|
+ item.rl_hash = "err";
|
|
|
+ }
|
|
|
+ item.indicator = '<span class="label" style="background-color:#' + intToRGB(hashCode(item.rl_hash)) + '!important;padding:3px 5px 0px 5px;"> </span>';
|
|
|
+ if (item.rl_hash != 'err') {
|
|
|
+ item.action = '<a href="#" data-action="delete_selected" data-id="single-hash" data-api-url="delete/rlhash" data-item="' + encodeURI(item.rl_hash) + '" class="btn btn-xs btn-danger"><span class="glyphicon glyphicon-trash"></span> ' + lang.reset_limit + '</a>';
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
return data
|
|
|
};
|
|
@@ -575,6 +632,7 @@ jQuery(function($){
|
|
|
draw_watchdog_logs();
|
|
|
draw_acme_logs();
|
|
|
draw_api_logs();
|
|
|
+ draw_rl_logs();
|
|
|
draw_ui_logs();
|
|
|
draw_netfilter_logs();
|
|
|
draw_rspamd_history();
|