function simplenews_issue_send in Simplenews 7
Same name and namespace in other branches
- 7.2 includes/simplenews.admin.inc \simplenews_issue_send()
Callback to send newsletters.
2 string references to 'simplenews_issue_send'
- hook_simplenews_issue_operations in ./
simplenews.api.php - Return operations to be applied to newsletter issues.
- simplenews_simplenews_issue_operations in includes/
simplenews.admin.inc - Implements hook_simplenews_issue_operations().
File
- includes/
simplenews.admin.inc, line 256 - Newsletter admin, subscription admin, simplenews settings
Code
function simplenews_issue_send($nids) {
$sent_nodes = array();
foreach (node_load_multiple($nids) as $node) {
$newsletter = simplenews_newsletter_load($node->nid);
if ($newsletter->status != SIMPLENEWS_STATUS_SEND_NOT) {
continue;
}
if ($node->status == NODE_NOT_PUBLISHED) {
simplenews_newsletter_update_sent_status($node, SIMPLENEWS_COMMAND_SEND_PUBLISH);
drupal_set_message(t('Newsletter %title is unpublished and will be sent on publish.', array(
'%title' => $node->title,
)));
continue;
}
simplenews_add_node_to_spool($node);
$sent_nodes[$node->nid] = $node->title;
}
// If there were any newsletters sent, display a message.
if (!empty($sent_nodes)) {
$conditions = array(
'nid' => array_keys($sent_nodes),
);
// Attempt to send immediatly, if configured to do so.
if (simplenews_mail_attempt_immediate_send($conditions)) {
drupal_set_message(t('Sent the following newsletters: %titles.', array(
'%titles' => implode(', ', $sent_nodes),
)));
}
else {
drupal_set_message(t('The following newsletter are now pending: %titles.', array(
'%titles' => implode(', ', $sent_nodes),
)));
}
}
}