run npm install. starting rss atom feeds of topics. fixed bug in topics where new topics created were not being saved properly

v1.18.x
psychobunny 12 years ago
parent 501cda24de
commit bcc903ee1c

@ -28,7 +28,9 @@
"bcrypt": "0.7.5",
"node-gyp": "0.9.5",
"async": "0.2.8",
"node-imagemagick": "0.1.8"
"node-imagemagick": "0.1.8",
"atom-writer": "1.0.3",
"xml-writer": "1.2.4"
},
"devDependencies": {},
"optionalDependencies": {},

@ -6,6 +6,7 @@ var RDB = require('./redis.js'),
favourites = require('./favourites.js'),
config = require('../config.js'),
threadTools = require('./threadTools.js'),
feed = require('./feed.js'),
async = require('async');
marked.setOptions({
@ -256,12 +257,14 @@ marked.setOptions({
RDB.incr('tid:' + tid + ':postcount');
user.getUserFields(uid, ['username'], function(data) {
user.getUserFields(uid, ['username'], function(data) { // todo parallel
//add active users to this category
RDB.get('tid:' + tid + ':cid', function(err, cid) {
RDB.handle(err);
feed.updateTopic(tid, cid);
// this is a bit of a naive implementation, defn something to look at post-MVP
RDB.scard('cid:' + cid + ':active_users', function(amount) {
if (amount > 10) {

@ -24,6 +24,7 @@ marked.setOptions({
.get(schema.topics(tid).category_slug)
.get(schema.topics(tid).deleted)
.get(schema.topics(tid).pinned)
.get(schema.topics(tid).slug)
.exec(function(err, replies) {
next(null, {
topic_name: replies[0],
@ -31,7 +32,8 @@ marked.setOptions({
category_name: replies[2],
category_slug: replies[3],
deleted: replies[4] || 0,
pinned: replies[5] || 0
pinned: replies[5] || 0,
slug: replies[6]
});
});
}
@ -105,6 +107,7 @@ marked.setOptions({
'locked': parseInt(topicData.locked) || 0,
'deleted': parseInt(topicData.deleted) || 0,
'pinned': parseInt(topicData.pinned) || 0,
'slug': topicData.slug,
'topic_id': tid,
'expose_tools': privileges.editable ? 1 : 0,
'posts': retrieved_posts,
@ -322,21 +325,21 @@ marked.setOptions({
var slug = tid + '/' + utils.slugify(title);
// Topic Info
RDB.set(schema.topic(tid).title, title);
RDB.set(schema.topic(tid).uid, uid);
RDB.set(schema.topic(tid).slug, slug);
RDB.set(schema.topic(tid).timestamp, new Date().getTime());
RDB.set(schema.topics(tid).title, title);
RDB.set(schema.topics(tid).uid, uid);
RDB.set(schema.topics(tid).slug, slug);
RDB.set(schema.topics(tid).timestamp, new Date().getTime());
RDB.set(schema.topic().slug(slug).tid, tid);
RDB.set(schema.topics().slug(slug).tid, tid);
// Posts
posts.create(uid, tid, content, function(pid) {
if (pid > 0) {
RDB.lpush(schema.topic(tid).posts, pid);
RDB.lpush(schema.topics(tid).posts, pid);
// Notify any users looking at the category that a new topic has arrived
Topics.get_topic(tid, uid, function(topicData) {
Topics.get_topics(tid, uid, function(topicData) {
io.sockets.in('category_' + category_id).emit('event:new_topic', topicData);
});
}

Loading…
Cancel
Save