You are here

function simplenews_admin_types_form in Simplenews 5

Same name and namespace in other branches
  1. 6.2 includes/simplenews.admin.inc \simplenews_admin_types_form()
  2. 6 simplenews.admin.inc \simplenews_admin_types_form()

Forms API callback; displays newsletter (term) add/edit form.

1 string reference to 'simplenews_admin_types_form'
simplenews_menu in ./simplenews.module
Implementation of hook_menu().

File

./simplenews.module, line 2498

Code

function simplenews_admin_types_form($tid = NULL) {
  if (isset($tid)) {
    $edit = (array) taxonomy_get_term($tid);

    // If the given term is not a newsletter, don't allow editing.
    if (variable_get('simplenews_vid', '') != $edit['vid']) {
      drupal_not_found();
      return;
    }

    // Redirect on a delete operation for posterity's sake.
    if ($_POST['op'] == t('Delete')) {
      drupal_goto('admin/content/newsletters/types/delete/' . $edit['tid']);
    }
  }
  else {

    // Add form so choose simplenews vocabulary.
    $edit = array(
      'vid' => variable_get('simplenews_vid', ''),
    );
  }
  $form['info'] = array(
    '#value' => t('You can create different newsletters (or subjects) to categorize your news (e.g. Cats news, Dogs news, ...).'),
  );
  $form['name'] = array(
    '#type' => 'textfield',
    '#title' => t('Newsletter name'),
    '#size' => 50,
    '#maxlength' => 128,
    '#description' => t('This name is used to identify the newsletter.'),
    '#required' => TRUE,
    '#default_value' => isset($edit['name']) ? $edit['name'] : '',
  );
  $form['description'] = array(
    '#type' => 'textarea',
    '#title' => t('Description'),
    '#cols' => 60,
    '#rows' => 5,
    '#description' => t('The description can be used to provide more information.'),
    '#default_value' => isset($edit['description']) ? $edit['description'] : '',
  );
  $form['weight'] = array(
    '#type' => 'weight',
    '#title' => t('Weight'),
    '#delta' => 10,
    '#description' => t('In listings, the heavier (with a higher weight value) terms will sink and the lighter terms will be positioned nearer the top.'),
    '#default_value' => isset($edit['weight']) ? $edit['weight'] : 0,
  );
  $form['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Submit'),
    '#weight' => 25,
  );
  $form['vid'] = array(
    '#type' => 'hidden',
    '#value' => isset($edit['vid']) ? $edit['vid'] : '',
  );

  // If we are editing a newsletter term, show delete option. When the submit
  // passes the $form_values['tid'] to taxonomy_save_term() it will delete the
  // term for some reason.
  if (isset($edit['tid'])) {
    $form['delete'] = array(
      '#type' => 'submit',
      '#value' => t('Delete'),
      '#weight' => 30,
    );
    $form['tid'] = array(
      '#type' => 'value',
      '#value' => $edit['tid'],
    );
  }
  return $form;
}