mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-14 01:45:47 +01:00
Merge branch 'master' of github.com:psychobunny/node-forum
This commit is contained in:
@@ -35,5 +35,25 @@ var RDB = require('./../redis.js'),
|
||||
});
|
||||
};
|
||||
|
||||
UserAdmin.deleteUser = function(uid, theirid, socket) {
|
||||
user.isAdministrator(uid, function(amIAdmin) {
|
||||
user.isAdministrator(theirid, function(areTheyAdmin){
|
||||
if(amIAdmin && !areTheyAdmin) {
|
||||
user.delete(theirid, function(data) {
|
||||
|
||||
socket.emit('event:alert', {
|
||||
title: 'User Deleted',
|
||||
message: 'This user is deleted!',
|
||||
type: 'success',
|
||||
timeout: 2000
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
};
|
||||
|
||||
}(exports));
|
||||
|
||||
|
||||
@@ -40,8 +40,33 @@ var user = require('./../user.js'),
|
||||
case 'users' :
|
||||
if (req.params.tab == 'search') {
|
||||
res.json({search_display: 'block', users: []});
|
||||
} else {
|
||||
user.getUserList(function(data){
|
||||
}
|
||||
else if(req.params.tab == 'latest') {
|
||||
user.getUserList(function(data) {
|
||||
data = data.sort(function(a, b) {
|
||||
return b.joindate - a.joindate;
|
||||
});
|
||||
res.json({search_display: 'none', users:data, yourid:req.user.uid});
|
||||
});
|
||||
}
|
||||
else if(req.params.tab == 'sort-posts') {
|
||||
user.getUserList(function(data) {
|
||||
data = data.sort(function(a, b) {
|
||||
return b.postcount - a.postcount;
|
||||
});
|
||||
res.json({search_display: 'none', users:data, yourid:req.user.uid});
|
||||
});
|
||||
}
|
||||
else if(req.params.tab == 'sort-reputation') {
|
||||
user.getUserList(function(data) {
|
||||
data = data.sort(function(a, b) {
|
||||
return b.reputation - a.reputation;
|
||||
});
|
||||
res.json({search_display: 'none', users:data, yourid:req.user.uid});
|
||||
});
|
||||
}
|
||||
else {
|
||||
user.getUserList(function(data) {
|
||||
res.json({search_display: 'none', users:data, yourid:req.user.uid});
|
||||
});
|
||||
}
|
||||
|
||||
24
src/user.js
24
src/user.js
@@ -253,6 +253,30 @@ var utils = require('./../public/src/utils.js'),
|
||||
});
|
||||
}
|
||||
|
||||
User.search = function(username, callback) {
|
||||
console.log('searching '+username);
|
||||
RDB.keys('username:'+ username + '*:uid', function(err, keys) {
|
||||
if(err === null) {
|
||||
//console.log(data);
|
||||
|
||||
/*var keys = [];
|
||||
for(var i=0, ii=data.length; i<ii; ++i) {
|
||||
keys.push('')
|
||||
}*/
|
||||
|
||||
RDB.mget(keys, function(err, uids) {
|
||||
console.log(uids);
|
||||
User.getDataForUsers(uids, function(userdata) {
|
||||
callback(userdata);
|
||||
});
|
||||
});
|
||||
|
||||
}
|
||||
else
|
||||
console.log(err);
|
||||
});
|
||||
}
|
||||
|
||||
User.sendConfirmationEmail = function (email) {
|
||||
if (global.config['email:host'] && global.config['email:port'] && global.config['email:from']) {
|
||||
var confirm_code = utils.generateUUID(),
|
||||
|
||||
@@ -441,6 +441,20 @@ var SocketIO = require('socket.io').listen(global.server, { log:false }),
|
||||
admin.user.removeAdmin(uid, theirid, socket);
|
||||
}
|
||||
});
|
||||
|
||||
socket.on('api:admin.user.deleteUser', function(theirid) {
|
||||
if(uid && uid > 0) {
|
||||
admin.user.deleteUser(uid, theirid, socket);
|
||||
}
|
||||
});
|
||||
|
||||
socket.on('api:admin.user.search', function(username) {
|
||||
if(uid && uid > 0) {
|
||||
user.search(username, function(data) {
|
||||
socket.emit('api:admin.user.search', data);
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
}(SocketIO));
|
||||
|
||||
Reference in New Issue
Block a user