You are here

newsletter.admin.inc in Newsletter 7.2

Same filename and directory in other branches
  1. 7 includes/newsletter.admin.inc

Admin page callbacks for the newsletter module.

File

includes/newsletter.admin.inc
View source
<?php

/**
 * @file
 * Admin page callbacks for the newsletter module.
 */

/**
 * Menu callback; present newsletter configuration.
 */
function newsletter_configure_form($form, &$form_state) {
  $form['test'] = array(
    '#attributes' => array(
      'class' => array(
        'container-inline',
      ),
    ),
    '#type' => 'fieldset',
    '#collapsible' => TRUE,
    '#collapsed' => TRUE,
    '#title' => t('Send a test Email'),
  );
  $form['test']['newsletter_test_to'] = array(
    '#type' => 'textfield',
    '#title' => t('To'),
    '#default_value' => variable_get('newsletter_test_to', variable_get('site_mail')),
  );
  $form['test']['send_test'] = array(
    '#type' => 'submit',
    '#value' => t('Send'),
  );
  $form['settings'] = array(
    '#type' => 'fieldset',
    '#collapsible' => TRUE,
    '#title' => t('General settings'),
  );
  $form['settings']['newsletter_from'] = array(
    '#type' => 'textfield',
    '#title' => t('From'),
    '#size' => 60,
    '#maxlength' => 128,
    '#default_value' => variable_get('newsletter_from', variable_get('site_mail')),
    '#description' => t('Suggested format: User &lt;user@example.com&gt;'),
  );
  $form['settings']['newsletter_cron_number'] = array(
    '#type' => 'textfield',
    '#title' => t('Number of mails to send per cron run'),
    '#default_value' => variable_get('newsletter_cron_number', 500),
    '#description' => t('The more newsletter lists the smaller this number should be.'),
  );
  $form['settings']['newsletter_node_limit'] = array(
    '#type' => 'textfield',
    '#title' => t('Number of nodes to send per newsletter'),
    '#default_value' => variable_get('newsletter_node_limit', 50),
    '#description' => t('The max number of nodes to send with a newsletter.'),
  );
  $form['settings']['newsletter_send_confirm'] = array(
    '#type' => 'checkbox',
    '#title' => t('Send confirmation email'),
    '#default_value' => variable_get('newsletter_send_confirm'),
    '#description' => t('Attention: If you disable confirmation e-mails, users will be able to subscribe others without their permission.'),
  );
  $form['settings']['newsletter_send_welcome'] = array(
    '#type' => 'checkbox',
    '#title' => t('Send welcome email'),
    '#default_value' => variable_get('newsletter_send_welcome'),
  );
  $form['settings']['newsletter_send_unsubscribe'] = array(
    '#type' => 'checkbox',
    '#title' => t('Send unsubscribe email, after a subscriber decides to unsubscribe'),
    '#default_value' => variable_get('newsletter_send_unsubscribe'),
  );
  $form['settings']['newsletter_use_smtp'] = array(
    '#type' => 'checkbox',
    '#title' => t('Enable SMTP support'),
    '#default_value' => variable_get('newsletter_use_smtp', FALSE),
    '#description' => t('Requires <a href=@url>SMTP</a> module', array(
      '@url' => 'http://drupal.org/project/smtp',
    )),
  );
  $form = system_settings_form($form);
  $form['#submit'][] = 'newsletter_configure_submit';
  return $form;
}
function newsletter_configure_submit($form, &$form_state) {
  if ($form_state['clicked_button']['#value'] == t('Send')) {
    $status = newsletter_create()
      ->sendTest(variable_get('newsletter_test_to', variable_get('site_mail')));
    if ($status) {
      drupal_set_message(t('Test mail sent successfully!'), 'status');
    }
    else {
      drupal_set_message(t('Your test mail failed to be delivered.Please check your server logs for more information.'), 'error');
    }
  }
}

Functions

Namesort descending Description
newsletter_configure_form Menu callback; present newsletter configuration.
newsletter_configure_submit