mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-02 03:55:55 +01:00
closes #1728
This commit is contained in:
@@ -4,5 +4,7 @@
|
|||||||
"most_reputation": "Most Reputation",
|
"most_reputation": "Most Reputation",
|
||||||
"search": "Search",
|
"search": "Search",
|
||||||
"enter_username": "Enter a username to search",
|
"enter_username": "Enter a username to search",
|
||||||
"load_more": "Load More"
|
"load_more": "Load More",
|
||||||
|
"user-not-found": "User not found!",
|
||||||
|
"users-found-search-took": "%1 user(s) found! Search took %2 ms."
|
||||||
}
|
}
|
||||||
@@ -32,43 +32,54 @@ define('forum/users', function() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
timeoutId = setTimeout(function() {
|
timeoutId = setTimeout(function() {
|
||||||
|
function reset() {
|
||||||
|
notify.html('<i class="fa fa-search"></i>');
|
||||||
|
notify.parent().removeClass('btn-warning label-warning btn-success label-success');
|
||||||
|
}
|
||||||
var username = $('#search-user').val();
|
var username = $('#search-user').val();
|
||||||
|
var notify = $('#user-notfound-notify');
|
||||||
|
|
||||||
if (username == '') {
|
if (username === '') {
|
||||||
$('#user-notfound-notify').html('<i class="fa fa-circle-o"></i>');
|
notify.html('<i class="fa fa-circle-o"></i>');
|
||||||
$('#user-notfound-notify').parent().removeClass('btn-warning label-warning btn-success label-success');
|
notify.parent().removeClass('btn-warning label-warning btn-success label-success');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lastSearch === username) return;
|
if (lastSearch === username) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
lastSearch = username;
|
lastSearch = username;
|
||||||
|
|
||||||
$('#user-notfound-notify').html('<i class="fa fa-spinner fa-spin"></i>');
|
notify.html('<i class="fa fa-spinner fa-spin"></i>');
|
||||||
|
|
||||||
socket.emit('user.search', username, function(err, data) {
|
socket.emit('user.search', username, function(err, data) {
|
||||||
if (err) {
|
if (err) {
|
||||||
return app.alert(err.message);
|
reset();
|
||||||
|
return app.alertError(err.message);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!data) {
|
if (!data) {
|
||||||
$('#user-notfound-notify').html('You need to be logged in to search!');
|
reset();
|
||||||
$('#user-notfound-notify').parent().addClass('btn-warning label-warning');
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ajaxify.loadTemplate('users', function(usersTemplate) {
|
ajaxify.loadTemplate('users', function(usersTemplate) {
|
||||||
var html = templates.parse(templates.getBlock(usersTemplate, 'users'), data);
|
var html = templates.parse(templates.getBlock(usersTemplate, 'users'), data);
|
||||||
|
|
||||||
translator.translate(html, function(translated) {
|
translator.translate(html, function(translated) {
|
||||||
$('#users-container').html(translated);
|
$('#users-container').html(translated);
|
||||||
|
if (!data.users.length) {
|
||||||
|
translator.translate('[[users:user-not-found]]', function(translated) {
|
||||||
if (data && data.users.length === 0) {
|
notify.html(translated);
|
||||||
$('#user-notfound-notify').html('User not found!');
|
notify.parent().addClass('btn-warning label-warning');
|
||||||
$('#user-notfound-notify').parent().addClass('btn-warning label-warning');
|
});
|
||||||
} else {
|
} else {
|
||||||
$('#user-notfound-notify').html(data.users.length + ' user' + (data.users.length > 1 ? 's' : '') + ' found! Search took ' + data.timing + ' ms.');
|
translator.translate('[[users:users-found-search-took, ' + data.users.length + ', ' + data.timing + ']]', function(translated) {
|
||||||
$('#user-notfound-notify').parent().addClass('btn-success label-success');
|
notify.html(translated);
|
||||||
|
notify.parent().addClass('btn-success label-success');
|
||||||
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -50,6 +50,9 @@ SocketUser.increaseViewCount = function(socket, uid, callback) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
SocketUser.search = function(socket, username, callback) {
|
SocketUser.search = function(socket, username, callback) {
|
||||||
|
if (!socket.uid) {
|
||||||
|
return callback(new Error('[[error:not-logged-in]]'));
|
||||||
|
}
|
||||||
user.search(username, callback);
|
user.search(username, callback);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user