mirror of
https://github.com/phpbb/phpbb.git
synced 2025-07-30 21:40:43 +02:00
Merge pull request #6794 from rxu/ticket/17489
[ticket/17489] Fix various messenger issues
This commit is contained in:
@@ -249,6 +249,11 @@ class message
|
||||
{
|
||||
/** @psalm-suppress InvalidTemplateParam */
|
||||
$messenger_collection_iterator = $messenger->getIterator();
|
||||
|
||||
/**
|
||||
* @var messenger_interface $messenger_method
|
||||
* @psalm-suppress UndefinedMethod
|
||||
*/
|
||||
foreach ($messenger_collection_iterator as $messenger_method)
|
||||
{
|
||||
$messenger_method->set_use_queue(false);
|
||||
@@ -264,6 +269,7 @@ class message
|
||||
{
|
||||
$messenger_method->header('X-AntiAbuse', 'User_id - ' . $this->sender_id);
|
||||
}
|
||||
|
||||
if ($this->sender_username)
|
||||
{
|
||||
$messenger_method->header('X-AntiAbuse', 'Username - ' . $this->sender_username);
|
||||
|
@@ -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;
|
||||
}
|
||||
}
|
||||
|
@@ -105,7 +105,7 @@ class email extends base
|
||||
$this->mail_priority = symfony_email::PRIORITY_NORMAL;
|
||||
|
||||
$this->additional_headers = [];
|
||||
$this->use_queue = true;
|
||||
$this->set_use_queue();
|
||||
unset($this->template, $this->reply_to, $this->from);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -116,6 +116,11 @@ class queue
|
||||
|
||||
/** @psalm-suppress InvalidTemplateParam */
|
||||
$messenger_collection_iterator = $this->messenger_method_collection->getIterator();
|
||||
|
||||
/**
|
||||
* @var \phpbb\messenger\method\messenger_interface $messenger_method
|
||||
* @psalm-suppress UndefinedMethod
|
||||
*/
|
||||
foreach ($messenger_collection_iterator as $messenger_method)
|
||||
{
|
||||
if (isset($this->queue_data[$messenger_method->get_queue_object_name()]))
|
||||
|
@@ -114,6 +114,10 @@ abstract class messenger_base extends \phpbb\notification\method\base
|
||||
continue;
|
||||
}
|
||||
|
||||
/**
|
||||
* @var \phpbb\messenger\method\messenger_interface $messenger_method
|
||||
* @psalm-suppress UndefinedMethod
|
||||
*/
|
||||
foreach ($messenger_collection_iterator as $messenger_method)
|
||||
{
|
||||
if ($messenger_method->get_id() == $notify_method || $notify_method == $messenger_method::NOTIFY_BOTH)
|
||||
@@ -126,16 +130,13 @@ abstract class messenger_base extends \phpbb\notification\method\base
|
||||
], $notification->get_email_template_variables()));
|
||||
|
||||
$messenger_method->send();
|
||||
|
||||
// Save the queue in the messenger method class (has to be called or these messages could be lost)
|
||||
$messenger_method->save_queue();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Save the queue in the messenger method class (has to be called or these messages could be lost)
|
||||
foreach ($messenger_collection_iterator as $messenger_method)
|
||||
{
|
||||
$messenger_method->save_queue();
|
||||
}
|
||||
|
||||
// We're done, empty the queue
|
||||
$this->empty_queue();
|
||||
}
|
||||
|
Reference in New Issue
Block a user