From 07f434be544eb7fe4b88bf61099ee99f0dd15ab2 Mon Sep 17 00:00:00 2001 From: Baris Soner Usakli Date: Tue, 25 Jun 2013 21:16:37 -0400 Subject: [PATCH] possible fix for topic sorting --- src/categories.js | 17 +++++++++++------ src/posts.js | 3 ++- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/categories.js b/src/categories.js index 043b50ef89..b3ea348e12 100644 --- a/src/categories.js +++ b/src/categories.js @@ -40,7 +40,7 @@ var RDB = require('./redis.js'), topics = topics.sort(function(a, b) { if (a.pinned !== b.pinned) return b.pinned - a.pinned; else { - return b.timestamp - a.timestamp; + return b.lastposttime - a.lastposttime; } }); console.log(topics); @@ -117,6 +117,7 @@ var RDB = require('./redis.js'), var title = [], uid = [], timestamp = [], + lastposttime = [], slug = [], postcount = [], locked = [], @@ -127,6 +128,7 @@ var RDB = require('./redis.js'), title.push('tid:' + tids[i] + ':title'); uid.push('tid:' + tids[i] + ':uid'); timestamp.push('tid:' + tids[i] + ':timestamp'); + lastposttime.push('tid:' + tids[i] + ':lastposttime'); slug.push('tid:' + tids[i] + ':slug'); postcount.push('tid:' + tids[i] + ':postcount'); locked.push('tid:' + tids[i] + ':locked'); @@ -139,6 +141,7 @@ var RDB = require('./redis.js'), .mget(title) .mget(uid) .mget(timestamp) + .mget(lastposttime) .mget(slug) .mget(postcount) .mget(locked) @@ -150,11 +153,12 @@ var RDB = require('./redis.js'), title = replies[0]; uid = replies[1]; timestamp = replies[2]; - slug = replies[3]; - postcount = replies[4]; - locked = replies[5]; - deleted = replies[6]; - pinned = replies[7]; + lastposttime = replies[3]; + slug = replies[4]; + postcount = replies[5]; + locked = replies[6]; + deleted = replies[7]; + pinned = replies[8]; function getUserNames(next) { user.get_usernames_by_uids(uid, function(userNames) { @@ -195,6 +199,7 @@ var RDB = require('./redis.js'), 'uid' : uid[i], 'username': usernames[i], 'timestamp' : timestamp[i], + 'lastposttime' : lastposttime[i], 'relativeTime': utils.relativeTime(timestamp[i]), 'slug' : slug[i], 'post_count' : postcount[i], diff --git a/src/posts.js b/src/posts.js index e0c209dfd8..d9207833dc 100644 --- a/src/posts.js +++ b/src/posts.js @@ -258,7 +258,8 @@ marked.setOptions({ RDB.set('pid:' + pid + ':tid', tid); RDB.incr('tid:' + tid + ':postcount'); - RDB.zadd(schema.topics().recent, Date.now(), tid); + RDB.zadd(schema.topics().recent, timestamp, tid); + RDB.set('tid:' + tid + ':lastposttime', timestamp); user.getUserFields(uid, ['username'], function(data) { // todo parallel //add active users to this category