You are here

function simplemenu_admin_settings in SimpleMenu 6.2

Same name and namespace in other branches
  1. 5 simplemenu.module \simplemenu_admin_settings()
  2. 6 simplemenu.admin.inc \simplemenu_admin_settings()
  3. 7 simplemenu.admin.inc \simplemenu_admin_settings()

SimpleMenu settings page.

1 string reference to 'simplemenu_admin_settings'
simplemenu_menu in ./simplemenu.module
Implementation of hook_menu().

File

./simplemenu.module, line 93
Creates a simplemenu.

Code

function simplemenu_admin_settings() {
  if (module_exists('menu')) {
    $form['default_menu']['simplemenu_menu'] = array(
      '#type' => 'select',
      '#title' => t('Menu'),
      '#options' => menu_parent_options(menu_get_menus(), array(
        'mlid' => 0,
      )),
      // return complete tree;
      '#default_value' => variable_get('simplemenu_menu', 'navigation:0'),
      '#description' => t('Select the menu to display.'),
    );
  }
  if (module_exists('devel')) {
    $form['default_menu']['simplemenu_devel'] = array(
      '#type' => 'checkbox',
      '#title' => t('Add devel module links'),
      '#default_value' => variable_get('simplemenu_devel', 0),
      '#description' => t('Add devel module links for those users that can access the devel module.'),
    );
  }
  $form['default_menu']['simplemenu_theme'] = array(
    '#type' => 'select',
    '#title' => t('Theme'),
    '#options' => array(
      'original' => t('original'),
      'blackblue' => t('black & blue'),
      'custom' => t('custom'),
    ),
    '#default_value' => variable_get('simplemenu_theme', 'original'),
    '#description' => t('Select which theme to use. If you specify custom, you need to define CSS in your theme.'),
  );
  $form['default_menu']['advanced'] = array(
    '#type' => 'fieldset',
    '#title' => t('Advanced settings'),
    '#collapsible' => TRUE,
    '#collapsed' => TRUE,
  );
  $form['default_menu']['advanced']['simplemenu_element'] = array(
    '#type' => 'textfield',
    '#title' => t('CSS selector to attach menu to'),
    '#default_value' => variable_get('simplemenu_element', 'body'),
    '#description' => t('A valid CSS selector to attach the menu to. <em>Example: body, #primary, div.my-class</em>'),
    '#required' => TRUE,
  );
  $form['default_menu']['advanced']['simplemenu_element_method'] = array(
    '#type' => 'radios',
    '#title' => t('Attach method'),
    '#options' => array(
      'prepend' => t('Prepend'),
      'append' => t('Append'),
    ),
    '#default_value' => variable_get('simplemenu_element_method', 'prepend'),
    '#description' => t('Choose how the menu should be attached to the above selector.'),
    '#required' => TRUE,
  );
  $form['default_menu']['advanced']['simplemenu_exclusions'] = array(
    '#type' => 'checkboxes',
    '#title' => t('Theme exclusions'),
    '#options' => drupal_map_assoc(array_keys(list_themes())),
    '#default_value' => variable_get('simplemenu_exclusions', array()),
    '#description' => t('Select which themes to <strong>not</strong> display the menu. Use this when you have a theme that displays its own admin navigation.'),
  );
  $form['default_menu']['advanced']['simplemenu_hide_delay'] = array(
    '#type' => 'textfield',
    '#title' => t('Hide delay'),
    '#size' => 4,
    '#default_value' => variable_get('simplemenu_hide_delay', 800),
    '#description' => t('How long (in milliseconds) should a menu still appear after losing focus.'),
  );
  $form['default_menu']['advanced']['simplemenu_effect'] = array(
    '#type' => 'radios',
    '#title' => t('Show effect'),
    '#options' => array(
      'opacity' => t('Fade'),
      'height' => t('Slide'),
      'none' => t('None'),
    ),
    '#default_value' => variable_get('simplemenu_effect', 'opacity'),
    '#description' => t('The effect used when displaying a menu.'),
  );
  $form['default_menu']['advanced']['simplemenu_effect_speed'] = array(
    '#type' => 'radios',
    '#title' => t('Show speed'),
    '#options' => array(
      'slow' => t('Slow'),
      'medium' => t('Medium'),
      'fast' => t('Fast'),
    ),
    '#default_value' => variable_get('simplemenu_effect_speed', 'fast'),
    '#description' => t('The speed of the effect, not used when "none" is set to show effect.'),
  );
  $form['default_menu']['advanced']['simplemenu_detect_popop'] = array(
    '#type' => 'checkbox',
    '#title' => t('Detect pop-up windows'),
    '#default_value' => variable_get('simplemenu_detect_popop', 1),
    '#description' => t("Choose whether SimpleMenu should attempt to detect if it is inside of a pop-up window.  If enabled, SimpleMenu will not display if it is inside of a pop-up window."),
  );
  $form['default_menu']['advanced']['simplemenu_visibility_operator'] = array(
    '#type' => 'radios',
    '#title' => t('Show block on specific pages'),
    '#default_value' => variable_get('simplemenu_visibility_operator', 0),
    '#options' => array(
      0 => t('Show on every page except the listed pages.'),
      1 => t('Show on only the listed pages.'),
    ),
  );
  $form['default_menu']['advanced']['simplemenu_visibility_pages'] = array(
    '#type' => 'textarea',
    '#title' => t('Pages'),
    '#default_value' => variable_get('simplemenu_visibility_pages', ''),
    '#description' => t("Enter one page per line as Drupal paths. The '*' character is a wildcard. Example paths are %blog for the blog page and %blog-wildcard for every personal blog. %front is the front page.", array(
      '%blog' => 'blog',
      '%blog-wildcard' => 'blog/*',
      '%front' => '<front>',
    )),
  );
  return system_settings_form($form);
}