1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-08-10 18:54:08 +02:00

[ticket/17135] Refactor messenger code to services [ci skip]

PHPBB3-17135
This commit is contained in:
rxu
2023-06-08 15:23:09 +07:00
parent 5873c72ca5
commit f95816cbe3
12 changed files with 137 additions and 167 deletions

View File

@@ -114,29 +114,20 @@ class acp_inactive
if ($config['require_activation'] == USER_ACTIVATION_ADMIN && !empty($inactive_users))
{
if (!class_exists('messenger'))
{
include($phpbb_root_path . 'includes/functions_messenger.' . $phpEx);
}
$messenger = new messenger(false);
$messenger = $phpbb_container->get('messenger.method_collection');
$email = $messenger->offsetGet('messenger.method.email');
$email->set_use_queue(false);
foreach ($inactive_users as $row)
{
$messenger->template('admin_welcome_activated', $row['user_lang']);
$messenger->set_addresses($row);
$messenger->anti_abuse_headers($config, $user);
$messenger->assign_vars(array(
'USERNAME' => html_entity_decode($row['username'], ENT_COMPAT))
);
$messenger->send(NOTIFY_EMAIL);
$email->template('admin_welcome_activated', $row['user_lang']);
$email->set_addresses($row);
$email->anti_abuse_headers($config, $user);
$email->assign_vars([
'USERNAME' => html_entity_decode($row['username'], ENT_COMPAT),
]);
$email->send();
}
$messenger->save_queue();
}
if (!empty($inactive_users))
@@ -207,37 +198,37 @@ class acp_inactive
if ($row = $db->sql_fetchrow($result))
{
// Send the messages
if (!class_exists('messenger'))
{
include($phpbb_root_path . 'includes/functions_messenger.' . $phpEx);
}
$messenger = new messenger();
$usernames = $user_ids = array();
$messenger = $phpbb_container->get('messenger.method_collection');
$messenger_collection_iterator = $messenger->getIterator();
do
{
$messenger->template('user_remind_inactive', $row['user_lang']);
while ($messenger_collection_iterator->valid())
{
$messenger_method = $messenger_collection_iterator->current();
if ($messenger_method->get_id() == $user_row['user_notify_type'] || $user_row['user_notify_type'] == NOTIFY_BOTH)
{
$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->set_addresses($row);
$messenger->anti_abuse_headers($config, $user);
$messenger->assign_vars(array(
'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->send($row['user_notify_type']);
$messenger_method->send();
$messenger_method->save_queue();
}
$messenger_collection_iterator->next();
}
$usernames[] = $row['username'];
$user_ids[] = (int) $row['user_id'];
}
while ($row = $db->sql_fetchrow($result));
$messenger->save_queue();
// Add the remind state to the database and increase activation expiration by one day
$sql = 'UPDATE ' . USERS_TABLE . '
SET user_reminded = user_reminded + 1,