v1.18.x
barisusakli 10 years ago
parent 00f2778534
commit ade9a44b11

@ -104,5 +104,6 @@
"privacy": "Privacy",
"follow": "Follow",
"unfollow": "Unfollow",
"delete_all": "Delete All"
"delete_all": "Delete All",
"map": "Map"
}

@ -8,26 +8,8 @@ define('forum/popular', function() {
Popular.init = function() {
app.enterRoom('popular_topics');
selectActivePill();
$('.nav-pills li').removeClass('active').find('a[href="' + window.location.pathname + '"]').parent().addClass('active');
};
function selectActivePill() {
var active = getActiveSection();
$('.nav-pills li').removeClass('active');
$('.nav-pills li a').each(function() {
var $this = $(this);
if ($this.attr('href').match(active)) {
$this.parent().addClass('active');
return false;
}
});
}
function getActiveSection() {
var parts = window.location.href.split('/');
return parts[parts.length - 1];
}
return Popular;
});

@ -9,16 +9,8 @@ define('forum/users', ['translator'], function(translator) {
Users.init = function() {
app.enterRoom('user_list');
var active = getActiveSection();
$('.nav-pills li').removeClass('active');
$('.nav-pills li a').each(function() {
var $this = $(this);
if ($this.attr('href').match(active)) {
$this.parent().addClass('active');
return false;
}
});
$('.nav-pills li').removeClass('active').find('a[href="' + window.location.pathname + '"]').parent().addClass('active');
handleSearch();
@ -41,14 +33,14 @@ define('forum/users', ['translator'], function(translator) {
function loadMoreUsers() {
var set = '';
var activeSection = getActiveSection();
if (activeSection === 'latest') {
set = 'users:joindate';
} else if (activeSection === 'sort-posts') {
if (activeSection === 'sort-posts') {
set = 'users:postcount';
} else if (activeSection === 'sort-reputation') {
set = 'users:reputation';
} else if (activeSection === 'online' || activeSection === 'users') {
} else if (activeSection === 'online') {
set = 'users:online';
} else if (activeSection === 'users') {
set = 'users:joindate';
}
if (set) {
@ -81,8 +73,8 @@ define('forum/users', ['translator'], function(translator) {
templates.parse('users', 'users', data, function(html) {
translator.translate(html, function(translated) {
translated = $(translated);
translated.find('span.timeago').timeago();
$('#users-container').append(translated);
translated.find('span.timeago').timeago();
$('#users-container .anon-user').appendTo($('#users-container'));
});
});

@ -19,7 +19,14 @@ var terms = {
popularController.get = function(req, res, next) {
var term = terms[req.params.term] || 'day';
var term = terms[req.params.term] || 'alltime';
var termToBreadcrumb = {
day: '[[recent:day]]',
week: '[[recent:week]]',
month: '[[recent:month]]',
alltime: '[[global:header.popular]]'
};
if (!req.uid) {
if (anonCache[term] && (Date.now() - lastUpdateTime) < 60 * 60 * 1000) {
@ -40,7 +47,13 @@ popularController.get = function(req, res, next) {
};
if (req.path.startsWith('/api/popular') || req.path.startsWith('/popular')) {
data.breadcrumbs = helpers.buildBreadcrumbs([{text: '[[global:header.popular]]'}]);
var breadcrumbs = [{text: termToBreadcrumb[term]}];
if (req.params.term) {
breadcrumbs.unshift({text: '[[global:header.popular]]', url: '/popular'});
}
data.breadcrumbs = helpers.buildBreadcrumbs(breadcrumbs);
}
if (!req.uid) {

@ -14,10 +14,6 @@ var async = require('async'),
db = require('../database'),
helpers = require('./helpers');
usersController.redirectToOnlineUsers = function(req, res, next) {
helpers.redirect(res, '/users/online');
};
usersController.getOnlineUsers = function(req, res, next) {
var websockets = require('../socket.io');
@ -51,7 +47,7 @@ usersController.getOnlineUsers = function(req, res, next) {
anonymousUserCount: websockets.getOnlineAnonCount(),
defaultGravatar: user.createGravatarURLFromEmail(''),
title: '[[pages:users/online]]',
breadcrumbs: helpers.buildBreadcrumbs([{text: '[[pages:users/online]]'}])
breadcrumbs: helpers.buildBreadcrumbs([{text: '[[global:users]]', url: '/users'}, {text: '[[pages:users/online]]'}])
};
render(req, res, userData, next);
@ -80,12 +76,20 @@ usersController.getUsers = function(set, start, stop, req, res, next) {
var setToCrumbs = {
'users:postcount': '[[users:top_posters]]',
'users:reputation': '[[users:most_reputation]]',
'users:joindate': '[[pages:users/latest]]'
'users:joindate': '[[global:users]]'
};
var breadcrumbs = [{text: setToCrumbs[set]}];
if (set !== 'users:joindate') {
breadcrumbs.unshift({text: '[[global:users]]', url: '/users'});
}
usersController.getUsersAndCount(set, req.uid, start, stop, function(err, data) {
if (err) {
return next(err);
}
var pageCount = Math.ceil(data.count / (parseInt(meta.config.userSearchResultsPerPage, 10) || 20));
var userData = {
search_display: 'hidden',
@ -93,7 +97,7 @@ usersController.getUsers = function(set, start, stop, req, res, next) {
users: data.users,
pagination: pagination.create(1, pageCount),
title: setToTitles[set] || '[[pages:users/latest]]',
breadcrumbs: helpers.buildBreadcrumbs([{text: setToCrumbs[set]}])
breadcrumbs: helpers.buildBreadcrumbs(breadcrumbs)
};
userData['route_' + set] = true;
render(req, res, userData, next);
@ -136,7 +140,7 @@ usersController.getUsersForSearch = function(req, res, next) {
loadmore_display: 'hidden',
users: data.users,
title: '[[pages:users/search]]',
breadcrumbs: helpers.buildBreadcrumbs([{text: '[[pages:users/search]]'}])
breadcrumbs: helpers.buildBreadcrumbs([{text: '[[global:users]]', url: '/users'}, {text: '[[global:search]]'}])
};
render(req, res, userData, next);
@ -212,7 +216,11 @@ usersController.getMap = function(req, res, next) {
}
});
res.render('usersMap', {rooms: data, title: '[[pages:users/map]]', breadcrumbs: helpers.buildBreadcrumbs([{text: '[[pages:users/map]]'}])});
res.render('usersMap', {
rooms: data,
title: '[[pages:users/map]]',
breadcrumbs: helpers.buildBreadcrumbs([{text: '[[global:users]]', url: '/users'}, {text: '[[global:map]]'}])
});
});
};

@ -78,11 +78,10 @@ function accountRoutes(app, middleware, controllers) {
function userRoutes(app, middleware, controllers) {
var middlewares = [middleware.checkGlobalPrivacySettings];
setupPageRoute(app, '/users', middleware, middlewares, controllers.users.redirectToOnlineUsers);
setupPageRoute(app, '/users', middleware, middlewares, controllers.users.getUsersSortedByJoinDate);
setupPageRoute(app, '/users/online', middleware, middlewares, controllers.users.getOnlineUsers);
setupPageRoute(app, '/users/sort-posts', middleware, middlewares, controllers.users.getUsersSortedByPosts);
setupPageRoute(app, '/users/sort-reputation', middleware, middlewares, controllers.users.getUsersSortedByReputation);
setupPageRoute(app, '/users/latest', middleware, middlewares, controllers.users.getUsersSortedByJoinDate);
setupPageRoute(app, '/users/search', middleware, middlewares, controllers.users.getUsersForSearch);
setupPageRoute(app, '/users/map', middleware, middlewares, controllers.users.getMap);
}

Loading…
Cancel
Save