From c8ec095d990a9a17fc5acfdfa5639e2e6b7b82f3 Mon Sep 17 00:00:00 2001 From: Baris Usakli Date: Fri, 1 Nov 2013 13:45:24 -0400 Subject: [PATCH] anons cant edit after posting #365 --- public/src/app.js | 4 ++-- public/src/forum/topic.js | 4 ++-- src/postTools.js | 8 +++++++- src/posts.js | 1 + src/websockets.js | 11 +++++++++-- 5 files changed, 21 insertions(+), 7 deletions(-) diff --git a/public/src/app.js b/public/src/app.js index 7f172fb94a..eb4cf4a028 100644 --- a/public/src/app.js +++ b/public/src/app.js @@ -344,8 +344,8 @@ var socket, app.createNewPosts = function (data) { if (data.posts[0].uid !== app.uid) { - data.posts[0].display_moderator_tools = 'none'; - } + data.posts[0].display_moderator_tools = 'none'; + } var html = templates.prepare(templates['topic'].blocks['posts']).parse(data); translator.translate(html, function(translatedHTML) { diff --git a/public/src/forum/topic.js b/public/src/forum/topic.js index d464c7e985..a55be43a53 100644 --- a/public/src/forum/topic.js +++ b/public/src/forum/topic.js @@ -32,7 +32,7 @@ define(function() { window.open(twitter_url, '_blank', 'width=550,height=420,scrollbars=no,status=no'); return false; }); - + $('.facebook-share').on('click', function () { window.open(facebook_url, '_blank', 'width=626,height=436,scrollbars=no,status=no'); return false; @@ -548,7 +548,7 @@ define(function() { }); socket.on('api:post.privileges', function(privileges) { - if (privileges.editable) toggle_mod_tools(privileges.pid, true); + toggle_mod_tools(privileges.pid, privileges.editable); }); function adjust_rep(value, pid, uid) { diff --git a/src/postTools.js b/src/postTools.js index 043714072d..c7e5633121 100644 --- a/src/postTools.js +++ b/src/postTools.js @@ -25,7 +25,13 @@ var RDB = require('./redis.js'), } PostTools.privileges = function(pid, uid, callback) { - //todo: break early if one condition is true + if(uid == 0) { + callback({ + editable: false, + view_deleted: false + }); + return; + } function getThreadPrivileges(next) { posts.getPostField(pid, 'tid', function(tid) { diff --git a/src/posts.js b/src/posts.js index c5f97cdb4b..06bac443b2 100644 --- a/src/posts.js +++ b/src/posts.js @@ -304,6 +304,7 @@ var RDB = require('./redis.js'), var socketData = { posts: [postData] }; + io.sockets.in('topic_' + tid).emit('event:new_post', socketData); io.sockets.in('recent_posts').emit('event:new_post', socketData); io.sockets.in('user/' + uid).emit('event:new_post', socketData); diff --git a/src/websockets.js b/src/websockets.js index 311ac0fb70..ea3bd0dca0 100644 --- a/src/websockets.js +++ b/src/websockets.js @@ -541,8 +541,15 @@ module.exports.init = function(io) { }); socket.on('api:posts.edit', function(data) { - - if (!data.title || data.title.length < topics.minimumTitleLength) { + if(!uid) { + socket.emit('event:alert', { + title: 'Can't edit', + message: 'Guests can't edit posts!', + type: 'warning', + timeout: 2000 + }); + return; + } else if (!data.title || data.title.length < topics.minimumTitleLength) { topics.emitTitleTooShortAlert(socket); return; } else if (!data.content || data.content.length < require('../public/config.json').minimumPostLength) {