mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-01 03:26:04 +01:00
added toPid to posts
This commit is contained in:
@@ -405,13 +405,14 @@ define(['composer', 'forum/pagination'], function(composer, pagination) {
|
||||
}
|
||||
|
||||
var username = '',
|
||||
post = $(this).parents('li[data-pid]');
|
||||
post = $(this).parents('li[data-pid]'),
|
||||
pid = $(this).parents('.post-row').attr('data-pid');
|
||||
if (post.length) {
|
||||
username = '@' + post.attr('data-username').replace(/\s/g, '-') + ' ';
|
||||
}
|
||||
|
||||
if (thread_state.locked !== '1') {
|
||||
composer.newReply(tid, topic_name, selectionText.length > 0 ? selectionText + '\n\n' + username : '' + username);
|
||||
composer.newReply(tid, pid, topic_name, selectionText.length > 0 ? selectionText + '\n\n' + username : '' + username);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -436,7 +437,7 @@ define(['composer', 'forum/pagination'], function(composer, pagination) {
|
||||
if($('.composer').length) {
|
||||
composer.addQuote(tid, pid, topic_name, username, quoted);
|
||||
}else {
|
||||
composer.newReply(tid, topic_name, username + ' said:\n' + quoted);
|
||||
composer.newReply(tid, pid, topic_name, username + ' said:\n' + quoted);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -300,16 +300,16 @@ define(['taskbar'], function(taskbar) {
|
||||
composer.posts[uuid].body = (prevText.length ? prevText + '\n\n' : '') + text;
|
||||
bodyEl.val(composer.posts[uuid].body);
|
||||
} else {
|
||||
composer.newReply(tid,title,username + ' said:\n' + text);
|
||||
composer.newReply(tid, pid, title, username + ' said:\n' + text);
|
||||
}
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
composer.newReply = function(tid, title, text) {
|
||||
composer.newReply = function(tid, pid, title, text) {
|
||||
if(allowed()) {
|
||||
push({
|
||||
tid: tid,
|
||||
toPid: pid,
|
||||
title: title,
|
||||
body: text,
|
||||
modified: false,
|
||||
@@ -737,7 +737,8 @@ define(['taskbar'], function(taskbar) {
|
||||
} else if (parseInt(postData.tid, 10) > 0) {
|
||||
socket.emit('posts.reply', {
|
||||
topic_id: postData.tid,
|
||||
content: bodyEl.val()
|
||||
content: bodyEl.val(),
|
||||
toPid: postData.toPid
|
||||
}, done);
|
||||
} else if (parseInt(postData.pid, 10) > 0) {
|
||||
socket.emit('posts.edit', {
|
||||
|
||||
11
src/posts.js
11
src/posts.js
@@ -20,7 +20,12 @@ var db = require('./database'),
|
||||
(function(Posts) {
|
||||
var customUserInfo = {};
|
||||
|
||||
Posts.create = function(uid, tid, content, callback) {
|
||||
Posts.create = function(data, callback) {
|
||||
var uid = data.uid,
|
||||
tid = data.tid,
|
||||
content = data.content,
|
||||
toPid = data.toPid;
|
||||
|
||||
if (uid === null) {
|
||||
return callback(new Error('invalid-user'), null);
|
||||
}
|
||||
@@ -56,6 +61,10 @@ var db = require('./database'),
|
||||
'deleted': 0
|
||||
};
|
||||
|
||||
if (toPid) {
|
||||
postData['toPid'] = toPid;
|
||||
}
|
||||
|
||||
db.setObject('post:' + pid, postData, function(err) {
|
||||
if(err) {
|
||||
return next(err);
|
||||
|
||||
@@ -14,6 +14,7 @@ var async = require('async'),
|
||||
SocketPosts = {};
|
||||
|
||||
SocketPosts.reply = function(socket, data, callback) {
|
||||
|
||||
if (!socket.uid && !parseInt(meta.config.allowGuestPosting, 10)) {
|
||||
socket.emit('event:alert', {
|
||||
title: 'Reply Unsuccessful',
|
||||
@@ -28,7 +29,9 @@ SocketPosts.reply = function(socket, data, callback) {
|
||||
return callback(new Error('invalid data'));
|
||||
}
|
||||
|
||||
topics.reply(data.topic_id, socket.uid, data.content, function(err, postData) {
|
||||
data.uid = socket.uid;
|
||||
|
||||
topics.reply(data, function(err, postData) {
|
||||
if(err) {
|
||||
if (err.message === 'content-too-short') {
|
||||
module.parent.exports.emitContentTooShortAlert(socket);
|
||||
|
||||
@@ -121,7 +121,7 @@ var async = require('async'),
|
||||
Topics.create({uid: uid, title: title, cid: cid, thumb: thumb}, next);
|
||||
},
|
||||
function(tid, next) {
|
||||
Topics.reply(tid, uid, content, next);
|
||||
Topics.reply({uid:uid, tid:tid, content:content}, next);
|
||||
},
|
||||
function(postData, next) {
|
||||
threadTools.toggleFollow(postData.tid, uid);
|
||||
@@ -143,9 +143,13 @@ var async = require('async'),
|
||||
], callback);
|
||||
};
|
||||
|
||||
Topics.reply = function(tid, uid, content, callback) {
|
||||
var privileges;
|
||||
var postData;
|
||||
Topics.reply = function(data, callback) {
|
||||
var tid = data.topic_id,
|
||||
uid = data.uid,
|
||||
toPid = data.toPid,
|
||||
content = data.content,
|
||||
privileges,
|
||||
postData;
|
||||
|
||||
async.waterfall([
|
||||
function(next) {
|
||||
@@ -170,7 +174,7 @@ var async = require('async'),
|
||||
return next(new Error('content-too-short'));
|
||||
}
|
||||
|
||||
posts.create(uid, tid, content, next);
|
||||
posts.create({uid:uid, tid:tid, content:content, toPid:toPid}, next);
|
||||
},
|
||||
function(data, next) {
|
||||
postData = data;
|
||||
|
||||
Reference in New Issue
Block a user