diff --git a/public/src/client/topic.js b/public/src/client/topic.js index 431b36e2c7..572f178868 100644 --- a/public/src/client/topic.js +++ b/public/src/client/topic.js @@ -404,8 +404,12 @@ define('forum/topic', dependencies, function(pagination, infinitescroll, threadT function toggleModTools(pid, privileges) { var postEl = $('.post-row[data-pid="' + pid + '"]'); - postEl.find('.edit, .delete').toggleClass('hidden', !privileges.editable); - postEl.find('.move').toggleClass('hidden', !privileges.move); + if (!privileges.editable) { + postEl.find('.edit, .delete, .purge').remove(); + } + if (!privileges.move) { + postEl.find('.move').remove(); + } postEl.find('.reply, .quote').toggleClass('hidden', !$('.post_reply').length); var isSelfPost = parseInt(postEl.attr('data-uid'), 10) === parseInt(app.uid, 10); postEl.find('.chat, .flag').toggleClass('hidden', isSelfPost || !app.uid); diff --git a/public/src/client/topic/postTools.js b/public/src/client/topic/postTools.js index a87c67a303..792806d3b9 100644 --- a/public/src/client/topic/postTools.js +++ b/public/src/client/topic/postTools.js @@ -24,7 +24,6 @@ define('forum/topic/postTools', ['composer', 'share', 'navigator'], function(com postEl.find('.purge').toggleClass('hidden', !isDeleted); postEl.find('.delete .i').toggleClass('fa-trash-o', !isDeleted).toggleClass('fa-history', isDeleted); postEl.find('.delete span').translateHtml(isDeleted ? ' [[topic:restore]]' : ' [[topic:delete]]'); - }; PostTools.updatePostCount = function() { diff --git a/src/groups.js b/src/groups.js index 081ceafa1e..173274020d 100644 --- a/src/groups.js +++ b/src/groups.js @@ -159,6 +159,9 @@ var async = require('async'), }; Groups.isMember = function(uid, groupName, callback) { + if (!parseInt(uid, 10)) { + return callback(null, false); + } db.isSetMember('group:' + groupName + ':members', uid, callback); }; @@ -167,6 +170,9 @@ var async = require('async'), }; Groups.isMemberOfGroups = function(uid, groups, callback) { + if (!parseInt(uid, 10)) { + return callback(null, groups.map(function() {return false;})); + } groups = groups.map(function(groupName) { return 'group:' + groupName + ':members'; }); @@ -450,7 +456,7 @@ var async = require('async'), plugins.fireHook('action:groups.join', { groupName: groupName, uid: uid - }); + }); } else { Groups.create(groupName, '', function(err) { if (err) {