Merge pull request #369 from tobiasd/20160906-notify

notifyall in test mode
This commit is contained in:
Michael Vogel 2016-09-09 11:53:06 +02:00 committed by GitHub
commit 64139d43c0

View file

@ -43,7 +43,11 @@ function notifyall_post(&$a) {
else else
$sender_name = sprintf(t('%1$s, %2$s Administrator'), $a->config['admin_name'], $sitename); $sender_name = sprintf(t('%1$s, %2$s Administrator'), $a->config['admin_name'], $sitename);
$sender_email = 'sys@' . $a->get_hostname(); if (! x($a->config['sender_email']))
$sender_email = 'noreply@' . $a->get_hostname();
else
$sender_email = $a->config['sender_email'];
$subject = $_REQUEST['subject']; $subject = $_REQUEST['subject'];
@ -51,10 +55,15 @@ function notifyall_post(&$a) {
$htmlversion = bbcode(stripslashes(str_replace(array("\\r","\\n"), array("","<br />\n"),$text))); $htmlversion = bbcode(stripslashes(str_replace(array("\\r","\\n"), array("","<br />\n"),$text)));
$sql_extra = ((intval($_REQUEST['test'])) ? sprintf(" AND `email` = '%s' ", get_config('system','admin_email')) : ''); // if this is a test, send it only to the admin(s)
// admin_email might be a comma separated list, but we need "a@b','c@d','e@f
if ( intval($_REQUEST['test'])) {
$email = $a->config['admin_email'];
$email = "'" . str_replace(array(" ",","), array("","','"), $email) . "'";
}
$sql_extra = ((intval($_REQUEST['test'])) ? sprintf(" AND `email` in ( %s )", $email) : '');
$recips = q("SELECT DISTINCT `email` FROM `user` WHERE `verified` AND NOT `account_removed` AND NOT `account_expired` $sql_extra");
$recips = q("SELECT `email` FROM `user` WHERE `verified` AND NOT `account_removed` AND NOT `account_expired` $sql_extra");
if(! $recips) { if(! $recips) {
notice( t('No recipients found.') . EOL); notice( t('No recipients found.') . EOL);