1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-07-31 14:00:31 +02:00

[ticket/17493] Explicitly use email in acp/ucp modules

PHPBB-17493
This commit is contained in:
Marc Alexander
2025-04-21 15:42:59 +02:00
parent 3125f3e1d3
commit 75a24ae484
4 changed files with 65 additions and 86 deletions

View File

@@ -213,43 +213,38 @@ class acp_email
);
extract($phpbb_dispatcher->trigger_event('core.acp_email_send_before', compact($vars)));
/** @var \phpbb\di\service_collection */
$messenger = $phpbb_container->get('messenger.method_collection');
$messenger_collection_iterator = $messenger->getIterator();
/** @var \phpbb\di\service_collection $messenger_collection */
$messenger_collection = $phpbb_container->get('messenger.method_collection');
/** @var \phpbb\messenger\method\messenger_interface $messenger_method */
$messenger_method = $messenger_collection->offsetGet('messenger.method.email');
for ($i = 0, $size = count($email_list); $i < $size; $i++)
{
$used_lang = $email_list[$i][0]['lang'];
/**
* @var \phpbb\messenger\method\messenger_interface $messenger_method
* @psalm-suppress UndefinedMethod
*/
foreach ($messenger_collection_iterator as $messenger_method)
$messenger_method->set_use_queue($use_queue);
$messenger_method->template($email_template, $used_lang);
$messenger_method->subject(html_entity_decode($subject, ENT_COMPAT));
$messenger_method->assign_vars($template_data);
for ($j = 0, $list_size = count($email_list[$i]); $j < $list_size; $j++)
{
$messenger_method->set_use_queue($use_queue);
$messenger_method->template($email_template, $used_lang);
$messenger_method->subject(html_entity_decode($subject, ENT_COMPAT));
$messenger_method->assign_vars($template_data);
for ($j = 0, $list_size = count($email_list[$i]); $j < $list_size; $j++)
$email_row = $email_list[$i][$j];
if (count($email_list[$i]) == 1)
{
$email_row = $email_list[$i][$j];
if (count($email_list[$i]) == 1)
{
$messenger_method->to($email_row['email'], $email_row['name']);
}
else
{
$messenger_method->bcc($email_row['email'], $email_row['name']);
}
$messenger_method->to($email_row['email'], $email_row['name']);
}
else
{
$messenger_method->bcc($email_row['email'], $email_row['name']);
}
$messenger_method->anti_abuse_headers($config, $user);
$messenger_method->set_mail_priority($priority);
$errored = !$messenger_method->send() || $errored;
$messenger_method->save_queue();
}
$messenger_method->anti_abuse_headers($config, $user);
$messenger_method->set_mail_priority($priority);
$errored = !$messenger_method->send() || $errored;
$messenger_method->save_queue();
}
unset($email_list);

View File

@@ -194,9 +194,10 @@ class acp_inactive
$result = $db->sql_query($sql);
/** @var \phpbb\di\service_collection */
$messenger = $phpbb_container->get('messenger.method_collection');
$messenger_collection_iterator = $messenger->getIterator();
/** @var \phpbb\di\service_collection $messenger_collection */
$messenger_collection = $phpbb_container->get('messenger.method_collection');
/** @var \phpbb\messenger\method\messenger_interface $messenger_method */
$messenger_method = $messenger_collection->offsetGet('messenger.method.email');
if ($row = $db->sql_fetchrow($result))
{
@@ -205,24 +206,17 @@ class acp_inactive
do
{
/**
* @var \phpbb\messenger\method\messenger_interface $messenger_method
* @psalm-suppress UndefinedMethod
*/
foreach ($messenger_collection_iterator as $messenger_method)
{
$messenger_method->template('user_remind_inactive', $row['user_lang']);
$messenger_method->set_addresses($row);
$messenger_method->anti_abuse_headers($config, $user);
$messenger_method->assign_vars([
'USERNAME' => html_entity_decode($row['username'], ENT_COMPAT),
'REGISTER_DATE' => $user->format_date($row['user_regdate'], false, true),
'U_ACTIVATE' => generate_board_url() . "/ucp.$phpEx?mode=activate&u=" . $row['user_id'] . '&k=' . $row['user_actkey'],
]);
$messenger_method->template('user_remind_inactive', $row['user_lang']);
$messenger_method->set_addresses($row);
$messenger_method->anti_abuse_headers($config, $user);
$messenger_method->assign_vars([
'USERNAME' => html_entity_decode($row['username'], ENT_COMPAT),
'REGISTER_DATE' => $user->format_date($row['user_regdate'], false, true),
'U_ACTIVATE' => generate_board_url() . "/ucp.$phpEx?mode=activate&u=" . $row['user_id'] . '&k=' . $row['user_actkey'],
]);
$messenger_method->send();
$messenger_method->save_queue();
}
$messenger_method->send();
$messenger_method->save_queue();
$usernames[] = $row['username'];
$user_ids[] = (int) $row['user_id'];