You are here

function token_custom_type_edit_form in Custom Tokens 7.2

The add/edit token type form

Parameters

array $form: The token type edit form

array $form_state: The form state

string $op: Either 'add' or 'edit', according to the operation performed

object $type: If $op is 'edit', $type contains the loaded token type to edit.

Return value

array The complete form array

1 string reference to 'token_custom_type_edit_form'
token_custom_menu in ./token_custom.module
Implements of hook_menu().

File

./token_custom.admin.inc, line 237
Page callbacks and admin forms of the token_custom module.

Code

function token_custom_type_edit_form($form, &$form_state, $op, $type = NULL) {
  $form = array();
  $form_state['token_custom']['op'] = $op;
  $form_state['token_custom']['type'] = $type;
  $form['name'] = array(
    '#type' => 'textfield',
    '#title' => t("Token type's name"),
    '#description' => t("The token types's readable name"),
    '#default_value' => $type ? $type->name : NULL,
    '#maxlength' => 255,
    '#required' => TRUE,
  );
  $form['machine_name'] = array(
    '#type' => 'machine_name',
    '#title' => t("Token type's machine name"),
    '#description' => t('A unique machine-readable name for this token. It must only contain lowercase letters, numbers, and hyphens.'),
    '#default_value' => $type ? $type->machine_name : NULL,
    '#maxlength' => 32,
    '#disabled' => (bool) $type,
    '#machine_name' => array(
      'exists' => 'token_custom_type_load',
      'replace' => '-',
      'replace_pattern' => '[^a-z0-9\\-]+',
    ),
  );
  $form['description'] = array(
    '#type' => 'textfield',
    '#title' => t('Token description'),
    '#description' => t("The token type's description."),
    '#default_value' => $type ? $type->description : NULL,
    '#required' => TRUE,
  );
  $form['save'] = array(
    '#type' => 'submit',
    '#value' => t('Save'),
  );
  if ($op == 'edit') {
    $form['delete'] = array(
      '#type' => 'submit',
      '#value' => t('Delete'),
    );
  }
  return $form;
}