diff --git a/src/posts/delete.js b/src/posts/delete.js index d46e57a6a5..d3d153b9a3 100644 --- a/src/posts/delete.js +++ b/src/posts/delete.js @@ -2,10 +2,9 @@ var async = require('async'), db = require('../database'), - + topics = require('../topics'), plugins = require('../plugins'); - module.exports = function(Posts) { Posts.purge = function(pid, callback) { @@ -56,11 +55,17 @@ module.exports = function(Posts) { return callback(err); } - if (parseInt(postData.deleted, 10) === 0) { - db.decrObjectField('global', 'postCount', callback); - } else { - callback(); - } + topics.getTopicFields(postData.tid, ['deleted'], function(err, topicData) { + if (err) { + return callback(err); + } + + if (parseInt(postData.deleted, 10) === 0 && parseInt(topicData.deleted, 10) !== 1) { + db.decrObjectField('global', 'postCount', callback); + } else { + callback(); + } + }); }); }); } @@ -124,4 +129,4 @@ module.exports = function(Posts) { } -}; \ No newline at end of file +}; diff --git a/src/topics/delete.js b/src/topics/delete.js index 85301c0dd6..e378bae04c 100644 --- a/src/topics/delete.js +++ b/src/topics/delete.js @@ -152,7 +152,7 @@ module.exports = function(Topics) { db.decrObjectField('category:' + topicData.cid, 'topic_count', next); }, function(next) { - updateGlobalCounters(tid, -1, next); + db.decrObjectField('global', 'topicCount', next); } ], callback); } else {