1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-07-30 21:40:43 +02:00

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

PHPBB3-17135
This commit is contained in:
rxu
2023-06-06 16:41:55 +07:00
parent 5be1f5d5c9
commit 1f952ca6d8
6 changed files with 99 additions and 57 deletions

View File

@@ -30,7 +30,7 @@ class ucp_resend
function main($id, $mode)
{
global $config, $phpbb_root_path, $phpEx;
global $db, $user, $auth, $template, $request;
global $db, $user, $auth, $template, $request, $phpbb_container;
$username = $request->variable('username', '', true);
$email = strtolower($request->variable('email', ''));
@@ -94,32 +94,33 @@ class ucp_resend
$coppa = ($row['group_name'] == 'REGISTERED_COPPA' && $row['group_type'] == GROUP_SPECIAL) ? true : false;
include_once($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);
if ($config['require_activation'] == USER_ACTIVATION_SELF || $coppa)
{
$messenger->template(($coppa) ? 'coppa_resend_inactive' : 'user_resend_inactive', $user_row['user_lang']);
$messenger->set_addresses($user_row);
$email->template(($coppa) ? 'coppa_resend_inactive' : 'user_resend_inactive', $user_row['user_lang']);
$email->set_addresses($user_row);
$messenger->anti_abuse_headers($config, $user);
$email->anti_abuse_headers($config, $user);
$messenger->assign_vars(array(
$email->assign_vars([
'WELCOME_MSG' => html_entity_decode(sprintf($user->lang['WELCOME_SUBJECT'], $config['sitename']), ENT_COMPAT),
'USERNAME' => html_entity_decode($user_row['username'], ENT_COMPAT),
'U_ACTIVATE' => generate_board_url() . "/ucp.$phpEx?mode=activate&u={$user_row['user_id']}&k={$user_row['user_actkey']}")
);
'U_ACTIVATE' => generate_board_url() . "/ucp.$phpEx?mode=activate&u={$user_row['user_id']}&k={$user_row['user_actkey']}",
]);
if ($coppa)
{
$messenger->assign_vars(array(
$email->assign_vars([
'FAX_INFO' => $config['coppa_fax'],
'MAIL_INFO' => $config['coppa_mail'],
'EMAIL_ADDRESS' => $user_row['user_email'])
);
'EMAIL_ADDRESS' => $user_row['user_email'],
]);
}
$messenger->send(NOTIFY_EMAIL);
$email->send();
}
if ($config['require_activation'] == USER_ACTIVATION_ADMIN)
@@ -132,20 +133,31 @@ class ucp_resend
WHERE ' . $db->sql_in_set('user_id', $admin_ary[0]['a_user']);
$result = $db->sql_query($sql);
$messenger_collection_iterator = $messenger->getIterator();
while ($row = $db->sql_fetchrow($result))
{
$messenger->template('admin_activate', $row['user_lang']);
$messenger->set_addresses($row);
while ($messenger_collection_iterator->valid())
{
$messenger_method = $messenger_collection_iterator->current();
$messenger_method->set_use_queue(false);
if ($messenger_method->get_id() == $row['user_notify_type'] || $row['user_notify_type'] == NOTIFY_BOTH)
{
$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' => generate_board_url() . "/memberlist.$phpEx?mode=viewprofile&u={$user_row['user_id']}",
'U_ACTIVATE' => generate_board_url() . "/ucp.$phpEx?mode=activate&u={$user_row['user_id']}&k={$user_row['user_actkey']}",
]);
$messenger->anti_abuse_headers($config, $user);
$messenger_method->send();
$messenger->assign_vars(array(
'USERNAME' => html_entity_decode($user_row['username'], ENT_COMPAT),
'U_USER_DETAILS' => generate_board_url() . "/memberlist.$phpEx?mode=viewprofile&u={$user_row['user_id']}",
'U_ACTIVATE' => generate_board_url() . "/ucp.$phpEx?mode=activate&u={$user_row['user_id']}&k={$user_row['user_actkey']}")
);
$messenger->send($row['user_notify_type']);
// Save the queue in the messenger method class (has to be called or these messages could be lost)
$messenger_method->save_queue();
}
$messenger_collection_iterator->next();
}
}
$db->sql_freeresult($result);
}