mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-07 14:35:47 +01:00
closes #462
This commit is contained in:
@@ -114,6 +114,17 @@ var socket,
|
||||
});
|
||||
});
|
||||
|
||||
socket.on('event:banned', function() {
|
||||
app.alert({
|
||||
title: 'Banned',
|
||||
message: 'You are banned you will be logged out!',
|
||||
type: 'warning',
|
||||
timeout: 1000
|
||||
});
|
||||
|
||||
setTimeout(app.logout, 1000);
|
||||
});
|
||||
|
||||
app.enter_room('global');
|
||||
}
|
||||
},
|
||||
@@ -121,6 +132,14 @@ var socket,
|
||||
});
|
||||
}
|
||||
|
||||
app.logout = function() {
|
||||
$.post(RELATIVE_PATH + '/logout', {
|
||||
_csrf: $('#csrf_token').val()
|
||||
}, function() {
|
||||
window.location = RELATIVE_PATH + '/';
|
||||
});
|
||||
}
|
||||
|
||||
// takes a string like 1000 and returns 1,000
|
||||
app.addCommas = function (text) {
|
||||
return text.replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,");
|
||||
|
||||
@@ -67,15 +67,7 @@
|
||||
if (data['username'])
|
||||
userLabel.find('span').html(data['username']);
|
||||
|
||||
$('#logout-link').on('click', function() {
|
||||
var csrf_token = $('#csrf_token').val();
|
||||
|
||||
$.post(RELATIVE_PATH + '/logout', {
|
||||
_csrf: csrf_token
|
||||
}, function() {
|
||||
window.location = RELATIVE_PATH + '/';
|
||||
});
|
||||
});
|
||||
$('#logout-link').on('click', app.logout);
|
||||
}
|
||||
} else {
|
||||
$('#search-button').hide();
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
<button class="btn btn-sm btn-default quote" type="button" title="[[topic:quote]]"><i class="icon-quote-left"></i></button>
|
||||
<button class="btn btn-sm btn-primary btn post_reply" type="button">[[topic:reply]] <i class="icon-reply"></i></button>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="btn-group pull-right post-tools">
|
||||
<button class="btn btn-sm btn-default edit {main_posts.display_moderator_tools}" type="button" title="[[topic:edit]]"><i class="icon-pencil"></i></button>
|
||||
@@ -105,10 +105,14 @@
|
||||
<meta itemprop="datePublished" content="{posts.relativeTime}">
|
||||
<meta itemprop="dateModified" content="{posts.relativeEditTime}">
|
||||
<div class="col-md-1 profile-image-block hidden-xs hidden-sm">
|
||||
|
||||
<a href="/user/{posts.userslug}">
|
||||
<img src="{posts.picture}" align="left" class="img-thumbnail" itemprop="image" />
|
||||
<span class="label label-danger {posts.show_banned}">[[topic:banned]]</span>
|
||||
</a>
|
||||
<span class="label label-danger {posts.show_banned}">[[topic:banned]]</span>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div class="col-md-11">
|
||||
<div class="post-block">
|
||||
|
||||
@@ -51,12 +51,12 @@ var RDB = require('../redis'),
|
||||
});
|
||||
};
|
||||
|
||||
UserAdmin.banUser = function(uid, theirid, socket) {
|
||||
UserAdmin.banUser = function(uid, theirid, socket, callback) {
|
||||
user.isAdministrator(uid, function(amIAdmin) {
|
||||
user.isAdministrator(theirid, function(areTheyAdmin) {
|
||||
if (amIAdmin && !areTheyAdmin) {
|
||||
user.ban(theirid, function(err, result) {
|
||||
|
||||
callback(true);
|
||||
socket.emit('event:alert', {
|
||||
title: 'User Banned',
|
||||
message: 'This user is banned!',
|
||||
|
||||
@@ -843,7 +843,16 @@ module.exports.init = function(io) {
|
||||
|
||||
socket.on('api:admin.user.banUser', function(theirid) {
|
||||
if (uid && uid > 0) {
|
||||
admin.user.banUser(uid, theirid, socket);
|
||||
admin.user.banUser(uid, theirid, socket, function(isBanned) {
|
||||
if(isBanned) {
|
||||
if(userSockets[theirid]) {
|
||||
for(var i=0; i<userSockets[theirid].length; ++i) {
|
||||
userSockets[theirid][i].emit('event:banned');
|
||||
}
|
||||
}
|
||||
module.exports.logoutUser(theirid);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user