You are here

function _nodehierarchy_get_node_type_settings_form in Node Hierarchy 6.2

Same name and namespace in other branches
  1. 5 nodehierarchy.module \_nodehierarchy_get_node_type_settings_form()
  2. 6.3 nodehierarchy.module \_nodehierarchy_get_node_type_settings_form()
  3. 6 nodehierarchy.module \_nodehierarchy_get_node_type_settings_form()
  4. 7.4 nodehierarchy.admin.inc \_nodehierarchy_get_node_type_settings_form()
  5. 7.2 nodehierarchy.module \_nodehierarchy_get_node_type_settings_form()

Get the nodehierarchy setting form for a particular node type.

2 calls to _nodehierarchy_get_node_type_settings_form()
nodehierarchy_admin_settings in ./nodehierarchy.module
Helper function generates admin settings page.
nodehierarchy_form_alter in ./nodehierarchy.module
Implementation of hooks_form_alter().

File

./nodehierarchy.module, line 820
A module to make nodes hierarchical.

Code

function _nodehierarchy_get_node_type_settings_form($key, $append_key = FALSE) {
  $form = array();
  $form['nh_allowchild'] = array(
    '#type' => 'checkboxes',
    '#title' => t('Allowed child node types'),
    '#options' => node_get_types('names'),
    '#default_value' => nodehierarchy_get_allowed_child_types($key),
    '#description' => t('Node types which can be created as child nodes of this node type.'),
  );
  $form['nh_defaultparent'] = _nodehierarchy_get_parent_selector($key, variable_get('nh_defaultparent_' . $key, 0));
  $form['nh_defaultparent']['#title'] = t('Default Parent');
  $form['nh_createmenu'] = array(
    '#type' => 'radios',
    '#title' => t('Show item in menu'),
    '#default_value' => variable_get('nh_createmenu_' . $key, 'optional_no'),
    '#options' => array(
      'never' => t('Never'),
      'optional_no' => t('Optional - default to no'),
      'optional_yes' => t('Optional - default to yes'),
      'always' => t('Always'),
    ),
    '#description' => t("Users must have the 'administer menu' or 'customize nodehierarchy menus' permission to override default options."),
  );
  $form['nh_multiple'] = array(
    '#type' => 'checkbox',
    '#title' => t('Allow multiple parents'),
    '#default_value' => variable_get('nh_multiple_' . $key, 0),
    '#description' => t('Can nodes of this type have multiple parents?.'),
  );
  $form += module_invoke_all('nodehierarchy_node_type_settings_form', $key);

  // If we need to append the node type key to the form elements, we do so.
  if ($append_key) {

    // Appending the key does not work recursively, so fieldsets etc. are not supported.
    foreach (element_children($form) as $form_key) {
      $form[$form_key . '_' . $key] = $form[$form_key];
      unset($form[$form_key]);
    }
  }
  return $form;
}