v1.18.x
barisusakli 11 years ago
parent 36ed21ad72
commit 3c3ad7d115

@ -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);
}; };

Loading…
Cancel
Save