v1.18.x
barisusakli 9 years ago
parent f4fafeb500
commit e4fa0289d6

@ -1,8 +1,9 @@
"use strict";
/* global define, socket, app, templates */
/* global define, socket, app */
define('admin/advanced/events', ['forum/infinitescroll'], function(infinitescroll) {
define('admin/advanced/events', function() {
var Events = {};
Events.init = function() {
@ -16,25 +17,6 @@ define('admin/advanced/events', ['forum/infinitescroll'], function(infinitescrol
});
});
infinitescroll.init(function(direction) {
if (direction < 0 || !$('.events').length) {
return;
}
infinitescroll.loadMore('admin.getMoreEvents', $('[data-next]').attr('data-next'), function(data, done) {
if (data.events && data.events.length) {
templates.parse('admin/advanced/events', 'events', {events: data.events}, function(html) {
$('.events-list').append(html);
done();
});
$('[data-next]').attr('data-next', data.next);
} else {
done();
}
});
});
};
return Events;

@ -1,18 +1,38 @@
'use strict';
var async = require('async');
var db = require('../../database');
var events = require('../../events');
var pagination = require('../../pagination');
var eventsController = {};
eventsController.get = function(req, res, next) {
events.getEvents(0, 19, function(err, events) {
var page = parseInt(req.query.page, 10) || 1;
var itemsPerPage = 20;
var start = (page - 1) * 20;
var stop = start + itemsPerPage - 1;
async.parallel({
eventCount: function(next) {
db.sortedSetCard('events:time', next);
},
events: function(next) {
events.getEvents(start, stop, next);
}
}, function(err, results) {
if (err) {
return next(err);
}
var pageCount = Math.max(1, Math.ceil(results.eventCount / itemsPerPage));
res.render('admin/advanced/events', {
events: events,
events: results.events,
pagination: pagination.create(page, pageCount),
next: 20
});
});

@ -46,17 +46,20 @@ var async = require('async'),
});
db.getObjects(keys, next);
},
function(eventsData, next) {
addUserData(eventsData, 'uid', 'user', next);
},
function(eventsData, next) {
addUserData(eventsData, 'targetUid', 'targetUser', next);
},
function(eventsData, next) {
eventsData.forEach(function(event) {
var e = utils.merge(event);
e.eid = e.uid = e.type = e.ip = undefined;
e.eid = e.uid = e.type = e.ip = e.user = undefined;
event.jsonString = JSON.stringify(e, null, 4);
event.timestampISO = new Date(parseInt(event.timestamp, 10)).toUTCString();
});
addUserData(eventsData, 'uid', 'user', next);
},
function(eventsData, next) {
addUserData(eventsData, 'targetUid', 'targetUser', next);
next(null, eventsData);
}
], callback);
};

@ -251,20 +251,6 @@ SocketAdmin.errors.clear = function(socket, data, callback) {
meta.errors.clear(callback);
};
SocketAdmin.getMoreEvents = function(socket, next, callback) {
var start = parseInt(next, 10);
if (start < 0) {
return callback(null, {data: [], next: next});
}
var stop = start + 10;
events.getEvents(start, stop, function(err, events) {
if (err) {
return callback(err);
}
callback(null, {events: events, next: stop + 1});
});
};
SocketAdmin.deleteAllEvents = function(socket, data, callback) {
events.deleteAll(callback);
};

@ -34,7 +34,20 @@ module.exports = function(SocketUser) {
};
SocketUser.unbanUsers = function(socket, uids, callback) {
toggleBan(socket.uid, uids, user.unban, callback);
toggleBan(socket.uid, uids, user.unban, function(err) {
if (err) {
return callback(err);
}
async.each(uids, function(uid, next) {
events.log({
type: 'user-unban',
uid: socket.uid,
targetUid: uid,
ip: socket.ip
}, next);
}, callback);
});
};
function toggleBan(uid, uids, method, callback) {

@ -23,6 +23,7 @@
<pre>{events.jsonString}</pre>
</div>
<!-- END events -->
<!-- IMPORT partials/paginator.tpl -->
</div>
</div>
</div>

Loading…
Cancel
Save