diff --git a/public/css/topic.less b/public/css/topic.less index a556a177c6..c6b02c10c3 100644 --- a/public/css/topic.less +++ b/public/css/topic.less @@ -21,6 +21,13 @@ &.deleted { -moz-opacity: 0.30; opacity: 0.30; + height:30px; + overflow-y:hidden; + } + + &.deleted-expanded { + height:100%; + overflow-y:default; } } diff --git a/public/src/forum/topic.js b/public/src/forum/topic.js index ac4148f1be..7d751f6a32 100644 --- a/public/src/forum/topic.js +++ b/public/src/forum/topic.js @@ -205,10 +205,14 @@ var windowHeight = document.body.offsetHeight - $(window).height(), half = windowHeight / 2; - if (document.body.scrollTop > half && !app.infiniteLoaderActive) { + if (document.body.scrollTop > half && !app.infiniteLoaderActive && $('#post-container').children().length) { app.loadMorePosts(tid); } }); + + $('.post-container').on('click', '.deleted', function(ev) { + $(this).toggleClass('deleted-expanded'); + }); }); var reply_fn = function() { diff --git a/src/categories.js b/src/categories.js index ce6e134fb3..4f584b077a 100644 --- a/src/categories.js +++ b/src/categories.js @@ -186,6 +186,11 @@ var RDB = require('./redis.js'), Categories.getRecentReplies = function(cid, count, callback) { RDB.zrevrange('categories:recent_posts:cid:' + cid, 0, (count<10)?10:count, function(err, pids) { + if(err) { + console.log(err); + callback([]); + return; + } if (pids.length == 0) { callback([]); diff --git a/src/posts.js b/src/posts.js index 583ab16236..146ff06825 100644 --- a/src/posts.js +++ b/src/posts.js @@ -60,11 +60,15 @@ var RDB = require('./redis.js'), function getPostSummary(pid, callback) { Posts.getPostFields(pid, ['pid', 'tid', 'content', 'uid', 'timestamp', 'deleted'], function(postData) { if(postData.deleted === '1') { - return; + return callback(null); } Posts.addUserInfoToPost(postData, function() { topics.getTopicField(postData.tid, 'slug', function(topicSlug) { + + if(postData.content) + postData.content = utils.strip_tags(postTools.markdownToHTML(postData.content)); + postData.topicSlug = topicSlug; returnData.push(postData); callback(null); @@ -77,6 +81,8 @@ var RDB = require('./redis.js'), async.eachSeries(pids, getPostSummary, function(err) { if(!err) { callback(returnData); + } else { + console.log(err); } }); }; diff --git a/src/routes/api.js b/src/routes/api.js index b7a6719f03..0dccf8e4ef 100644 --- a/src/routes/api.js +++ b/src/routes/api.js @@ -17,7 +17,7 @@ var user = require('./../user.js'), app.get('/api/home', function(req, res) { var uid = (req.user) ? req.user.uid : 0; categories.getAllCategories(function(data) { - + data.categories = data.categories.filter(function(category) { return (!category.disabled || category.disabled === "0"); }); @@ -26,16 +26,17 @@ var user = require('./../user.js'), categories.getRecentReplies(category.cid, 2, function(posts) { category["posts"] = posts; category["post_count"] = posts.length>2 ? 2 : posts.length; + console.log(category.cid, 'worked'); callback(null); }); } - + require('async').each(data.categories, iterator, function(err) { data.motd_class = (config.show_motd === '1' || config.show_motd === undefined) ? '' : 'none'; data.motd = marked(config.motd || "# NodeBB v" + pkg.version + "\nWelcome to NodeBB, the discussion platform of the future.\n\n Get NodeBB Fork us on Github @dcplabs"); - res.json(data); + res.json(data); }); - + }, uid); });