mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-08-29 08:45:51 +02:00
closes #5889
This commit is contained in:
@@ -211,3 +211,9 @@ Analytics.getErrorAnalytics = function (callback) {
|
||||
}, callback);
|
||||
};
|
||||
|
||||
Analytics.getBlacklistAnalytics = function (callback) {
|
||||
async.parallel({
|
||||
daily: async.apply(Analytics.getDailyStatsForSet, 'analytics:blacklist', Date.now(), 7),
|
||||
hourly: async.apply(Analytics.getHourlyStatsForSet, 'analytics:blacklist', Date.now(), 24),
|
||||
}, callback);
|
||||
};
|
||||
|
||||
@@ -2,19 +2,22 @@
|
||||
|
||||
var async = require('async');
|
||||
var meta = require('../../meta');
|
||||
var analytics = require('../../analytics');
|
||||
|
||||
var blacklistController = module.exports;
|
||||
|
||||
blacklistController.get = function (req, res, next) {
|
||||
async.waterfall([
|
||||
function (next) {
|
||||
meta.blacklist.get(next);
|
||||
},
|
||||
function (rules) {
|
||||
res.render('admin/manage/ip-blacklist', {
|
||||
rules: rules,
|
||||
title: '[[pages:ip-blacklist]]',
|
||||
});
|
||||
},
|
||||
], next);
|
||||
// Analytics.getBlacklistAnalytics
|
||||
async.parallel({
|
||||
rules: async.apply(meta.blacklist.get),
|
||||
analytics: async.apply(analytics.getBlacklistAnalytics),
|
||||
}, function (err, data) {
|
||||
if (err) {
|
||||
return next(err);
|
||||
}
|
||||
|
||||
res.render('admin/manage/ip-blacklist', Object.assign(data, {
|
||||
title: '[[pages:ip-blacklist]]',
|
||||
}));
|
||||
});
|
||||
};
|
||||
|
||||
@@ -7,6 +7,25 @@
|
||||
[[admin/manage/ip-blacklist:description]]
|
||||
</p>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
<div><canvas id="blacklist:hourly" height="250"></canvas></div>
|
||||
</div>
|
||||
<div class="panel-footer"><small>[[admin/manage/ip-blacklist:analytics.blacklist-hourly]]</small></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
<div><canvas id="blacklist:daily" height="250"></canvas></div>
|
||||
</div>
|
||||
<div class="panel-footer"><small>[[admin/manage/ip-blacklist:analytics.blacklist-daily]]</small></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
<textarea id="blacklist-rules">{rules}</textarea>
|
||||
|
||||
Reference in New Issue
Block a user