mirror of
https://github.com/torrentpier/torrentpier-lts.git
synced 2025-02-28 15:10:54 +03:00
108 lines
2.5 KiB
PHP
108 lines
2.5 KiB
PHP
<?php
|
|
|
|
if (!empty($setmodules))
|
|
{
|
|
$module['MODS']['MASS_EMAIL'] = basename(__FILE__);
|
|
return;
|
|
}
|
|
require('./pagestart.php');
|
|
|
|
if ($bb_cfg['emailer_disabled'])
|
|
{
|
|
bb_die($lang['EMAILER_DISABLED']);
|
|
}
|
|
|
|
@set_time_limit(1200);
|
|
|
|
$subject = (string) trim(request_var('subject', ''));
|
|
$message = (string) request_var('message', '');
|
|
$group_id = (int) request_var(POST_GROUPS_URL, 0);
|
|
|
|
$errors = $user_id_sql = array();
|
|
|
|
if (isset($_POST['submit']))
|
|
{
|
|
if (!$subject) $errors[] = $lang['EMPTY_SUBJECT'];
|
|
if (!$message) $errors[] = $lang['EMPTY_MESSAGE'];
|
|
if (!$group_id) $errors[] = $lang['GROUP_NOT_EXIST'];
|
|
|
|
if (!$errors)
|
|
{
|
|
$sql = DB()->fetch_rowset("SELECT ban_userid FROM ". BB_BANLIST ." WHERE ban_userid != 0");
|
|
|
|
foreach ($sql as $row)
|
|
{
|
|
$user_id_sql[] = ','. $row['ban_userid'];
|
|
}
|
|
$user_id_sql = join('', $user_id_sql);
|
|
|
|
if ($group_id != -1)
|
|
{
|
|
$user_list = DB()->fetch_rowset("
|
|
SELECT u.username, u.user_email, u.user_lang
|
|
FROM ". BB_USERS ." u, ". BB_USER_GROUP ." ug
|
|
WHERE ug.group_id = $group_id
|
|
AND ug.user_pending = 0
|
|
AND u.user_id = ug.user_id
|
|
AND u.user_active = 1
|
|
AND u.user_id NOT IN(". EXCLUDED_USERS_CSV . $user_id_sql .")
|
|
");
|
|
}
|
|
else
|
|
{
|
|
$user_list = DB()->fetch_rowset("
|
|
SELECT username, user_email, user_lang
|
|
FROM ". BB_USERS ."
|
|
WHERE user_active = 1
|
|
AND user_id NOT IN(". EXCLUDED_USERS_CSV . $user_id_sql .")
|
|
");
|
|
}
|
|
|
|
require(CLASS_DIR .'emailer.php');
|
|
|
|
foreach ($user_list as $i => $row)
|
|
{
|
|
$emailer = new emailer($bb_cfg['smtp_delivery']);
|
|
|
|
$emailer->from($bb_cfg['sitename'] ." <{$bb_cfg['board_email']}>");
|
|
$emailer->email_address($row['username'] ." <{$row['user_email']}>");
|
|
$emailer->use_template('admin_send_email');
|
|
|
|
$emailer->assign_vars(array(
|
|
'SUBJECT' => trim(html_entity_decode($subject)),
|
|
'MESSAGE' => trim(html_entity_decode($message)),
|
|
));
|
|
|
|
$emailer->send();
|
|
$emailer->reset();
|
|
}
|
|
}
|
|
}
|
|
|
|
//
|
|
// Generate page
|
|
//
|
|
$sql = "SELECT group_id, group_name
|
|
FROM ". BB_GROUPS ."
|
|
WHERE group_single_user = 0
|
|
ORDER BY group_name
|
|
";
|
|
|
|
$groups = array('-- '. $lang['ALL_USERS'] .' --' => -1);
|
|
foreach (DB()->fetch_rowset($sql) as $row)
|
|
{
|
|
$groups[$row['group_name']] = $row['group_id'];
|
|
}
|
|
|
|
$template->assign_vars(array(
|
|
'MESSAGE' => $message,
|
|
'SUBJECT' => $subject,
|
|
|
|
'ERROR_MESSAGE' => ($errors) ? join('<br />', array_unique($errors)) : '',
|
|
|
|
'S_USER_ACTION' => 'admin_mass_email.php',
|
|
'S_GROUP_SELECT' => build_select(POST_GROUPS_URL, $groups),
|
|
));
|
|
|
|
print_page('admin_mass_email.tpl', 'admin');
|