You are here

function nodehierarchy_admin_settings in Node Hierarchy 6.3

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

Helper function generates admin settings page.

1 string reference to 'nodehierarchy_admin_settings'
nodehierarchy_menu in ./nodehierarchy.module
Implementation of hook_menu().

File

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

Code

function nodehierarchy_admin_settings() {
  $form = array();

  // Menu generation.
  if (function_exists('menu_parent_options')) {
    $form['nodehierarchy_menu'] = array(
      '#type' => 'fieldset',
      '#title' => t('Node Hierarchy Menu Generation'),
    );
    $form['nodehierarchy_menu']['nodehierarchy_default_menu_name'] = array(
      '#type' => 'select',
      '#title' => t('Default parent menu'),
      '#options' => menu_get_menus(),
      '#default_value' => variable_get('nodehierarchy_default_menu_name', 'navigation'),
      '#description' => t('If a menu is created for a node with no parent the new menu item will appear in this menu.'),
    );
    $form['nodehierarchy_menu']['nodehierarchy_menu_module_edit'] = array(
      '#type' => 'checkbox',
      '#title' => t('Show hidden Node Hierarchy menu items on the menu overview forms.'),
      '#default_value' => variable_get('nodehierarchy_menu_module_edit', FALSE),
      '#description' => t('Allow disabled Node Hierarchy menu items to be edited with regular menu items in the menu overview screen. Turn this off if large Node Hierarchy menus are causing memory errors on menu edit screens.'),
    );
    $form['nodehierarchy_menu']['nodehierarchy_hidden_threshold'] = array(
      '#type' => 'textfield',
      '#title' => t('Hidden threshold'),
      '#size' => 5,
      '#disabled' => variable_get('nodehierarchy_menu_module_edit', FALSE),
      '#default_value' => variable_get('nodehierarchy_hidden_threshold', 100),
      '#description' => t('The number of hidden items that must exist before Node Hierarchy will hide them from the menu overview forms.'),
    );
  }

  // Individual type settings.
  $form['nodehierarchy_types'] = array(
    '#type' => 'fieldset',
    '#title' => t('Node Type Settings'),
    '#description' => t('Settings for individual node types. These can also be set in the !content_types section.', array(
      '!content_types' => l(t('Content Types'), 'admin/content/types'),
    )),
  );
  foreach (node_get_types() as $key => $type) {

    // Individual type settings.
    $form['nodehierarchy_types'][$key] = array(
      '#type' => 'fieldset',
      '#title' => $type->name,
      '#collapsible' => TRUE,
      '#collapsed' => TRUE,
    );
    $form['nodehierarchy_types'][$key] += _nodehierarchy_get_node_type_settings_form($key, TRUE);
  }
  return system_settings_form($form);
}