|
|
@ -12,7 +12,8 @@ var categories = require('./categories');
|
|
|
|
var privileges = require('./privileges');
|
|
|
|
var privileges = require('./privileges');
|
|
|
|
var social = require('./social');
|
|
|
|
var social = require('./social');
|
|
|
|
|
|
|
|
|
|
|
|
(function (Topics) {
|
|
|
|
var Topics = module.exports;
|
|
|
|
|
|
|
|
|
|
|
|
require('./topics/data')(Topics);
|
|
|
|
require('./topics/data')(Topics);
|
|
|
|
require('./topics/create')(Topics);
|
|
|
|
require('./topics/create')(Topics);
|
|
|
|
require('./topics/delete')(Topics);
|
|
|
|
require('./topics/delete')(Topics);
|
|
|
@ -278,40 +279,44 @@ var social = require('./social');
|
|
|
|
if (!Array.isArray(tids) || !tids.length) {
|
|
|
|
if (!Array.isArray(tids) || !tids.length) {
|
|
|
|
return callback(null, []);
|
|
|
|
return callback(null, []);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
async.waterfall([
|
|
|
|
Topics.getTopicsFields(tids, ['mainPid'], function (err, topicData) {
|
|
|
|
function (next) {
|
|
|
|
if (err) {
|
|
|
|
Topics.getTopicsFields(tids, ['mainPid'], next);
|
|
|
|
return callback(err);
|
|
|
|
},
|
|
|
|
}
|
|
|
|
function (topicData, next) {
|
|
|
|
|
|
|
|
|
|
|
|
var mainPids = topicData.map(function (topic) {
|
|
|
|
var mainPids = topicData.map(function (topic) {
|
|
|
|
return topic && topic.mainPid;
|
|
|
|
return topic && topic.mainPid;
|
|
|
|
});
|
|
|
|
});
|
|
|
|
callback(null, mainPids);
|
|
|
|
next(null, mainPids);
|
|
|
|
});
|
|
|
|
},
|
|
|
|
|
|
|
|
], callback);
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
Topics.getMainPosts = function (tids, uid, callback) {
|
|
|
|
Topics.getMainPosts = function (tids, uid, callback) {
|
|
|
|
Topics.getMainPids(tids, function (err, mainPids) {
|
|
|
|
async.waterfall([
|
|
|
|
if (err) {
|
|
|
|
function (next) {
|
|
|
|
return callback(err);
|
|
|
|
Topics.getMainPids(tids, next);
|
|
|
|
}
|
|
|
|
},
|
|
|
|
getMainPosts(mainPids, uid, callback);
|
|
|
|
function (mainPids, next) {
|
|
|
|
});
|
|
|
|
getMainPosts(mainPids, uid, next);
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
], callback);
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
function getMainPosts(mainPids, uid, callback) {
|
|
|
|
function getMainPosts(mainPids, uid, callback) {
|
|
|
|
posts.getPostsByPids(mainPids, uid, function (err, postData) {
|
|
|
|
async.waterfall([
|
|
|
|
if (err) {
|
|
|
|
function (next) {
|
|
|
|
return callback(err);
|
|
|
|
posts.getPostsByPids(mainPids, uid, next);
|
|
|
|
}
|
|
|
|
},
|
|
|
|
|
|
|
|
function (postData, next) {
|
|
|
|
postData.forEach(function (post) {
|
|
|
|
postData.forEach(function (post) {
|
|
|
|
if (post) {
|
|
|
|
if (post) {
|
|
|
|
post.index = 0;
|
|
|
|
post.index = 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
Topics.addPostData(postData, uid, callback);
|
|
|
|
Topics.addPostData(postData, uid, next);
|
|
|
|
});
|
|
|
|
},
|
|
|
|
|
|
|
|
], callback);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Topics.isLocked = function (tid, callback) {
|
|
|
|
Topics.isLocked = function (tid, callback) {
|
|
|
@ -330,4 +335,3 @@ var social = require('./social');
|
|
|
|
callback(new Error('[[error:no-plugins-available]]'), []);
|
|
|
|
callback(new Error('[[error:no-plugins-available]]'), []);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}(exports));
|
|
|
|
|
|
|
|