function simplenews_admin_types_form in Simplenews 6
Same name and namespace in other branches
- 5 simplenews.module \simplenews_admin_types_form()
- 6.2 includes/simplenews.admin.inc \simplenews_admin_types_form()
Menu callback: newsletter admin form for newsletter add/edit.
See also
simplenews_admin_types_form_validate()
simplenews_admin_types_form_submit()
1 string reference to 'simplenews_admin_types_form'
- simplenews_menu in ./
simplenews.module - Implementation of hook_menu().
File
- ./
simplenews.admin.inc, line 120 - Newsletter admin, subscription admin, simplenews settings
Code
function simplenews_admin_types_form(&$form_state, $tid = NULL) {
if (isset($tid)) {
// We are editing an existing newsletter.
$term = taxonomy_get_term($tid);
// If the given term is not a newsletter, don't allow editing.
if (variable_get('simplenews_vid', '') != $term->vid) {
drupal_not_found();
return;
}
// Redirect on a delete operation for posterity's sake.
if (isset($form_state['post']['op']) && $form_state['post']['op'] == t('Delete')) {
drupal_goto('admin/content/simplenews/types/delete/' . $term->tid);
}
}
else {
// We will create a new newsletter.
// Provide vocabulary id for the newsletter to be added to.
$term = (object) array(
'vid' => variable_get('simplenews_vid', ''),
);
$term->tid = '';
}
$form['name'] = array(
'#type' => 'textfield',
'#title' => t('Newsletter name'),
'#size' => 50,
'#maxlength' => 128,
'#description' => t('The name of this newsletter.'),
'#required' => TRUE,
'#default_value' => isset($term->name) ? $term->name : '',
);
$form['description'] = array(
'#type' => 'textarea',
'#title' => t('Description'),
'#cols' => 60,
'#rows' => 5,
'#description' => t('A description of the newsletter. To be displayed on taxonomy/term pages and RSS feeds.'),
'#default_value' => isset($term->description) ? $term->description : '',
);
$form['weight'] = array(
'#type' => 'weight',
'#title' => t('Weight'),
'#delta' => 10,
'#description' => t('Newsletters are displayed in ascending order by weight.'),
'#required' => TRUE,
'#default_value' => isset($term->weight) ? $term->weight : 0,
);
$form['simplenews_sender_information'] = array(
'#type' => 'fieldset',
'#title' => t('Sender information'),
'#collapsible' => FALSE,
);
$form['simplenews_sender_information']['simplenews_from_name_' . $term->tid] = array(
'#type' => 'textfield',
'#title' => t('From name'),
'#size' => 60,
'#maxlength' => 128,
'#default_value' => variable_get('simplenews_from_name_' . $term->tid, variable_get('simplenews_from_name', variable_get('site_name', 'Drupal'))),
);
$form['simplenews_sender_information']['simplenews_from_address_' . $term->tid] = array(
'#type' => 'textfield',
'#title' => t('From email address'),
'#size' => 60,
'#maxlength' => 128,
'#required' => TRUE,
'#default_value' => variable_get('simplenews_from_address_' . $term->tid, variable_get('simplenews_from_address', variable_get('site_mail', ini_get('sendmail_from')))),
);
$form['simplenews_hyperlinks'] = array(
'#type' => 'fieldset',
'#title' => t('HTML to text conversion'),
'#collapsible' => FALSE,
'#description' => t('When your newsletter is sent as plain text, these options will determine how the conversion to text is performed.'),
);
$form['simplenews_hyperlinks']['simplenews_hyperlinks_' . $term->tid] = array(
'#type' => 'radios',
'#title' => t('Hyperlink conversion'),
'#options' => array(
t('Append hyperlinks as a numbered reference list'),
t('Display hyperlinks inline with the text'),
),
'#default_value' => variable_get('simplenews_hyperlinks_' . $term->tid, 1),
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
'#weight' => 25,
);
$form['vid'] = array(
'#type' => 'hidden',
'#value' => isset($term->vid) ? $term->vid : variable_get('simplenews_vid', ''),
);
// If we are editing a newsletter term, show delete option and store tid.
// tid is used in validation and submission functions to differentiate
// between form actions of creating a new or editing an existing term.
if ($term->tid) {
$form['delete'] = array(
'#type' => 'submit',
'#value' => t('Delete'),
'#weight' => 30,
);
$form['tid'] = array(
'#type' => 'value',
'#value' => $term->tid,
);
}
// Return to Newsletter list page after submit
$form['#redirect'] = 'admin/content/simplenews/types';
return $form;
}