possible fix for topic sorting

v1.18.x
Baris Soner Usakli 12 years ago
parent 9b43f80ff8
commit 07f434be54

@ -40,7 +40,7 @@ var RDB = require('./redis.js'),
topics = topics.sort(function(a, b) { topics = topics.sort(function(a, b) {
if (a.pinned !== b.pinned) return b.pinned - a.pinned; if (a.pinned !== b.pinned) return b.pinned - a.pinned;
else { else {
return b.timestamp - a.timestamp; return b.lastposttime - a.lastposttime;
} }
}); });
console.log(topics); console.log(topics);
@ -117,6 +117,7 @@ var RDB = require('./redis.js'),
var title = [], var title = [],
uid = [], uid = [],
timestamp = [], timestamp = [],
lastposttime = [],
slug = [], slug = [],
postcount = [], postcount = [],
locked = [], locked = [],
@ -127,6 +128,7 @@ var RDB = require('./redis.js'),
title.push('tid:' + tids[i] + ':title'); title.push('tid:' + tids[i] + ':title');
uid.push('tid:' + tids[i] + ':uid'); uid.push('tid:' + tids[i] + ':uid');
timestamp.push('tid:' + tids[i] + ':timestamp'); timestamp.push('tid:' + tids[i] + ':timestamp');
lastposttime.push('tid:' + tids[i] + ':lastposttime');
slug.push('tid:' + tids[i] + ':slug'); slug.push('tid:' + tids[i] + ':slug');
postcount.push('tid:' + tids[i] + ':postcount'); postcount.push('tid:' + tids[i] + ':postcount');
locked.push('tid:' + tids[i] + ':locked'); locked.push('tid:' + tids[i] + ':locked');
@ -139,6 +141,7 @@ var RDB = require('./redis.js'),
.mget(title) .mget(title)
.mget(uid) .mget(uid)
.mget(timestamp) .mget(timestamp)
.mget(lastposttime)
.mget(slug) .mget(slug)
.mget(postcount) .mget(postcount)
.mget(locked) .mget(locked)
@ -150,11 +153,12 @@ var RDB = require('./redis.js'),
title = replies[0]; title = replies[0];
uid = replies[1]; uid = replies[1];
timestamp = replies[2]; timestamp = replies[2];
slug = replies[3]; lastposttime = replies[3];
postcount = replies[4]; slug = replies[4];
locked = replies[5]; postcount = replies[5];
deleted = replies[6]; locked = replies[6];
pinned = replies[7]; deleted = replies[7];
pinned = replies[8];
function getUserNames(next) { function getUserNames(next) {
user.get_usernames_by_uids(uid, function(userNames) { user.get_usernames_by_uids(uid, function(userNames) {
@ -195,6 +199,7 @@ var RDB = require('./redis.js'),
'uid' : uid[i], 'uid' : uid[i],
'username': usernames[i], 'username': usernames[i],
'timestamp' : timestamp[i], 'timestamp' : timestamp[i],
'lastposttime' : lastposttime[i],
'relativeTime': utils.relativeTime(timestamp[i]), 'relativeTime': utils.relativeTime(timestamp[i]),
'slug' : slug[i], 'slug' : slug[i],
'post_count' : postcount[i], 'post_count' : postcount[i],

@ -258,7 +258,8 @@ marked.setOptions({
RDB.set('pid:' + pid + ':tid', tid); RDB.set('pid:' + pid + ':tid', tid);
RDB.incr('tid:' + tid + ':postcount'); 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 user.getUserFields(uid, ['username'], function(data) { // todo parallel
//add active users to this category //add active users to this category

Loading…
Cancel
Save