mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-03-06 20:41:17 +01:00
Merge branch 'master' of github.com:designcreateplay/NodeBB
This commit is contained in:
@@ -218,9 +218,10 @@ var socket,
|
||||
$('#' + params.location).prepend(alert.fadeIn('100'));
|
||||
|
||||
if(typeof params.closefn === 'function') {
|
||||
alert.find('button').on('click', function () {
|
||||
alert.find('button').on('click', function() {
|
||||
params.closefn();
|
||||
fadeOut();
|
||||
return false;
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
@@ -35,6 +35,17 @@ define(function() {
|
||||
$('.restart').on('click', function() {
|
||||
socket.emit('admin.restart');
|
||||
});
|
||||
|
||||
socket.emit('admin.getVisitorCount', function(err, data) {
|
||||
if(err) {
|
||||
return app.alertError(err.message);
|
||||
}
|
||||
|
||||
var uniqueVisitors = $('#unique-visitors');
|
||||
for(var key in data) {
|
||||
uniqueVisitors.find('#' + key).text(data[key]);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
Admin.updateRoomUsage = function(err, data) {
|
||||
|
||||
@@ -141,16 +141,16 @@ define(['composer', 'forum/pagination'], function(composer, pagination) {
|
||||
}
|
||||
loadingEl.remove();
|
||||
|
||||
categoriesEl.on('click', function(e) {
|
||||
var el = $(e.target);
|
||||
categoriesEl.on('click', 'li[data-cid]', function(e) {
|
||||
var el = $(this);
|
||||
if (el.is('li')) {
|
||||
confirmCat.html(e.target.innerHTML);
|
||||
confirmCat.html(el.html());
|
||||
confirmDiv.css({display: 'block'});
|
||||
targetCid = el.attr('data-cid');
|
||||
targetCatLabel = e.html();
|
||||
targetCatLabel = el.html();
|
||||
commitEl.prop('disabled', false);
|
||||
}
|
||||
}, false);
|
||||
});
|
||||
|
||||
commitEl.on('click', function() {
|
||||
if (!commitEl.prop('disabled') && targetCid) {
|
||||
|
||||
@@ -36,4 +36,29 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Unique Visitors</div>
|
||||
<div class="panel-body">
|
||||
<div id="unique-visitors">
|
||||
<div class="text-center pull-left">
|
||||
<div id="day"></div>
|
||||
<div>Day</div>
|
||||
</div>
|
||||
<div class="text-center pull-left">
|
||||
<div id="week"></div>
|
||||
<div>Week</div>
|
||||
</div>
|
||||
<div class="text-center pull-left">
|
||||
<div id="month"></div>
|
||||
<div>Month</div>
|
||||
</div>
|
||||
<div class="text-center pull-left">
|
||||
<div id="alltime"></div>
|
||||
<div>All Time</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -30,6 +30,8 @@ var path = require('path'),
|
||||
user.updateLastOnlineTime(req.user.uid);
|
||||
}
|
||||
|
||||
db.sortedSetAdd('ip:recent', Date.now(), req.ip || 'Unknown');
|
||||
|
||||
next();
|
||||
});
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@ var groups = require('../groups'),
|
||||
categories = require('../categories'),
|
||||
CategoryTools = require('../categoryTools'),
|
||||
logger = require('../logger'),
|
||||
db = require('../database'),
|
||||
admin = {
|
||||
user: require('../admin/user'),
|
||||
categories: require('../admin/categories')
|
||||
@@ -35,6 +36,30 @@ SocketAdmin.restart = function(socket, data, callback) {
|
||||
meta.restart();
|
||||
};
|
||||
|
||||
|
||||
SocketAdmin.getVisitorCount = function(socket, data, callback) {
|
||||
var terms = {
|
||||
day: 86400000,
|
||||
week: 604800000,
|
||||
month: 2592000000
|
||||
};
|
||||
var now = Date.now();
|
||||
async.parallel({
|
||||
day: function(next) {
|
||||
db.sortedSetCount('ip:recent', now - terms.day, now, next);
|
||||
},
|
||||
week: function(next) {
|
||||
db.sortedSetCount('ip:recent', now - terms.week, now, next);
|
||||
},
|
||||
month: function(next) {
|
||||
db.sortedSetCount('ip:recent', now - terms.month, now, next);
|
||||
},
|
||||
alltime: function(next) {
|
||||
db.sortedSetCount('ip:recent', 0, now, next);
|
||||
}
|
||||
}, callback);
|
||||
}
|
||||
|
||||
/* Topics */
|
||||
|
||||
SocketAdmin.topics = {};
|
||||
|
||||
@@ -289,9 +289,6 @@ process.on('uncaughtException', function(err) {
|
||||
// Disable framing
|
||||
res.setHeader('X-Frame-Options', 'SAMEORIGIN');
|
||||
|
||||
// Log IP address
|
||||
db.sortedSetAdd('ip:recent', +new Date(), req.ip || 'Unknown');
|
||||
|
||||
next();
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user