mirror of
https://github.com/phpbb/phpbb.git
synced 2025-07-24 18:41:52 +02:00
[ticket/17135] Refactor messenger code to services [ci skip]
PHPBB3-17135
This commit is contained in:
@@ -720,17 +720,17 @@ class acp_board
|
||||
{
|
||||
if ($config['email_enable'])
|
||||
{
|
||||
include_once($phpbb_root_path . 'includes/functions_messenger.' . $phpEx);
|
||||
|
||||
$messenger = new messenger(false);
|
||||
$messenger->template('test');
|
||||
$messenger->set_addresses($user->data);
|
||||
$messenger->anti_abuse_headers($config, $user);
|
||||
$messenger->assign_vars(array(
|
||||
$messenger = $phpbb_container->get('messenger.method_collection');
|
||||
$email = $messenger->offsetGet('messenger.method.email');
|
||||
$email->set_use_queue(false);
|
||||
$email->template('test');
|
||||
$email->set_addresses($user->data);
|
||||
$email->anti_abuse_headers($config, $user);
|
||||
$email->assign_vars([
|
||||
'USERNAME' => html_entity_decode($user->data['username'], ENT_COMPAT),
|
||||
'MESSAGE' => html_entity_decode($request->variable('send_test_email_text', '', true), ENT_COMPAT),
|
||||
));
|
||||
$messenger->send(NOTIFY_EMAIL);
|
||||
]);
|
||||
$email->send();
|
||||
|
||||
trigger_error($user->lang('TEST_EMAIL_SENT') . adm_back_link($this->u_action));
|
||||
}
|
||||
|
@@ -182,25 +182,13 @@ class acp_email
|
||||
}
|
||||
}
|
||||
|
||||
// Send the messages
|
||||
if (!class_exists('messenger'))
|
||||
{
|
||||
include($phpbb_root_path . 'includes/functions_messenger.' . $phpEx);
|
||||
}
|
||||
|
||||
if (!function_exists('get_group_name'))
|
||||
{
|
||||
include($phpbb_root_path . 'includes/functions_user.' . $phpEx);
|
||||
}
|
||||
$messenger = new messenger($use_queue);
|
||||
|
||||
$errored = false;
|
||||
|
||||
$email_template = 'admin_send_email';
|
||||
$template_data = array(
|
||||
$template_data = [
|
||||
'CONTACT_EMAIL' => phpbb_get_board_contact($config, $phpEx),
|
||||
'MESSAGE' => html_entity_decode($message, ENT_COMPAT),
|
||||
);
|
||||
];
|
||||
$generate_log_entry = true;
|
||||
|
||||
/**
|
||||
@@ -229,31 +217,50 @@ class acp_email
|
||||
);
|
||||
extract($phpbb_dispatcher->trigger_event('core.acp_email_send_before', compact($vars)));
|
||||
|
||||
$messenger = $phpbb_container->get('messenger.method_collection');
|
||||
$messenger_collection_iterator = $messenger->getIterator();
|
||||
for ($i = 0, $size = count($email_list); $i < $size; $i++)
|
||||
{
|
||||
$used_lang = $email_list[$i][0]['lang'];
|
||||
$used_method = $email_list[$i][0]['method'];
|
||||
|
||||
for ($j = 0, $list_size = count($email_list[$i]); $j < $list_size; $j++)
|
||||
while ($messenger_collection_iterator->valid())
|
||||
{
|
||||
$email_row = $email_list[$i][$j];
|
||||
$messenger_method = $messenger_collection_iterator->current();
|
||||
if ($messenger_method->get_id() == $used_method || $used_method == NOTIFY_BOTH)
|
||||
{
|
||||
$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);
|
||||
|
||||
$messenger->{((count($email_list[$i]) == 1) ? 'to' : 'bcc')}($email_row['email'], $email_row['name']);
|
||||
$messenger->im($email_row['jabber'], $email_row['name']);
|
||||
}
|
||||
if ($messenger_method->get_id() == NOTIFY_EMAIL)
|
||||
{
|
||||
for ($j = 0, $list_size = count($email_list[$i]); $j < $list_size; $j++)
|
||||
{
|
||||
$email_row = $email_list[$i][$j];
|
||||
$messenger_method->{((count($email_list[$i]) == 1) ? 'to' : 'bcc')}($email_row['email'], $email_row['name']);
|
||||
}
|
||||
|
||||
$messenger->template($email_template, $used_lang);
|
||||
$messenger_method->anti_abuse_headers($config, $user);
|
||||
$messenger_method->set_mail_priority($priority);
|
||||
}
|
||||
else if ($messenger_method->get_id() == NOTIFY_JABBER)
|
||||
{
|
||||
for ($j = 0, $list_size = count($email_list[$i]); $j < $list_size; $j++)
|
||||
{
|
||||
$email_row = $email_list[$i][$j];
|
||||
$messenger_method->to($email_row['jabber'], $email_row['name']);
|
||||
}
|
||||
}
|
||||
|
||||
$messenger->anti_abuse_headers($config, $user);
|
||||
|
||||
$messenger->subject(html_entity_decode($subject, ENT_COMPAT));
|
||||
$messenger->set_mail_priority($priority);
|
||||
|
||||
$messenger->assign_vars($template_data);
|
||||
|
||||
if (!($messenger->send($used_method)))
|
||||
{
|
||||
$errored = true;
|
||||
$errored = !$messenger_method->send();
|
||||
if ($use_queue)
|
||||
{
|
||||
$messenger_method->save_queue();
|
||||
}
|
||||
}
|
||||
$messenger_collection_iterator->next();
|
||||
}
|
||||
}
|
||||
unset($email_list);
|
||||
|
@@ -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,
|
||||
|
@@ -364,11 +364,6 @@ class acp_users
|
||||
|
||||
if ($config['email_enable'])
|
||||
{
|
||||
if (!class_exists('messenger'))
|
||||
{
|
||||
include($phpbb_root_path . 'includes/functions_messenger.' . $phpEx);
|
||||
}
|
||||
|
||||
$server_url = generate_board_url();
|
||||
|
||||
$user_actkey = gen_rand_string(mt_rand(6, 10));
|
||||
@@ -403,21 +398,18 @@ class acp_users
|
||||
$db->sql_query($sql);
|
||||
|
||||
// Start sending email
|
||||
$messenger = new messenger(false);
|
||||
|
||||
$messenger->template($email_template, $user_row['user_lang']);
|
||||
|
||||
$messenger->set_addresses($user_row);
|
||||
|
||||
$messenger->anti_abuse_headers($config, $user);
|
||||
|
||||
$messenger->assign_vars(array(
|
||||
$messenger = $phpbb_container->get('messenger.method_collection');
|
||||
$email = $messenger->offsetGet('messenger.method.email');
|
||||
$email->set_use_queue(false);
|
||||
$email->template($email_template, $user_row['user_lang']);
|
||||
$email->set_addresses($user_row);
|
||||
$email->anti_abuse_headers($config, $user);
|
||||
$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' => "$server_url/ucp.$phpEx?mode=activate&u={$user_row['user_id']}&k=$user_actkey")
|
||||
);
|
||||
|
||||
$messenger->send(NOTIFY_EMAIL);
|
||||
'U_ACTIVATE' => "$server_url/ucp.$phpEx?mode=activate&u={$user_row['user_id']}&k=$user_actkey",
|
||||
]);
|
||||
$email->send();
|
||||
|
||||
$phpbb_log->add('admin', $user->data['user_id'], $user->ip, 'LOG_USER_REACTIVATE', false, array($user_row['username']));
|
||||
$phpbb_log->add('user', $user->data['user_id'], $user->ip, 'LOG_USER_REACTIVATE_USER', false, array(
|
||||
@@ -462,24 +454,16 @@ class acp_users
|
||||
$phpbb_notifications = $phpbb_container->get('notification_manager');
|
||||
$phpbb_notifications->delete_notifications('notification.type.admin_activate_user', $user_row['user_id']);
|
||||
|
||||
if (!class_exists('messenger'))
|
||||
{
|
||||
include($phpbb_root_path . 'includes/functions_messenger.' . $phpEx);
|
||||
}
|
||||
|
||||
$messenger = new messenger(false);
|
||||
|
||||
$messenger->template('admin_welcome_activated', $user_row['user_lang']);
|
||||
|
||||
$messenger->set_addresses($user_row);
|
||||
|
||||
$messenger->anti_abuse_headers($config, $user);
|
||||
|
||||
$messenger->assign_vars(array(
|
||||
'USERNAME' => html_entity_decode($user_row['username'], ENT_COMPAT))
|
||||
);
|
||||
|
||||
$messenger->send(NOTIFY_EMAIL);
|
||||
$messenger = $phpbb_container->get('messenger.method_collection');
|
||||
$email = $messenger->offsetGet('messenger.method.email');
|
||||
$email->set_use_queue(false);
|
||||
$email->template('admin_welcome_activated', $user_row['user_lang']);
|
||||
$email->set_addresses($user_row);
|
||||
$email->anti_abuse_headers($config, $user);
|
||||
$email->assign_vars([
|
||||
'USERNAME' => html_entity_decode($user_row['username'], ENT_COMPAT),
|
||||
]);
|
||||
$email->send();
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -51,8 +51,6 @@ class mcp_pm_reports
|
||||
{
|
||||
case 'close':
|
||||
case 'delete':
|
||||
include_once($phpbb_root_path . 'includes/functions_messenger.' . $phpEx);
|
||||
|
||||
$report_id_list = $request->variable('report_id_list', array(0));
|
||||
|
||||
if (!count($report_id_list))
|
||||
|
@@ -50,8 +50,6 @@ class mcp_queue
|
||||
{
|
||||
case 'approve':
|
||||
case 'restore':
|
||||
include_once($phpbb_root_path . 'includes/functions_messenger.' . $phpEx);
|
||||
|
||||
$post_id_list = $request->variable('post_id_list', array(0));
|
||||
$topic_id_list = $request->variable('topic_id_list', array(0));
|
||||
|
||||
@@ -113,11 +111,6 @@ class mcp_queue
|
||||
return;
|
||||
}
|
||||
|
||||
if (!class_exists('messenger'))
|
||||
{
|
||||
include($phpbb_root_path . 'includes/functions_messenger.' . $phpEx);
|
||||
}
|
||||
|
||||
if (!empty($topic_id_list))
|
||||
{
|
||||
$post_visibility = ($mode == 'deleted_topics') ? ITEM_DELETED : array(ITEM_UNAPPROVED, ITEM_REAPPROVE);
|
||||
|
@@ -49,8 +49,6 @@ class mcp_reports
|
||||
{
|
||||
case 'close':
|
||||
case 'delete':
|
||||
include_once($phpbb_root_path . 'includes/functions_messenger.' . $phpEx);
|
||||
|
||||
$report_id_list = $request->variable('report_id_list', array(0));
|
||||
|
||||
if (!count($report_id_list))
|
||||
|
@@ -107,7 +107,6 @@ function mcp_topic_view($id, $mode, $action)
|
||||
}
|
||||
|
||||
include_once($phpbb_root_path . 'includes/functions_posting.' . $phpEx);
|
||||
include_once($phpbb_root_path . 'includes/functions_messenger.' . $phpEx);
|
||||
|
||||
if (!count($post_id_list))
|
||||
{
|
||||
|
@@ -131,21 +131,25 @@ class ucp_activate
|
||||
$phpbb_notifications = $phpbb_container->get('notification_manager');
|
||||
$phpbb_notifications->delete_notifications('notification.type.admin_activate_user', $user_row['user_id']);
|
||||
|
||||
include_once($phpbb_root_path . 'includes/functions_messenger.' . $phpEx);
|
||||
$messenger = $phpbb_container->get('messenger.method_collection');
|
||||
$messenger_collection_iterator = $messenger->getIterator();
|
||||
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->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 = new messenger(false);
|
||||
|
||||
$messenger->template('admin_welcome_activated', $user_row['user_lang']);
|
||||
|
||||
$messenger->set_addresses($user_row);
|
||||
|
||||
$messenger->anti_abuse_headers($config, $user);
|
||||
|
||||
$messenger->assign_vars(array(
|
||||
'USERNAME' => html_entity_decode($user_row['username'], ENT_COMPAT))
|
||||
);
|
||||
|
||||
$messenger->send($user_row['user_notify_type']);
|
||||
$messenger_method->send();
|
||||
}
|
||||
$messenger_collection_iterator->next();
|
||||
}
|
||||
|
||||
$message = 'ACCOUNT_ACTIVE_ADMIN';
|
||||
}
|
||||
|
@@ -170,27 +170,21 @@ class ucp_profile
|
||||
{
|
||||
$message = ($config['require_activation'] == USER_ACTIVATION_SELF) ? 'ACCOUNT_EMAIL_CHANGED' : 'ACCOUNT_EMAIL_CHANGED_ADMIN';
|
||||
|
||||
include_once($phpbb_root_path . 'includes/functions_messenger.' . $phpEx);
|
||||
|
||||
$server_url = generate_board_url();
|
||||
|
||||
$user_actkey = gen_rand_string(mt_rand(6, 10));
|
||||
|
||||
$messenger = new messenger(false);
|
||||
|
||||
$messenger = $phpbb_container->get('messenger.method_collection');
|
||||
$email = $messenger->offsetGet('messenger.method.email');
|
||||
$template_file = ($config['require_activation'] == USER_ACTIVATION_ADMIN) ? 'user_activate_inactive' : 'user_activate';
|
||||
$messenger->template($template_file, $user->data['user_lang']);
|
||||
|
||||
$messenger->to($data['email'], $data['username']);
|
||||
|
||||
$messenger->anti_abuse_headers($config, $user);
|
||||
|
||||
$messenger->assign_vars(array(
|
||||
$email->template($template_file, $user->data['user_lang']);
|
||||
$email->to($data['email'], $data['username']);
|
||||
$email->anti_abuse_headers($config, $user);
|
||||
$email->assign_vars([
|
||||
'USERNAME' => html_entity_decode($data['username'], ENT_COMPAT),
|
||||
'U_ACTIVATE' => "$server_url/ucp.$phpEx?mode=activate&u={$user->data['user_id']}&k=$user_actkey")
|
||||
);
|
||||
|
||||
$messenger->send(NOTIFY_EMAIL);
|
||||
'U_ACTIVATE' => "$server_url/ucp.$phpEx?mode=activate&u={$user->data['user_id']}&k=$user_actkey",
|
||||
]);
|
||||
$email->send();
|
||||
|
||||
if ($config['require_activation'] == USER_ACTIVATION_ADMIN)
|
||||
{
|
||||
|
Reference in New Issue
Block a user