From cebc19f2ed201a11078ca538dc377be868e580c0 Mon Sep 17 00:00:00 2001 From: rxu Date: Thu, 3 Apr 2025 22:15:37 +0700 Subject: [PATCH] [ticket/17487] Add wrapper method to add headers to interface PHPBB-17487 --- phpBB/phpbb/message/message.php | 8 ++++---- phpBB/phpbb/messenger/method/base.php | 8 ++++++++ phpBB/phpbb/messenger/method/email.php | 20 +++++++++++++------ .../messenger/method/messenger_interface.php | 11 ++++++++++ 4 files changed, 37 insertions(+), 10 deletions(-) diff --git a/phpBB/phpbb/message/message.php b/phpBB/phpbb/message/message.php index ea6da8419a..1248e3b39d 100644 --- a/phpBB/phpbb/message/message.php +++ b/phpBB/phpbb/message/message.php @@ -265,16 +265,16 @@ class message if (isset($messenger_method->headers) && $messenger_method->headers instanceof \Symfony\Component\Mime\Header\Headers) { - $messenger_method->headers->addHeader('X-AntiAbuse', 'Board servername - ' . $this->server_name); - $messenger_method->headers->addHeader('X-AntiAbuse', 'User IP - ' . $this->sender_ip); + $messenger_method->header('X-AntiAbuse', 'Board servername - ' . $this->server_name); + $messenger_method->header('X-AntiAbuse', 'User IP - ' . $this->sender_ip); if ($this->sender_id) { - $messenger_method->headers->addHeader('X-AntiAbuse', 'User_id - ' . $this->sender_id); + $messenger_method->header('X-AntiAbuse', 'User_id - ' . $this->sender_id); } if ($this->sender_username) { - $messenger_method->headers->addHeader('X-AntiAbuse', 'Username - ' . $this->sender_username); + $messenger_method->header('X-AntiAbuse', 'Username - ' . $this->sender_username); } } diff --git a/phpBB/phpbb/messenger/method/base.php b/phpBB/phpbb/messenger/method/base.php index 46d676013c..c0c2a94d0d 100644 --- a/phpBB/phpbb/messenger/method/base.php +++ b/phpBB/phpbb/messenger/method/base.php @@ -481,4 +481,12 @@ abstract class base implements messenger_interface $this->setup_template(); $this->template->set_custom_style($path_name, $paths); } + + /** + * {@inheritdoc} + */ + public function header(string $header_name, mixed $header_value): void + { + return; + } } diff --git a/phpBB/phpbb/messenger/method/email.php b/phpBB/phpbb/messenger/method/email.php index 78059174b3..87ad9114c1 100644 --- a/phpBB/phpbb/messenger/method/email.php +++ b/phpBB/phpbb/messenger/method/email.php @@ -47,7 +47,7 @@ class email extends base protected $from; /** @var Headers */ - public $headers; + protected $headers; /** * @var int @@ -242,10 +242,10 @@ class email extends base */ public function anti_abuse_headers(\phpbb\config\config $config, \phpbb\user $user): void { - $this->headers->addHeader('X-AntiAbuse', 'Board servername - ' . $config['server_name']); - $this->headers->addHeader('X-AntiAbuse', 'User_id - ' . $user->data['user_id']); - $this->headers->addHeader('X-AntiAbuse', 'Username - ' . $user->data['username']); - $this->headers->addHeader('X-AntiAbuse', 'User IP - ' . $user->ip); + $this->header('X-AntiAbuse', 'Board servername - ' . $config['server_name']); + $this->header('X-AntiAbuse', 'User_id - ' . $user->data['user_id']); + $this->header('X-AntiAbuse', 'Username - ' . $user->data['username']); + $this->header('X-AntiAbuse', 'User IP - ' . $user->ip); } /** @@ -313,7 +313,7 @@ class email extends base foreach ($headers as $header => $value) { - $this->headers->addHeader($header, $value); + $this->header($header, $value); } } @@ -576,4 +576,12 @@ class email extends base return true; } + + /** + * {@inheritdoc} + */ + public function header(string $header_name, mixed $header_value): void + { + $this->headers->addHeader($header_name, $header_value); + } } diff --git a/phpBB/phpbb/messenger/method/messenger_interface.php b/phpBB/phpbb/messenger/method/messenger_interface.php index b733f3d3d4..6d82f89b6f 100644 --- a/phpBB/phpbb/messenger/method/messenger_interface.php +++ b/phpBB/phpbb/messenger/method/messenger_interface.php @@ -64,5 +64,16 @@ interface messenger_interface * * @return void */ + public function error(string $msg): void; + + /** + * Add message header + * + * @param string $header_name Message header name + * @param mixed $header_value Message header value + * + * @return void + */ + public function header(string $header_name, mixed $header_value): void; }