diff --git a/public/src/client/account/favourites.js b/public/src/client/account/favourites.js index f73e1d4f20..1e6e77e20b 100644 --- a/public/src/client/account/favourites.js +++ b/public/src/client/account/favourites.js @@ -19,6 +19,7 @@ define('forum/account/favourites', ['forum/account/header', 'forum/infinitescrol } infinitescroll.loadMore('posts.loadMoreFavourites', { + uid: ajaxify.variables.get('theirid'), after: $('.user-favourite-posts').attr('data-nextstart') }, function(data, done) { if (data.posts && data.posts.length) { diff --git a/src/batch.js b/src/batch.js index 096c1d7147..70ccd8df01 100644 --- a/src/batch.js +++ b/src/batch.js @@ -28,7 +28,7 @@ var async = require('async'), var batch = options.batch || DEFAULT_BATCH_SIZE; var start = 0; - var end = batch; + var stop = batch; var done = false; async.whilst( @@ -36,11 +36,11 @@ var async = require('async'), return !done; }, function(next) { - db.getSortedSetRange(setKey, start, end, function(err, ids) { + db.getSortedSetRange(setKey, start, stop, function(err, ids) { if (err) { return next(err); } - if (!ids.length || options.doneIf(start, end, ids)) { + if (!ids.length || options.doneIf(start, stop, ids)) { done = true; return next(); } @@ -49,7 +49,7 @@ var async = require('async'), return next(err); } start += utils.isNumber(options.alwaysStartAt) ? options.alwaysStartAt : batch + 1; - end = start + batch; + stop = start + batch; next(); }); }); diff --git a/src/controllers/admin.js b/src/controllers/admin.js index 24332866f9..d24a80a180 100644 --- a/src/controllers/admin.js +++ b/src/controllers/admin.js @@ -179,20 +179,20 @@ adminController.flags.get = function(req, res, next) { if (err) { return next(err); } - res.render('admin/manage/flags', {posts: posts, next: end + 1, byUsername: byUsername}); + res.render('admin/manage/flags', {posts: posts, next: stop + 1, byUsername: byUsername}); } var uid = req.user ? parseInt(req.user.uid, 10) : 0; var sortBy = req.query.sortBy || 'count'; var byUsername = req.query.byUsername || ''; var start = 0; - var end = 19; + var stop = 19; if (byUsername) { - posts.getUserFlags(byUsername, sortBy, uid, start, end, done); + posts.getUserFlags(byUsername, sortBy, uid, start, stop, done); } else { var set = sortBy === 'count' ? 'posts:flags:count' : 'posts:flagged'; - posts.getFlags(set, uid, start, end, done); - } + posts.getFlags(set, uid, start, stop, done); + } }; adminController.database.get = function(req, res, next) { @@ -261,7 +261,7 @@ adminController.navigation.get = function(req, res, next) { if (err) { return next(err); } - + res.render('admin/general/navigation', data); }); }; @@ -374,7 +374,7 @@ adminController.extend.rewards = function(req, res, next) { if (err) { return next(err); } - + res.render('admin/extend/rewards', data); }); }; diff --git a/src/controllers/categories.js b/src/controllers/categories.js index c0f99655c4..8104a3f897 100644 --- a/src/controllers/categories.js +++ b/src/controllers/categories.js @@ -18,8 +18,8 @@ var categoriesController = {}, categoriesController.recent = function(req, res, next) { var uid = req.user ? req.user.uid : 0; - var end = (parseInt(meta.config.topicsPerList, 10) || 20) - 1; - topics.getTopicsFromSet('topics:recent', uid, 0, end, function(err, data) { + var stop = (parseInt(meta.config.topicsPerList, 10) || 20) - 1; + topics.getTopicsFromSet('topics:recent', uid, 0, stop, function(err, data) { if (err) { return next(err); } @@ -72,8 +72,8 @@ categoriesController.popular = function(req, res, next) { categoriesController.unread = function(req, res, next) { var uid = req.user ? req.user.uid : 0; - var end = (parseInt(meta.config.topicsPerList, 10) || 20) - 1; - topics.getUnreadTopics(uid, 0, end, function (err, data) { + var stop = (parseInt(meta.config.topicsPerList, 10) || 20) - 1; + topics.getUnreadTopics(uid, 0, stop, function (err, data) { if (err) { return next(err); } diff --git a/src/controllers/tags.js b/src/controllers/tags.js index 3d450e06a7..0e0bb2372d 100644 --- a/src/controllers/tags.js +++ b/src/controllers/tags.js @@ -11,9 +11,9 @@ var tagsController = {}, tagsController.getTag = function(req, res, next) { var tag = validator.escape(req.params.tag); var uid = req.user ? req.user.uid : 0; - var end = (parseInt(meta.config.topicsPerList, 10) || 20) - 1; + var stop = (parseInt(meta.config.topicsPerList, 10) || 20) - 1; - topics.getTagTids(tag, 0, end, function(err, tids) { + topics.getTagTids(tag, 0, stop, function(err, tids) { if (err) { return next(err); } @@ -45,7 +45,7 @@ tagsController.getTag = function(req, res, next) { var data = { topics: topics, tag: tag, - nextStart: end + 1, + nextStart: stop + 1, breadcrumbs: helpers.buildBreadcrumbs([{text: '[[tags:tags]]', url: '/tags'}, {text: tag}]) }; res.render('tag', data); diff --git a/src/controllers/topics.js b/src/controllers/topics.js index 8429e19396..5fb4e31b36 100644 --- a/src/controllers/topics.js +++ b/src/controllers/topics.js @@ -106,9 +106,9 @@ topicsController.get = function(req, res, next) { } var start = (page - 1) * settings.postsPerPage + postIndex, - end = start + settings.postsPerPage - 1; + stop = start + settings.postsPerPage - 1; - topics.getTopicWithPosts(tid, set, uid, start, end, reverse, function (err, topicData) { + topics.getTopicWithPosts(tid, set, uid, start, stop, reverse, function (err, topicData) { if (err && err.message === '[[error:no-topic]]' && !topicData) { return helpers.notFound(req, res); } @@ -255,7 +255,7 @@ topicsController.get = function(req, res, next) { data['reputation:disabled'] = parseInt(meta.config['reputation:disabled'], 10) === 1; data['downvote:disabled'] = parseInt(meta.config['downvote:disabled'], 10) === 1; data['feeds:disableRSS'] = parseInt(meta.config['feeds:disableRSS'], 10) === 1; - data['rssFeedUrl'] = nconf.get('relative_path') + '/topic/' + data.tid + '.rss'; + data.rssFeedUrl = nconf.get('relative_path') + '/topic/' + data.tid + '.rss'; data.pagination = pagination.create(data.currentPage, data.pageCount); data.pagination.rel.forEach(function(rel) { res.locals.linkTags.push(rel); @@ -280,36 +280,31 @@ topicsController.teaser = function(req, res, next) { return next(new Error('[[error:invalid-tid]]')); } - privileges.topics.can('read', tid, uid, function(err, canRead) { - if (err) { - return next(err); - } - - if (!canRead) { - return res.status(403).json('[[error:no-privileges]]'); - } - - topics.getLatestUndeletedPid(tid, function(err, pid) { - if (err) { - return next(err); + async.waterfall([ + function(next) { + privileges.topics.can('read', tid, uid, next); + }, + function(canRead, next) { + if (!canRead) { + return res.status(403).json('[[error:no-privileges]]'); } - + topics.getLatestUndeletedPid(tid, next); + }, + function(pid, next) { if (!pid) { return res.status(404).json('not-found'); } + posts.getPostSummaryByPids([pid], uid, {stripTags: false}, next); + } + ], function(err, posts) { + if (err) { + return next(err); + } - posts.getPostSummaryByPids([pid], uid, {stripTags: false}, function(err, posts) { - if (err) { - return next(err); - } - - if (!Array.isArray(posts) || !posts.length) { - return res.status(404).json('not-found'); - } - - res.json(posts[0]); - }); - }); + if (!Array.isArray(posts) || !posts.length) { + return res.status(404).json('not-found'); + } + res.json(posts[0]); }); }; diff --git a/src/groups.js b/src/groups.js index c2257c9935..90053643d3 100644 --- a/src/groups.js +++ b/src/groups.js @@ -93,8 +93,8 @@ var async = require('async'), }); }; - Groups.getGroups = function(start, end, callback) { - db.getSortedSetRevRange('groups:createtime', start, end, callback); + Groups.getGroups = function(start, stop, callback) { + db.getSortedSetRevRange('groups:createtime', start, stop, callback); }; Groups.get = function(groupName, options, callback) { @@ -315,8 +315,8 @@ var async = require('async'), }); }; - Groups.getMembers = function(groupName, start, end, callback) { - db.getSortedSetRevRange('group:' + groupName + ':members', start, end, callback); + Groups.getMembers = function(groupName, start, stop, callback) { + db.getSortedSetRevRange('group:' + groupName + ':members', start, stop, callback); }; Groups.getMembersOfGroups = function(groupNames, callback) { diff --git a/src/messaging.js b/src/messaging.js index 4a367fbd38..33ec97f9b4 100644 --- a/src/messaging.js +++ b/src/messaging.js @@ -225,10 +225,10 @@ var db = require('./database'), db.sortedSetAdd('uid:' + uid + ':chats', Date.now(), toUid, callback); }; - Messaging.getRecentChats = function(uid, start, end, callback) { + Messaging.getRecentChats = function(uid, start, stop, callback) { var websockets = require('./socket.io'); - db.getSortedSetRevRange('uid:' + uid + ':chats', start, end, function(err, uids) { + db.getSortedSetRevRange('uid:' + uid + ':chats', start, stop, function(err, uids) { if (err) { return callback(err); } @@ -250,7 +250,7 @@ var db = require('./database'), }); if (!results.users.length) { - return callback(null, {users: [], nextStart: end + 1}); + return callback(null, {users: [], nextStart: stop + 1}); } results.users.forEach(function(user, index) { @@ -260,7 +260,7 @@ var db = require('./database'), } }); - callback(null, {users: results.users, nextStart: end + 1}); + callback(null, {users: results.users, nextStart: stop + 1}); }); }); }; diff --git a/src/posts.js b/src/posts.js index 53931d75f7..e81863e44d 100644 --- a/src/posts.js +++ b/src/posts.js @@ -26,11 +26,11 @@ var async = require('async'), db.isSortedSetMember('posts:pid', pid, callback); }; - Posts.getPidsFromSet = function(set, start, end, reverse, callback) { - if (isNaN(start) || isNaN(end)) { + Posts.getPidsFromSet = function(set, start, stop, reverse, callback) { + if (isNaN(start) || isNaN(stop)) { return callback(null, []); } - db[reverse ? 'getSortedSetRevRange' : 'getSortedSetRange'](set, start, end, callback); + db[reverse ? 'getSortedSetRevRange' : 'getSortedSetRange'](set, start, stop, callback); }; Posts.getPostsByPids = function(pids, uid, callback) { @@ -73,10 +73,10 @@ var async = require('async'), }); }; - Posts.getPostsFromSet = function(set, uid, start, end, callback) { + Posts.getPostsFromSet = function(set, uid, start, stop, callback) { async.waterfall([ function(next) { - db.getSortedSetRevRange(set, start, end, next); + db.getSortedSetRevRange(set, start, stop, next); }, function(pids, next) { privileges.posts.filter('read', pids, uid, next); @@ -85,7 +85,7 @@ var async = require('async'), Posts.getPostSummaryByPids(pids, uid, {stripTags: false}, next); }, function(posts, next) { - next(null, {posts: posts, nextStart: end + 1}); + next(null, {posts: posts, nextStart: stop + 1}); } ], callback); }; diff --git a/src/posts/flags.js b/src/posts/flags.js index 388b707d3d..cbfa1f832c 100644 --- a/src/posts/flags.js +++ b/src/posts/flags.js @@ -38,17 +38,17 @@ module.exports = function(Posts) { }, function(next) { if (parseInt(post.uid, 10)) { - db.sortedSetAdd('uid:' + post.uid + ':flag:pids', now, post.pid, next); + db.sortedSetAdd('uid:' + post.uid + ':flag:pids', now, post.pid, next); } else { next(); - } + } }, function(next) { if (parseInt(post.uid, 10)) { db.setAdd('uid:' + post.uid + ':flagged_by', uid, next); } else { next(); - } + } } ], function(err, results) { callback(err); @@ -69,8 +69,8 @@ module.exports = function(Posts) { } db.sortedSetsRemove([ - 'posts:flagged', - 'posts:flags:count', + 'posts:flagged', + 'posts:flags:count', 'uid:' + uid + ':flag:pids' ], pid, next); }); @@ -80,7 +80,7 @@ module.exports = function(Posts) { }, function(next) { db.delete('pid:' + pid + ':flag:uids', next); - } + } ], function(err, results) { callback(err); }); @@ -90,8 +90,8 @@ module.exports = function(Posts) { db.delete('posts:flagged', callback); }; - Posts.getFlags = function(set, uid, start, end, callback) { - db.getSortedSetRevRange(set, start, end, function(err, pids) { + Posts.getFlags = function(set, uid, start, stop, callback) { + db.getSortedSetRevRange(set, start, stop, function(err, pids) { if (err) { return callback(err); } @@ -100,7 +100,7 @@ module.exports = function(Posts) { }); }; - Posts.getUserFlags = function(byUsername, sortBy, callerUID, start, end, callback) { + Posts.getUserFlags = function(byUsername, sortBy, callerUID, start, stop, callback) { async.waterfall([ function(next) { user.getUidByUsername(byUsername, next); @@ -108,7 +108,7 @@ module.exports = function(Posts) { function(uid, next) { if (!uid) { return next(null, []); - } + } db.getSortedSetRevRange('uid:' + uid + ':flag:pids', 0, -1, next); }, function(pids, next) { @@ -120,7 +120,7 @@ module.exports = function(Posts) { return b.flags - a.flags; }); } - next(null, posts.slice(start, end)); + next(null, posts.slice(start, stop)); } ], callback); }; diff --git a/src/posts/recent.js b/src/posts/recent.js index d41ef5342e..f7d588acff 100644 --- a/src/posts/recent.js +++ b/src/posts/recent.js @@ -33,10 +33,10 @@ module.exports = function(Posts) { ], callback); }; - Posts.getRecentPosterUids = function(start, end, callback) { + Posts.getRecentPosterUids = function(start, stop, callback) { async.waterfall([ function(next) { - db.getSortedSetRevRange('posts:pid', start, end, next); + db.getSortedSetRevRange('posts:pid', start, stop, next); }, function(pids, next) { Posts.getPostsFields(pids, ['uid'], next); diff --git a/src/posts/topics.js b/src/posts/topics.js index 75577d2925..4e9f1f7213 100644 --- a/src/posts/topics.js +++ b/src/posts/topics.js @@ -6,8 +6,8 @@ var async = require('async'), module.exports = function(Posts) { - Posts.getPostsByTid = function(tid, set, start, end, uid, reverse, callback) { - Posts.getPidsFromSet(set, start, end, reverse, function(err, pids) { + Posts.getPostsByTid = function(tid, set, start, stop, uid, reverse, callback) { + Posts.getPidsFromSet(set, start, stop, reverse, function(err, pids) { if (err) { return callback(err); } diff --git a/src/socket.io/admin.js b/src/socket.io/admin.js index 6b61d523f3..ecf63997e5 100644 --- a/src/socket.io/admin.js +++ b/src/socket.io/admin.js @@ -304,12 +304,12 @@ SocketAdmin.getMoreEvents = function(socket, next, callback) { if (start < 0) { return callback(null, {data: [], next: next}); } - var end = start + 10; - events.getEvents(start, end, function(err, events) { + var stop = start + 10; + events.getEvents(start, stop, function(err, events) { if (err) { return callback(err); } - callback(null, {events: events, next: end + 1}); + callback(null, {events: events, next: stop + 1}); }); }; @@ -336,15 +336,15 @@ SocketAdmin.getMoreFlags = function(socket, data, callback) { var sortBy = data.sortBy || 'count'; var byUsername = data.byUsername || ''; var start = parseInt(data.after, 10); - var end = start + 19; + var stop = start + 19; if (byUsername) { - posts.getUserFlags(byUsername, sortBy, socket.uid, start, end, function(err, posts) { - callback(err, {posts: posts, next: end + 1}); + posts.getUserFlags(byUsername, sortBy, socket.uid, start, stop, function(err, posts) { + callback(err, {posts: posts, next: stop + 1}); }); } else { var set = sortBy === 'count' ? 'posts:flags:count' : 'posts:flagged'; - posts.getFlags(set, socket.uid, start, end, function(err, posts) { - callback(err, {posts: posts, next: end + 1}); + posts.getFlags(set, socket.uid, start, stop, function(err, posts) { + callback(err, {posts: posts, next: stop + 1}); }); } }; diff --git a/src/socket.io/categories.js b/src/socket.io/categories.js index d98cb0c21f..8ed8881f68 100644 --- a/src/socket.io/categories.js +++ b/src/socket.io/categories.js @@ -58,7 +58,7 @@ SocketCategories.loadMore = function(socket, data, callback) { } var start = parseInt(data.after, 10), - end = start + results.settings.topicsPerPage - 1; + stop = start + results.settings.topicsPerPage - 1; if (results.targetUid) { set = 'cid:' + data.cid + ':uid:' + results.targetUid + ':tids'; @@ -69,7 +69,7 @@ SocketCategories.loadMore = function(socket, data, callback) { set: set, reverse: reverse, start: start, - stop: end, + stop: stop, uid: socket.uid, targetUid: results.targetUid }, function(err, data) { diff --git a/src/socket.io/modules.js b/src/socket.io/modules.js index 2825b28656..8745efc72a 100644 --- a/src/socket.io/modules.js +++ b/src/socket.io/modules.js @@ -249,9 +249,9 @@ SocketModules.chats.getRecentChats = function(socket, data, callback) { return callback(new Error('[[error:invalid-data]]')); } var start = parseInt(data.after, 10), - end = start + 9; + stop = start + 9; - Messaging.getRecentChats(socket.uid, start, end, callback); + Messaging.getRecentChats(socket.uid, start, stop, callback); }; diff --git a/src/socket.io/posts.js b/src/socket.io/posts.js index 2fdf4425b5..21825fec07 100644 --- a/src/socket.io/posts.js +++ b/src/socket.io/posts.js @@ -511,27 +511,23 @@ SocketPosts.flag = function(socket, pid, callback) { }; SocketPosts.loadMoreFavourites = function(socket, data, callback) { - if(!data || !data.after) { - return callback(new Error('[[error:invalid-data]]')); - } - - var start = parseInt(data.after, 10), - end = start + 9; - - posts.getPostsFromSet('uid:' + socket.uid + ':favourites', socket.uid, start, end, callback); + loadMorePosts('uid:' + data.uid + ':favourites', socket.uid, data, callback); }; SocketPosts.loadMoreUserPosts = function(socket, data, callback) { - if(!data || !data.uid || !utils.isNumber(data.after)) { + loadMorePosts('uid:' + data.uid + ':posts', socket.uid, data, callback); +}; + +function loadMorePosts(set, uid, data, callback) { + if (!data || !utils.isNumber(data.uid) || !utils.isNumber(data.after)) { return callback(new Error('[[error:invalid-data]]')); } var start = Math.max(0, parseInt(data.after, 10)), - end = start + 9; - - posts.getPostsFromSet('uid:' + data.uid + ':posts', socket.uid, start, end, callback); -}; + stop = start + 9; + posts.getPostsFromSet(set, uid, start, stop, callback); +} SocketPosts.getRecentPosts = function(socket, data, callback) { if(!data || !data.count) { diff --git a/src/socket.io/topics.js b/src/socket.io/topics.js index c270082953..61ea05269f 100644 --- a/src/socket.io/topics.js +++ b/src/socket.io/topics.js @@ -470,11 +470,11 @@ SocketTopics.loadMore = function(socket, data, callback) { } } - var end = start + results.settings.postsPerPage - 1; + var stop = start + results.settings.postsPerPage - 1; async.parallel({ posts: function(next) { - topics.getTopicPosts(data.tid, set, start, end, socket.uid, reverse, next); + topics.getTopicPosts(data.tid, set, start, stop, socket.uid, reverse, next); }, privileges: function(next) { next(null, results.privileges); @@ -490,33 +490,33 @@ SocketTopics.loadMore = function(socket, data, callback) { }; SocketTopics.loadMoreUnreadTopics = function(socket, data, callback) { - if(!data || !data.after) { + if (!data || !data.after) { return callback(new Error('[[error:invalid-data]]')); } var start = parseInt(data.after, 10), - end = start + 9; + stop = start + 9; - topics.getUnreadTopics(socket.uid, start, end, callback); + topics.getUnreadTopics(socket.uid, start, stop, callback); }; SocketTopics.loadMoreFromSet = function(socket, data, callback) { - if(!data || !data.after || !data.set) { + if (!data || !data.after || !data.set) { return callback(new Error('[[error:invalid-data]]')); } var start = parseInt(data.after, 10), - end = start + 9; + stop = start + 9; - topics.getTopicsFromSet(data.set, socket.uid, start, end, callback); + topics.getTopicsFromSet(data.set, socket.uid, start, stop, callback); }; SocketTopics.loadTopics = function(socket, data, callback) { - if(!data || !data.set || !utils.isNumber(data.start) || !utils.isNumber(data.end)) { + if (!data || !data.set || !utils.isNumber(data.start) || !utils.isNumber(data.stop)) { return callback(new Error('[[error:invalid-data]]')); } - topics.getTopicsFromSet(data.set, socket.uid, data.start, data.end, callback); + topics.getTopicsFromSet(data.set, socket.uid, data.start, data.stop, callback); }; SocketTopics.getPageCount = function(socket, tid, callback) { @@ -544,14 +544,14 @@ SocketTopics.loadMoreTags = function(socket, data, callback) { } var start = parseInt(data.after, 10), - end = start + 99; + stop = start + 99; - topics.getTags(start, end, function(err, tags) { + topics.getTags(start, stop, function(err, tags) { if (err) { return callback(err); } - callback(null, {tags: tags, nextStart: end + 1}); + callback(null, {tags: tags, nextStart: stop + 1}); }); }; diff --git a/src/socket.io/user.js b/src/socket.io/user.js index 807666ff18..5b4db66495 100644 --- a/src/socket.io/user.js +++ b/src/socket.io/user.js @@ -397,7 +397,7 @@ SocketUser.getUnreadChatCount = function(socket, data, callback) { }; SocketUser.loadMore = function(socket, data, callback) { - if(!data || !data.set || parseInt(data.after, 10) < 0) { + if (!data || !data.set || parseInt(data.after, 10) < 0) { return callback(new Error('[[error:invalid-data]]')); } @@ -406,28 +406,30 @@ SocketUser.loadMore = function(socket, data, callback) { } var start = parseInt(data.after, 10), - end = start + 19; + stop = start + 19; - user.getUsersFromSet(data.set, socket.uid, start, end, function(err, userData) { + async.parallel({ + isAdmin: function(next) { + user.isAdministrator(socket.uid, next); + }, + users: function(next) { + user.getUsersFromSet(data.set, socket.uid, start, stop, next); + } + }, function(err, results) { if (err) { return callback(err); } - user.isAdministrator(socket.uid, function (err, isAdministrator) { - if (err) { - return callback(err); - } - - if (!isAdministrator && data.set === 'users:online') { - userData = userData.filter(function(item) { - return item.status !== 'offline'; - }); - } - callback(null, { - users: userData, - nextStart: end + 1 + if (!results.isAdmin && data.set === 'users:online') { + results.users = results.users.filter(function(user) { + return user.status !== 'offline'; }); + } + + callback(null, { + users: results.users, + nextStart: stop + 1 }); }); }; diff --git a/src/topics.js b/src/topics.js index 0cc153e85e..f4a1918397 100644 --- a/src/topics.js +++ b/src/topics.js @@ -112,16 +112,16 @@ var async = require('async'), }); }; - Topics.getTopicsFromSet = function(set, uid, start, end, callback) { + Topics.getTopicsFromSet = function(set, uid, start, stop, callback) { async.waterfall([ function(next) { - db.getSortedSetRevRange(set, start, end, next); + db.getSortedSetRevRange(set, start, stop, next); }, function(tids, next) { Topics.getTopics(tids, uid, next); }, function(topics, next) { - next(null, {topics: topics, nextStart: end + 1}); + next(null, {topics: topics, nextStart: stop + 1}); } ], callback); }; @@ -209,14 +209,14 @@ var async = require('async'), }); }; - Topics.getTopicWithPosts = function(tid, set, uid, start, end, reverse, callback) { + Topics.getTopicWithPosts = function(tid, set, uid, start, stop, reverse, callback) { Topics.getTopicData(tid, function(err, topicData) { if (err || !topicData) { return callback(err || new Error('[[error:no-topic]]')); } async.parallel({ - posts: async.apply(getMainPostAndReplies, topicData, set, uid, start, end, reverse), + posts: async.apply(getMainPostAndReplies, topicData, set, uid, start, stop, reverse), category: async.apply(Topics.getCategoryData, tid), threadTools: async.apply(plugins.fireHook, 'filter:topic.thread_tools', {topic: topicData, uid: uid, tools: []}), tags: async.apply(Topics.getTopicTagsObjects, tid), @@ -244,10 +244,10 @@ var async = require('async'), }); }; - function getMainPostAndReplies(topic, set, uid, start, end, reverse, callback) { + function getMainPostAndReplies(topic, set, uid, start, stop, reverse, callback) { async.waterfall([ function(next) { - posts.getPidsFromSet(set, start, end, reverse, next); + posts.getPidsFromSet(set, start, stop, reverse, next); }, function(pids, next) { if ((!Array.isArray(pids) || !pids.length) && !topic.mainPid) { @@ -268,7 +268,7 @@ var async = require('async'), posts[0].index = 0; } - var indices = Topics.calculatePostIndices(start, end, topic.postcount, reverse); + var indices = Topics.calculatePostIndices(start, stop, topic.postcount, reverse); for (var i=1; i b; }); - + plugins.fireHook('filter:tags.search', {data: data, matches: matches}, function(err, data) { callback(err, data ? data.matches : []); }); diff --git a/src/user/admin.js b/src/user/admin.js index 4693fe539d..4d559fcb34 100644 --- a/src/user/admin.js +++ b/src/user/admin.js @@ -15,8 +15,8 @@ module.exports = function(User) { } }; - User.getIPs = function(uid, end, callback) { - db.getSortedSetRevRange('uid:' + uid + ':ip', 0, end, function(err, ips) { + User.getIPs = function(uid, stop, callback) { + db.getSortedSetRevRange('uid:' + uid + ':ip', 0, stop, function(err, ips) { if(err) { return callback(err); } diff --git a/src/user/follow.js b/src/user/follow.js index b7bda96903..fc776bcef8 100644 --- a/src/user/follow.js +++ b/src/user/follow.js @@ -53,20 +53,20 @@ module.exports = function(User) { }); } - User.getFollowing = function(uid, start, end, callback) { - getFollow(uid, 'following:' + uid, start, end, callback); + User.getFollowing = function(uid, start, stop, callback) { + getFollow(uid, 'following:' + uid, start, stop, callback); }; - User.getFollowers = function(uid, start, end, callback) { - getFollow(uid, 'followers:' + uid, start, end, callback); + User.getFollowers = function(uid, start, stop, callback) { + getFollow(uid, 'followers:' + uid, start, stop, callback); }; - function getFollow(uid, set, start, end, callback) { + function getFollow(uid, set, start, stop, callback) { if (!parseInt(uid, 10)) { return callback(null, []); } - db.getSortedSetRevRange(set, start, end, function(err, uids) { + db.getSortedSetRevRange(set, start, stop, function(err, uids) { if (err) { return callback(err); } diff --git a/src/user/search.js b/src/user/search.js index 7545a6d3f3..08b2ebefa3 100644 --- a/src/user/search.js +++ b/src/user/search.js @@ -59,14 +59,14 @@ module.exports = function(User) { User.paginate = function(page, data) { var resultsPerPage = parseInt(meta.config.userSearchResultsPerPage, 10) || 20; var start = Math.max(0, page - 1) * resultsPerPage; - var end = start + resultsPerPage; + var stop = start + resultsPerPage; var pageCount = Math.ceil(data.length / resultsPerPage); var currentPage = Math.max(1, Math.ceil((start + 1) / resultsPerPage)); return { pagination: pagination.create(currentPage, pageCount), - data: data.slice(start, end) + data: data.slice(start, stop) }; };