From d959aad41f885526958382f801c932d9dbe9fe64 Mon Sep 17 00:00:00 2001 From: Richie Preece Date: Tue, 21 Jan 2014 20:56:12 -0700 Subject: [PATCH 01/23] Changed to bcrypt.js --- package.json | 4 ++-- src/login.js | 2 +- src/user.js | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index bbc04c94ac..8534d01908 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,6 @@ "passport-facebook": "0.1.5", "less-middleware": "0.1.12", "marked": "0.2.8", - "bcrypt": "0.7.5", "async": "~0.2.8", "node-imagemagick": "0.1.8", "gravatar": "1.0.6", @@ -47,7 +46,8 @@ "semver": "~2.2.1", "string": "~1.7.0", "xregexp": "~2.0.0", - "socket.io-wildcard": "~0.1.1" + "socket.io-wildcard": "~0.1.1", + "bcryptjs": "~0.7.10" }, "optionalDependencies": { "redis": "0.8.3", diff --git a/src/login.js b/src/login.js index c4eb226586..baa636d73a 100644 --- a/src/login.js +++ b/src/login.js @@ -1,5 +1,5 @@ var user = require('./user'), - bcrypt = require('bcrypt'), + bcrypt = require('bcryptjs'), db = require('./database'), path = require('path'), winston = require('winston'), diff --git a/src/user.js b/src/user.js index f9e6bc548a..10dd494b2f 100644 --- a/src/user.js +++ b/src/user.js @@ -1,4 +1,4 @@ -var bcrypt = require('bcrypt'), +var bcrypt = require('bcryptjs'), async = require('async'), nconf = require('nconf'), winston = require('winston'), From 2988230b073c81ee9d99c1a5822f4558bda89b7a Mon Sep 17 00:00:00 2001 From: Baris Soner Usakli Date: Sat, 25 Jan 2014 22:19:51 -0500 Subject: [PATCH 02/23] some more fixes, cant quote and see deleted messages --- public/src/forum/pagination.js | 11 ++++---- public/src/forum/topic.js | 47 ++++++++++++---------------------- src/socket.io/posts.js | 12 ++++++++- 3 files changed, 34 insertions(+), 36 deletions(-) diff --git a/public/src/forum/pagination.js b/public/src/forum/pagination.js index 3a95d250af..66db32c959 100644 --- a/public/src/forum/pagination.js +++ b/public/src/forum/pagination.js @@ -14,11 +14,11 @@ define(function() { $('.pagination') .on('click', '.previous', function() { - pagination.loadPage(pagination.currentPage - 1); + return pagination.loadPage(pagination.currentPage - 1); }).on('click', '.next', function() { - pagination.loadPage(pagination.currentPage + 1); + return pagination.loadPage(pagination.currentPage + 1); }).on('click', '.page', function() { - pagination.loadPage($(this).attr('data-page')); + return pagination.loadPage($(this).attr('data-page')); }).on('click', '.select_page', function(e) { e.preventDefault(); bootbox.prompt('Enter page number:', function(pageNum) { @@ -58,7 +58,7 @@ define(function() { for(var i=0; i 0) { if (pagesToShow[i] - 1 !== pagesToShow[i-1]) { - html += '
  • |
  • '; + html += '
  • |
  • '; } } html += '
  • ' + pagesToShow[i] + '
  • '; @@ -72,10 +72,11 @@ define(function() { pagination.loadPage = function(page, callback) { page = parseInt(page, 10); if(!utils.isNumber(page) || page < 1 || page > pagination.pageCount) { - return; + return false; } ajaxify.go(window.location.pathname.slice(1) + '?page=' + page); + return true; } function updatePageLinks() { diff --git a/public/src/forum/topic.js b/public/src/forum/topic.js index d83b62218f..99de78753f 100644 --- a/public/src/forum/topic.js +++ b/public/src/forum/topic.js @@ -396,7 +396,7 @@ define(['composer', 'forum/pagination'], function(composer, pagination) { socket.emit('posts.getRawPost', pid, function(err, post) { if(err) { - return app.alert(err.message); + return app.alertError(err.message); } var quoted = ''; if(post) { @@ -895,47 +895,34 @@ define(['composer', 'forum/pagination'], function(composer, pagination) { } function toggle_post_delete_state(pid) { - var postEl = $(document.querySelector('#post-container li[data-pid="' + pid + '"]')); + var postEl = $('#post-container li[data-pid="' + pid + '"]'); - if (postEl[0]) { - quoteEl = postEl.find('.quote'), - favEl = postEl.find('.favourite'), - replyEl = postEl.find('.post_reply'); + if (postEl.length) { + postEl.toggleClass('deleted'); - socket.emit('posts.getPrivileges', pid, function(err, privileges) { - if(err) { - return app.alert(err.message); - } + toggle_post_tools(pid, postEl.hasClass('deleted')); - if (privileges.editable) { - if (!postEl.hasClass('deleted')) { - toggle_post_tools(pid, false); - } else { - toggle_post_tools(pid, true); - } - } - - postEl.toggleClass('deleted'); - - updatePostCount(); - }); + updatePostCount(); } } - function toggle_post_tools(pid, state) { - var postEl = $(document.querySelector('#post-container li[data-pid="' + pid + '"]')), + function toggle_post_tools(pid, isDeleted) { + var postEl = $('#post-container li[data-pid="' + pid + '"]'), quoteEl = $(postEl[0].querySelector('.quote')), favEl = $(postEl[0].querySelector('.favourite')), - replyEl = $(postEl[0].querySelector('.post_reply')); + replyEl = $(postEl[0].querySelector('.post_reply')), + chatEl = $(postEl[0].querySelector('.chat')); - if (state) { - quoteEl.removeClass('none'); - favEl.removeClass('none'); - replyEl.removeClass('none'); - } else { + if (isDeleted) { quoteEl.addClass('none'); favEl.addClass('none'); replyEl.addClass('none'); + chatEl.addClass('none'); + } else { + quoteEl.removeClass('none'); + favEl.removeClass('none'); + replyEl.removeClass('none'); + chatEl.removeClass('none'); } } diff --git a/src/socket.io/posts.js b/src/socket.io/posts.js index 14726ab0cb..cf5c05a444 100644 --- a/src/socket.io/posts.js +++ b/src/socket.io/posts.js @@ -93,7 +93,17 @@ SocketPosts.uploadFile = function(socket, data, callback) { }; SocketPosts.getRawPost = function(socket, pid, callback) { - posts.getPostField(pid, 'content', callback); + posts.getPostFields(pid, ['content', 'deleted'], function(err, data) { + if(err) { + return callback(err); + } + + if(data.deleted === '1') { + return callback(new Error('This post no longer exists')); + } + + callback(null, data.content); + }); }; SocketPosts.edit = function(socket, data, callback) { From 810095d287da8351f7824ec35b5685f7188c2b1b Mon Sep 17 00:00:00 2001 From: Baris Soner Usakli Date: Sat, 25 Jan 2014 22:30:48 -0500 Subject: [PATCH 03/23] fixed infinite loading on categories --- public/src/forum/category.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/src/forum/category.js b/public/src/forum/category.js index 62c6e0f59f..bcc636a839 100644 --- a/public/src/forum/category.js +++ b/public/src/forum/category.js @@ -48,7 +48,7 @@ define(['composer', 'forum/pagination'], function(composer, pagination) { var bottom = ($(document).height() - $(window).height()) * 0.9; if ($(window).scrollTop() > bottom && !loadingMoreTopics) { - Category.loadMoreTopics(cid); + Category.loadMoreTopics(templates.get('category_id')); } }); } else { From bd0b5f4cdb8801a702d6c9567ad8a90a8d0d3b57 Mon Sep 17 00:00:00 2001 From: Baris Soner Usakli Date: Sat, 25 Jan 2014 22:43:49 -0500 Subject: [PATCH 04/23] more error checks in thread move --- src/threadTools.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/threadTools.js b/src/threadTools.js index 076c9b4b0b..201cf7afe8 100644 --- a/src/threadTools.js +++ b/src/threadTools.js @@ -187,9 +187,20 @@ var winston = require('winston'), ThreadTools.move = function(tid, cid, callback) { topics.getTopicFields(tid, ['cid', 'lastposttime'], function(err, topicData) { + if(err) { + return callback(err); + } + var oldCid = topicData.cid; + if(!oldCid) { + return callback(new Error('invalid-topic')); + } db.sortedSetRemove('categories:' + oldCid + ':tid', tid, function(err, result) { + if(err) { + return callback(err); + } + db.sortedSetAdd('categories:' + cid + ':tid', topicData.lastposttime, tid, function(err, result) { if(err) { From 14e68bc9e2c07bfff87ab446f8804689ee366edb Mon Sep 17 00:00:00 2001 From: Baris Soner Usakli Date: Sun, 26 Jan 2014 01:34:40 -0500 Subject: [PATCH 05/23] dropup for bottom post bar --- public/templates/topic.tpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/templates/topic.tpl b/public/templates/topic.tpl index 39688723d8..7ee6f547c8 100644 --- a/public/templates/topic.tpl +++ b/public/templates/topic.tpl @@ -186,7 +186,7 @@ -
    +