- {categories.name} 3
+ {categories.name} {categories.topic_count}
diff --git a/src/categories.js b/src/categories.js
index 6a6adc8c9e..955a348ae6 100644
--- a/src/categories.js
+++ b/src/categories.js
@@ -56,10 +56,10 @@ var RDB = require('./redis.js'),
// just a reminder to self that name + slugs are stored into topics data as well.
};
- Categories.get = function(callback) {
+ Categories.get = function(callback, current_user) {
RDB.lrange('categories:cid', 0, -1, function(err, cids) {
RDB.handle(err);
- Categories.get_category(cids, callback);
+ Categories.get_category(cids, callback, current_user);
});
}
@@ -79,12 +79,29 @@ var RDB = require('./redis.js'),
});
}
- Categories.get_category = function(cids, callback) {
+
+ Categories.hasReadCategories = function(cids, uid, callback) {
+ var batch = RDB.multi();
+
+ for (var i=0, ii=cids.length; i 0) {
@@ -101,26 +119,39 @@ var RDB = require('./redis.js'),
.mget(icon)
.mget(blockclass)
.mget(slug)
+ .mget(topic_count)
.exec(function(err, replies) {
name = replies[0];
description = replies[1];
icon = replies[2];
blockclass = replies[3];
slug = replies[4];
+ topic_count = replies[5];
+
- var categories = [];
- for (var i=0, ii=cids.length; i