[ticket/17487] Add wrapper method to add headers to interface

PHPBB-17487
This commit is contained in:
rxu 2025-04-03 22:15:37 +07:00
parent 21314a34a6
commit cebc19f2ed
No known key found for this signature in database
GPG key ID: 955F0567380E586A
4 changed files with 37 additions and 10 deletions

View file

@ -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);
}
}

View file

@ -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;
}
}

View file

@ -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);
}
}

View file

@ -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;
}