newsletter.admin.inc in Newsletter 7.2
Same filename and directory in other branches
Admin page callbacks for the newsletter module.
File
includes/newsletter.admin.incView 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 <user@example.com>'),
);
$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
Name | Description |
---|---|
newsletter_configure_form | Menu callback; present newsletter configuration. |
newsletter_configure_submit |