Создание, продвижение сайтов
40-33-54

Как программно создать рассылку и отправить ее подписчикам с помощью модуля simplenews

11 сентября 2020
<?php

$desc='На сайте доступен новый материал: <a href="'.$GLOBALS['base_url'].'/node/'.$node->nid.'">'.$node->title.'</a>';
$edit = new stdClass();   /* Создаём объект node */
$edit->type = 'simplenews';    /* Указываем тип материала */
node_object_prepare($edit);  /* Подготавливаем объект ноды  */        
$edit->title = 'Новый материал: '.$node->title;   /* Заголовок */
$edit->language = LANGUAGE_NONE;

$edit->body[$edit->language][0]['value'] = $desc;
$edit->body[$edit->language][0]['summary'] = '';
$edit->body[$edit->language][0]['format'] = 'full_html';

$tag=taxonomy_term_load(15); /* tid рассылки */
if($tag){
    $edit->field_simplenews_term[$edit->language][0] = (array)$tag;
}
if($nd = node_submit($edit)) {
    node_save($nd);
    if($nd->nid){
//        simplenews_issue_send(array($nd->nid));
//        simplenews_add_node_to_spool($nd);
$select = db_select('simplenews_subscriber', 's');
  $select->innerJoin('simplenews_subscription', 't', 's.snid = t.snid');
  $select->addField('s', 'mail');
  $select->addField('s', 'snid');
  $select->addField('t', 'tid');
  $select->addExpression($nd->nid, 'nid');
  $select->addExpression(SIMPLENEWS_SUBSCRIPTION_STATUS_SUBSCRIBED, 'status');
  $select->addExpression(REQUEST_TIME, 'timestamp');
  $select->condition('t.tid', $nd->simplenews->tid);
  $select->condition('t.status', SIMPLENEWS_SUBSCRIPTION_STATUS_SUBSCRIBED);
  $select->condition('s.activated', SIMPLENEWS_SUBSCRIPTION_ACTIVE);

db_insert('simplenews_mail_spool')->from($select)->execute();

// Update simplenews newsletter status to send pending.
  simplenews_newsletter_update_sent_status($nd);
    }
}?>

Статьи

Сделайте заказ с сайта и получите 10% скидку на услугу

Заказ услуги с сайта raybin.ru

Нажимая на кнопку "Получить консультацию", я даю согласие на обработку персональных данных и соглашаюсь c условиями политики конфиденциальности
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
Заказать бесплатную SEO-консультацию

Запрос бесплатной SEO - консультации с сайта raybin.ru

Нажимая на кнопку "Получить консультацию", я даю согласие на обработку персональных данных и соглашаюсь c условиями политики конфиденциальности
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
Письмо в компанию Райбин

Письмо в компанию RAYBIN

Нажимая на кнопку "Получить консультацию", я даю согласие на обработку персональных данных и соглашаюсь c условиями политики конфиденциальности
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.