diff --git a/src/topics/tags.js b/src/topics/tags.js index 9326f6fddb..f113720dfa 100644 --- a/src/topics/tags.js +++ b/src/topics/tags.js @@ -9,25 +9,27 @@ var async = require('async'), module.exports = function(Topics) { Topics.createTags = function(tags, tid, timestamp, callback) { - if(Array.isArray(tags)) { - tags = tags.slice(0, meta.config.tagsPerTopic || 5); + if (!Array.isArray(tags) || !tags.length) { + return callback(); + } - async.each(tags, function(tag, next) { - tag = cleanUpTag(tag); + tags = tags.slice(0, meta.config.tagsPerTopic || 5); - if (tag.length < (meta.config.minimumTagLength || 3)) { - return next(); - } - db.setAdd('topic:' + tid + ':tags', tag); + async.each(tags, function(tag, next) { + tag = cleanUpTag(tag); - db.sortedSetAdd('tag:' + tag + ':topics', timestamp, tid, function(err) { - if (!err) { - updateTagCount(tag); - } - next(err); - }); - }, callback); - } + if (tag.length < (meta.config.minimumTagLength || 3)) { + return next(); + } + db.setAdd('topic:' + tid + ':tags', tag); + + db.sortedSetAdd('tag:' + tag + ':topics', timestamp, tid, function(err) { + if (!err) { + updateTagCount(tag); + } + next(err); + }); + }, callback); }; function cleanUpTag(tag) {