small refactor plus breadcrumbs for all ur pages

This commit is contained in:
psychobunny
2013-05-07 18:21:00 +00:00
parent 9e23279459
commit ae2be687b8
5 changed files with 142 additions and 95 deletions

View File

@@ -25,60 +25,66 @@ var RDB = require('./redis.js'),
});
};
Categories.edit = function(data, callback) {
// just a reminder to self that name + slugs are stored into topics data as well.
};
Categories.get = function(callback) {
RDB.lrange('categories:cid', 0, -1, function(cids) {
var name = [],
description = [],
icon = [],
blockclass = [],
slug = [];
for (var i=0, ii=cids.length; i<ii; i++) {
name.push('cid:' + cids[i] + ':name');
description.push('cid:' + cids[i] + ':description');
icon.push('cid:' + cids[i] + ':icon');
blockclass.push('cid:' + cids[i] + ':blockclass');
slug.push('cid:' + cids[i] + ':slug');
}
if (cids.length > 0) {
RDB.multi()
.mget(name)
.mget(description)
.mget(icon)
.mget(blockclass)
.mget(slug)
.exec(function(err, replies) {
name = replies[0];
description = replies[1];
icon = replies[2];
blockclass = replies[3];
slug = replies[4];
var categories = [];
for (var i=0, ii=cids.length; i<ii; i++) {
categories.push({
'name' : name[i],
'cid' : cids[i],
'slug' : slug[i],
'description' : description[i],
'blockclass' : blockclass[i],
'icon' : icon[i],
/*'topics' : [0,1], later
'latest_post' : {
'uid' : 1,
'pid' : 1,
timestamp and shit
}*/
});
}
callback({'categories': categories});
});
} else callback({'categories' : []});
Categories.get_category(cids, callback);
});
}
Categories.get_category = function(cids, callback) {
var name = [],
description = [],
icon = [],
blockclass = [],
slug = [];
for (var i=0, ii=cids.length; i<ii; i++) {
name.push('cid:' + cids[i] + ':name');
description.push('cid:' + cids[i] + ':description');
icon.push('cid:' + cids[i] + ':icon');
blockclass.push('cid:' + cids[i] + ':blockclass');
slug.push('cid:' + cids[i] + ':slug');
}
if (cids.length > 0) {
RDB.multi()
.mget(name)
.mget(description)
.mget(icon)
.mget(blockclass)
.mget(slug)
.exec(function(err, replies) {
name = replies[0];
description = replies[1];
icon = replies[2];
blockclass = replies[3];
slug = replies[4];
var categories = [];
for (var i=0, ii=cids.length; i<ii; i++) {
categories.push({
'name' : name[i],
'cid' : cids[i],
'slug' : slug[i],
'description' : description[i],
'blockclass' : blockclass[i],
'icon' : icon[i],
/*'topics' : [0,1], later
'latest_post' : {
'uid' : 1,
'pid' : 1,
timestamp and shit
}*/
});
}
callback({'categories': categories});
});
} else callback({'categories' : []});
};
}(exports));