defactored getUnreadTopics into separate getUnreadTids method -- for no reason, mind you

v1.18.x
Julian Lam 11 years ago
parent fe4aee177d
commit 43b012b32e

@ -304,36 +304,7 @@ var async = require('async'),
);
};
Topics.getUnreadTopics = function(uid, start, stop, callback) {
var unreadTopics = {
'category_name': 'Unread',
'show_sidebar': 'hidden',
'show_topic_button': 'hidden',
'show_markallread_button': 'show',
'no_topics_message': 'hidden',
'topic_row_size': 'col-md-12',
'topics': []
};
function noUnreadTopics() {
unreadTopics.no_topics_message = 'show';
unreadTopics.show_markallread_button = 'hidden';
callback(unreadTopics);
}
function sendUnreadTopics(topicIds) {
Topics.getTopicsByTids(topicIds, uid, function(topicData) {
unreadTopics.topics = topicData;
unreadTopics.nextStart = start + topicIds.length;
if (!topicData || topicData.length === 0)
unreadTopics.no_topics_message = 'show';
if (uid === 0 || topicData.length === 0)
unreadTopics.show_markallread_button = 'hidden';
callback(unreadTopics);
});
}
Topics.getUnreadTids = function(uid, start, stop, callback) {
var unreadTids = [],
done = false;
@ -341,12 +312,11 @@ var async = require('async'),
return unreadTids.length < 20 && !done;
}
async.whilst(
continueCondition,
function(callback) {
async.whilst(continueCondition, function(callback) {
RDB.zrevrange('topics:recent', start, stop, function(err, tids) {
if (err)
if (err) {
return callback(err);
}
if (tids && !tids.length) {
done = true;
@ -374,18 +344,55 @@ var async = require('async'),
});
}
});
},
function(err) {
if (err)
}, function(err) {
callback(err, unreadTids);
});
};
Topics.getUnreadTopics = function(uid, start, stop, callback) {
var unreadTopics = {
'category_name': 'Unread',
'show_sidebar': 'hidden',
'show_topic_button': 'hidden',
'show_markallread_button': 'show',
'no_topics_message': 'hidden',
'topic_row_size': 'col-md-12',
'topics': []
};
function noUnreadTopics() {
unreadTopics.no_topics_message = 'show';
unreadTopics.show_markallread_button = 'hidden';
callback(unreadTopics);
}
function sendUnreadTopics(topicIds) {
Topics.getTopicsByTids(topicIds, uid, function(topicData) {
unreadTopics.topics = topicData;
unreadTopics.nextStart = start + topicIds.length;
if (!topicData || topicData.length === 0) {
unreadTopics.no_topics_message = 'show';
}
if (uid === 0 || topicData.length === 0) {
unreadTopics.show_markallread_button = 'hidden';
}
callback(unreadTopics);
});
}
Topics.getUnreadTids(uid, start, stop, function(err, unreadTids) {
if (err) {
return callback([]);
if (unreadTids.length)
}
if (unreadTids.length) {
sendUnreadTopics(unreadTids);
else
} else {
noUnreadTopics();
}
);
}
});
};
Topics.getTopicsByTids = function(tids, current_user, callback, category_id) {

Loading…
Cancel
Save