Alexander Yakovlev
de9ab2aa5f
- Hyperlinks in the digest - No deleted, closed or moved threads in the digest - No "Last update" column for threads with 0 replies - Changed date format to 17/05/2017 - Set the timzeone explicitly
64 lines
2 KiB
PHP
64 lines
2 KiB
PHP
<?php
|
|
require_once "vendor/autoload.php";
|
|
require_once "config.php";
|
|
require_once "activethreads.php";
|
|
require_once "email.php";
|
|
|
|
$pdo = new PDO(DSN, MYSQL_USER, MYSQL_PASSWORD);
|
|
$threads = getLatestActiveThreads(FORUM_ID, 100, true);
|
|
if (empty($threads)) {
|
|
die("No new threads.");
|
|
}
|
|
$users = $pdo->prepare("SELECT usergroup, loginkey, email, username FROM ".MYBB_PREFIX."users
|
|
WHERE usergroup = 4
|
|
AND isSubscribed = 1");
|
|
$users->execute();
|
|
$users = $users->fetchAll();
|
|
|
|
$url = $pdo->prepare("SELECT value FROM ".MYBB_PREFIX."settings WHERE name = 'bburl'");
|
|
$url->execute();
|
|
$url = $url->fetch()['value'];
|
|
|
|
$tmp = $pdo->prepare("SELECT name, value FROM ".MYBB_PREFIX."settings WHERE name LIKE 'smtp_%'");
|
|
$tmp->execute();
|
|
$tmp = $tmp->fetchAll();
|
|
$smtp = [];
|
|
foreach ($tmp as $row) {
|
|
$smtp[$row['name']] = $row['value'];
|
|
}
|
|
unset($tmp);
|
|
$transport = Swift_SmtpTransport::newInstance($smtp['smtp_host'], $smtp['smtp_port'])
|
|
->setUsername($smtp['smtp_user'])
|
|
->setPassword($smtp['smtp_pass']);
|
|
$mailer = Swift_Mailer::newInstance($transport);
|
|
|
|
$forbidden = 'SELECT fid, gid FROM '.MYBB_PREFIX.'forumpermissions WHERE canviewthreads = 0';
|
|
$forbidden = $pdo->prepare($forbidden);
|
|
$forbidden->execute();
|
|
$forbidden = $forbidden->fetchAll();
|
|
$temp = $forbidden;
|
|
$forbidden = [];
|
|
foreach ($temp as $row) {
|
|
if (!isset($forbidden[$row['gid']])) {
|
|
$forbidden[$row['gid']] = [];
|
|
}
|
|
$forbidden[$row['gid']][] = $row['fid'];
|
|
}
|
|
|
|
foreach ($users as $user) {
|
|
$email = $user['email'];
|
|
$message = print_email($user['username'], $url.D_PATH.'/unsubscribe.php?email='.$user['email'].'&key='.$user['loginkey'], $threads, $forbidden[$user['usergroup']], $url);
|
|
if (DRY_RUN) {
|
|
echo $message;
|
|
}
|
|
$message = Swift_Message::newInstance()
|
|
->setSubject('Daily Digest')
|
|
->setFrom(['no-reply@olympicbusinessforum.com' => 'Olympic Business Forum'])
|
|
->setSender(['no-reply@olympicbusinessforum.com' => 'Olympic Business Forum'])
|
|
->setTo(array($email => $user['username']))
|
|
->setBody($message, 'text/html');
|
|
if (!DRY_RUN) {
|
|
$mailer->send($message);
|
|
}
|
|
}
|