aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--phpBB/includes/functions_posting.php5
-rw-r--r--phpBB/posting.php7
2 files changed, 10 insertions, 2 deletions
diff --git a/phpBB/includes/functions_posting.php b/phpBB/includes/functions_posting.php
index 2e5130c5b8..aff7129fce 100644
--- a/phpBB/includes/functions_posting.php
+++ b/phpBB/includes/functions_posting.php
@@ -2604,7 +2604,10 @@ function submit_post($mode, $subject, $username, $topic_type, &$poll, &$data, $u
// Send Notifications
if (($mode == 'reply' || $mode == 'quote' || $mode == 'post') && $post_approval)
{
- $username = ($username) ? $username : $user->data['username'];
+ // If a username was supplied or the poster is a guest, we use the supplied username.
+ // This way we will use "...post by guest-username..." in notifications,
+ // when guest-username was supplied and ommit the username-part otherwise.
+ $username = ($username || !$user->data['is_registered']) ? $username : $user->data['username'];
user_notification($mode, $subject, $data['topic_title'], $data['forum_name'], $data['forum_id'], $data['topic_id'], $data['post_id'], $username);
}
diff --git a/phpBB/posting.php b/phpBB/posting.php
index 42c4f7bc55..d690445fdb 100644
--- a/phpBB/posting.php
+++ b/phpBB/posting.php
@@ -1131,8 +1131,13 @@ if ($submit || $preview || $refresh)
$data['topic_replies'] = $post_data['topic_replies'];
}
+ // Only supply the username, when it is a guest posting or we edit and it was supplied,
+ // otherwise post_data might hold data of the post we quote, in which case
+ // username is the original poster, not the current one. See: PHPBB3-11769
+ $post_author_name = ((!$user->data['is_registered'] || $mode == 'edit') && $post_data['username']) ? $post_data['username'] : '';
+
// The last parameter tells submit_post if search indexer has to be run
- $redirect_url = submit_post($mode, $post_data['post_subject'], $post_data['username'], $post_data['topic_type'], $poll, $data, $update_message, ($update_message || $update_subject) ? true : false);
+ $redirect_url = submit_post($mode, $post_data['post_subject'], $post_author_name, $post_data['topic_type'], $poll, $data, $update_message, ($update_message || $update_subject) ? true : false);
if ($config['enable_post_confirm'] && !$user->data['is_registered'] && (isset($captcha) && $captcha->is_solved() === true) && ($mode == 'post' || $mode == 'reply' || $mode == 'quote'))
{