[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
No known key found for this signature in database
GPG key ID: 50E0D2423696F995
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'];

View file

@ -131,25 +131,20 @@ class ucp_activate
$phpbb_notifications = $phpbb_container->get('notification_manager');
$phpbb_notifications->delete_notifications('notification.type.admin_activate_user', $user_row['user_id']);
$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');
/**
* @var \phpbb\messenger\method\messenger_interface $messenger_method
* @psalm-suppress UndefinedMethod
*/
foreach ($messenger_collection_iterator as $messenger_method)
{
$messenger_method->set_use_queue(false);
$messenger_method->template('admin_welcome_activated', $user_row['user_lang']);
$messenger_method->set_addresses($user_row);
$messenger_method->anti_abuse_headers($config, $user);
$messenger_method->assign_vars([
'USERNAME' => html_entity_decode($user_row['username'], ENT_COMPAT),
]);
$messenger_method->set_use_queue(false);
$messenger_method->template('admin_welcome_activated', $user_row['user_lang']);
$messenger_method->set_addresses($user_row);
$messenger_method->anti_abuse_headers($config, $user);
$messenger_method->assign_vars([
'USERNAME' => html_entity_decode($user_row['username'], ENT_COMPAT),
]);
$messenger_method->send();
}
$messenger_method->send();
$message = 'ACCOUNT_ACTIVE_ADMIN';
}

View file

@ -133,29 +133,24 @@ class ucp_resend
WHERE ' . $db->sql_in_set('user_id', $admin_ary[0]['a_user']);
$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');
while ($row = $db->sql_fetchrow($result))
{
/**
* @var \phpbb\messenger\method\messenger_interface $messenger_method
* @psalm-suppress UndefinedMethod
*/
foreach ($messenger_collection_iterator as $messenger_method)
{
$messenger_method->set_use_queue(false);
$messenger_method->template('admin_activate', $row['user_lang']);
$messenger_method->set_addresses($row);
$messenger_method->anti_abuse_headers($config, $user);
$messenger_method->assign_vars([
'USERNAME' => html_entity_decode($user_row['username'], ENT_COMPAT),
'U_USER_DETAILS' => $board_url . "/memberlist.$phpEx?mode=viewprofile&u={$user_row['user_id']}",
'U_ACTIVATE' => $board_url . "/ucp.$phpEx?mode=activate&u={$user_row['user_id']}&k={$user_row['user_actkey']}",
]);
$messenger_method->set_use_queue(false);
$messenger_method->template('admin_activate', $row['user_lang']);
$messenger_method->set_addresses($row);
$messenger_method->anti_abuse_headers($config, $user);
$messenger_method->assign_vars([
'USERNAME' => html_entity_decode($user_row['username'], ENT_COMPAT),
'U_USER_DETAILS' => $board_url . "/memberlist.$phpEx?mode=viewprofile&u={$user_row['user_id']}",
'U_ACTIVATE' => $board_url . "/ucp.$phpEx?mode=activate&u={$user_row['user_id']}&k={$user_row['user_actkey']}",
]);
$messenger_method->send();
}
$messenger_method->send();
}
$db->sql_freeresult($result);
}