mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-01 11:35:55 +01:00
fixes in posttools and thread tools for hashes
This commit is contained in:
@@ -56,13 +56,14 @@ marked.setOptions({
|
|||||||
|
|
||||||
PostTools.edit = function(uid, pid, title, content) {
|
PostTools.edit = function(uid, pid, title, content) {
|
||||||
var success = function() {
|
var success = function() {
|
||||||
RDB.set('pid:' + pid + ':content', content);
|
posts.setPostField(pid, 'content', content);
|
||||||
RDB.set('pid:' + pid + ':edited', Date.now());
|
posts.setPostField(pid, 'edited', Date.now());
|
||||||
RDB.set('pid:' + pid + ':editor', uid);
|
posts.setPostField(pid, 'editor', uid);
|
||||||
|
|
||||||
posts.get_tid_by_pid(pid, function(tid) {
|
posts.get_tid_by_pid(pid, function(tid) {
|
||||||
PostTools.isMain(pid, tid, function(isMainPost) {
|
PostTools.isMain(pid, tid, function(isMainPost) {
|
||||||
if (isMainPost) RDB.set('tid:' + tid + ':title', title);
|
if (isMainPost)
|
||||||
|
topics.setTopicField(tid, 'title', title);
|
||||||
|
|
||||||
io.sockets.in('topic_' + tid).emit('event:post_edited', {
|
io.sockets.in('topic_' + tid).emit('event:post_edited', {
|
||||||
pid: pid,
|
pid: pid,
|
||||||
@@ -82,7 +83,7 @@ marked.setOptions({
|
|||||||
|
|
||||||
PostTools.delete = function(uid, pid) {
|
PostTools.delete = function(uid, pid) {
|
||||||
var success = function() {
|
var success = function() {
|
||||||
RDB.set('pid:' + pid + ':deleted', 1);
|
posts.setPostField(pid, 'deleted', 1);
|
||||||
|
|
||||||
posts.get_tid_by_pid(pid, function(tid) {
|
posts.get_tid_by_pid(pid, function(tid) {
|
||||||
io.sockets.in('topic_' + tid).emit('event:post_deleted', {
|
io.sockets.in('topic_' + tid).emit('event:post_deleted', {
|
||||||
|
|||||||
@@ -128,6 +128,10 @@ marked.setOptions({
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Posts.setPostField = function(pid, field, value) {
|
||||||
|
RDB.hset('post:' + pid, field, value);
|
||||||
|
}
|
||||||
|
|
||||||
Posts.getPostFields = function(pid, fields, callback) {
|
Posts.getPostFields = function(pid, fields, callback) {
|
||||||
RDB.hmget('post:' + pid, fields, function(err, data) {
|
RDB.hmget('post:' + pid, fields, function(err, data) {
|
||||||
if(err === null) {
|
if(err === null) {
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ var RDB = require('./redis.js'),
|
|||||||
ThreadTools.privileges(tid, uid, function(privileges) {
|
ThreadTools.privileges(tid, uid, function(privileges) {
|
||||||
if (privileges.editable) {
|
if (privileges.editable) {
|
||||||
// Mark thread as locked
|
// Mark thread as locked
|
||||||
RDB.set('tid:' + tid + ':locked', 1);
|
topics.setTopicField(tid, 'locked', 1);
|
||||||
|
|
||||||
if (socket) {
|
if (socket) {
|
||||||
io.sockets.in('topic_' + tid).emit('event:topic_locked', {
|
io.sockets.in('topic_' + tid).emit('event:topic_locked', {
|
||||||
@@ -59,7 +59,6 @@ var RDB = require('./redis.js'),
|
|||||||
ThreadTools.unlock = function(tid, uid, socket) {
|
ThreadTools.unlock = function(tid, uid, socket) {
|
||||||
ThreadTools.privileges(tid, uid, function(privileges) {
|
ThreadTools.privileges(tid, uid, function(privileges) {
|
||||||
if (privileges.editable) {
|
if (privileges.editable) {
|
||||||
// Mark thread as unlocked
|
|
||||||
RDB.del('tid:' + tid + ':locked');
|
RDB.del('tid:' + tid + ':locked');
|
||||||
|
|
||||||
if (socket) {
|
if (socket) {
|
||||||
@@ -80,8 +79,8 @@ var RDB = require('./redis.js'),
|
|||||||
ThreadTools.delete = function(tid, uid, socket) {
|
ThreadTools.delete = function(tid, uid, socket) {
|
||||||
ThreadTools.privileges(tid, uid, function(privileges) {
|
ThreadTools.privileges(tid, uid, function(privileges) {
|
||||||
if (privileges.editable) {
|
if (privileges.editable) {
|
||||||
// Mark thread as deleted
|
|
||||||
RDB.set('tid:' + tid + ':deleted', 1);
|
topics.setTopicField(tid, 'deleted', 1);
|
||||||
ThreadTools.lock(tid, uid);
|
ThreadTools.lock(tid, uid);
|
||||||
|
|
||||||
if (socket) {
|
if (socket) {
|
||||||
@@ -102,8 +101,8 @@ var RDB = require('./redis.js'),
|
|||||||
ThreadTools.restore = function(tid, uid, socket) {
|
ThreadTools.restore = function(tid, uid, socket) {
|
||||||
ThreadTools.privileges(tid, uid, function(privileges) {
|
ThreadTools.privileges(tid, uid, function(privileges) {
|
||||||
if (privileges.editable) {
|
if (privileges.editable) {
|
||||||
// Mark thread as restored
|
|
||||||
RDB.del('tid:' + tid + ':deleted');
|
topics.setTopicField(tid, 'deleted', 0);
|
||||||
ThreadTools.unlock(tid, uid);
|
ThreadTools.unlock(tid, uid);
|
||||||
|
|
||||||
if (socket) {
|
if (socket) {
|
||||||
@@ -124,8 +123,8 @@ var RDB = require('./redis.js'),
|
|||||||
ThreadTools.pin = function(tid, uid, socket) {
|
ThreadTools.pin = function(tid, uid, socket) {
|
||||||
ThreadTools.privileges(tid, uid, function(privileges) {
|
ThreadTools.privileges(tid, uid, function(privileges) {
|
||||||
if (privileges.editable) {
|
if (privileges.editable) {
|
||||||
// Mark thread as pinned
|
|
||||||
RDB.set('tid:' + tid + ':pinned', 1);
|
topics.setTopicField(tid, 'pinned', 1);
|
||||||
|
|
||||||
if (socket) {
|
if (socket) {
|
||||||
io.sockets.in('topic_' + tid).emit('event:topic_pinned', {
|
io.sockets.in('topic_' + tid).emit('event:topic_pinned', {
|
||||||
@@ -145,8 +144,8 @@ var RDB = require('./redis.js'),
|
|||||||
ThreadTools.unpin = function(tid, uid, socket) {
|
ThreadTools.unpin = function(tid, uid, socket) {
|
||||||
ThreadTools.privileges(tid, uid, function(privileges) {
|
ThreadTools.privileges(tid, uid, function(privileges) {
|
||||||
if (privileges.editable) {
|
if (privileges.editable) {
|
||||||
// Mark thread as unpinned
|
|
||||||
RDB.del('tid:' + tid + ':pinned');
|
topics.setTopicField(tid, 'pinned', 0);
|
||||||
|
|
||||||
if (socket) {
|
if (socket) {
|
||||||
io.sockets.in('topic_' + tid).emit('event:topic_unpinned', {
|
io.sockets.in('topic_' + tid).emit('event:topic_unpinned', {
|
||||||
@@ -169,10 +168,12 @@ var RDB = require('./redis.js'),
|
|||||||
|
|
||||||
RDB.smove('categories:' + oldCid + ':tid', 'categories:' + cid + ':tid', tid, function(err, result) {
|
RDB.smove('categories:' + oldCid + ':tid', 'categories:' + cid + ':tid', tid, function(err, result) {
|
||||||
if (!err && result === 1) {
|
if (!err && result === 1) {
|
||||||
RDB.set('tid:' + tid + ':cid', cid);
|
|
||||||
|
topics.setTopicField(tid, 'cid', cid);
|
||||||
|
|
||||||
categories.getCategories([cid], function(data) {
|
categories.getCategories([cid], function(data) {
|
||||||
RDB.set('tid:' + tid + ':category_name', data.categories[0].name);
|
topics.setTopicField(tid, 'category_name', data.categories[0].name);
|
||||||
RDB.set('tid:' + tid + ':category_slug', data.categories[0].slug);
|
topics.setTopicField(tid, 'category_slug', data.categories[0].slug);
|
||||||
});
|
});
|
||||||
|
|
||||||
socket.emit('api:topic.move', {
|
socket.emit('api:topic.move', {
|
||||||
|
|||||||
Reference in New Issue
Block a user