You are here

function glossary_menu in Glossary 7

Same name and namespace in other branches
  1. 5.2 glossary.module \glossary_menu()
  2. 5 glossary.module \glossary_menu()
  3. 6 glossary.module \glossary_menu()

Implements hook_menu().

File

./glossary.module, line 64
Glossary terms will be automatically marked with links to their descriptions.

Code

function glossary_menu() {
  $items = array();
  $items['glossary'] = array(
    'title' => 'Glossary',
    'page callback' => 'glossary_page',
    'page arguments' => array(
      1,
      2,
    ),
    'access arguments' => array(
      'access glossary',
    ),
    'type' => MENU_SUGGESTED_ITEM,
  );
  $items['admin/content/glossary'] = array(
    'title' => 'Glossary',
    'page callback' => 'glossary_page',
    'page arguments' => array(
      1,
      2,
    ),
    'access arguments' => array(
      'access glossary',
    ),
    'type' => MENU_NORMAL_ITEM,
  );
  $items['glossary/search'] = array(
    'title' => 'Glossary Search',
    'page callback' => 'glossary_search_results',
    'page arguments' => array(
      2,
    ),
    'access arguments' => array(
      'access glossary',
    ),
    'type' => MENU_CALLBACK,
  );
  $items['admin/config/content/glossary'] = array(
    'title' => 'Glossary Settings',
    'page callback' => 'drupal_get_form',
    'page arguments' => array(
      'glossary_general_settings_form',
    ),
    'description' => 'Select how you want the Glossary module to behave.',
    'access arguments' => array(
      'administer filters',
    ),
    'type' => MENU_NORMAL_ITEM,
    'file' => 'glossary.admin.inc',
  );
  $items['admin/config/content/glossary/general'] = array(
    'title' => 'General',
    'description' => 'General settings',
    'page callback' => 'drupal_get_form',
    'page arguments' => array(
      'glossary_general_settings_form',
    ),
    'access arguments' => array(
      'administer filters',
    ),
    'type' => MENU_DEFAULT_LOCAL_TASK,
    'weight' => -3,
    'file' => 'glossary.admin.inc',
  );
  $items['admin/config/content/glossary/alphabet'] = array(
    'title' => 'Alphabet',
    'access arguments' => array(
      'administer filters',
    ),
    'page callback' => 'drupal_get_form',
    'page arguments' => array(
      'glossary_alphabet_form',
    ),
    'description' => 'Alphabet settings.',
    'type' => MENU_LOCAL_TASK,
    'weight' => 0,
    'file' => 'glossary.admin.inc',
  );
  $result = db_query('SELECT format, name FROM {filter_format}');
  foreach ($result as $filter) {
    $format = $filter->format;
    $enabled = db_query("SELECT COUNT(*) FROM {filter} WHERE format = :format AND module = :module", array(
      ':format' => $format,
      ':module' => 'glossary',
    ))
      ->fetchField();
    if ($enabled || !variable_get('glossary_hide_menus', FALSE)) {
      $name = $filter->name;
      $items['admin/config/content/glossary/filter/' . $format] = array(
        'title' => '!name',
        'title arguments' => array(
          '!name' => $name,
        ),
        'access arguments' => array(
          'administer filters',
        ),
        'page callback' => 'drupal_get_form',
        'page arguments' => array(
          'glossary_filter_form',
          5,
        ),
        'description' => 'Settings for the !name input format.',
        array(
          '!name' => $name,
        ),
        'weight' => 2,
        'type' => MENU_LOCAL_TASK,
        'file' => 'glossary.admin.inc',
      );
    }
  }
  $items['glossary/term/%'] = array(
    'title' => 'Glossary',
    'page callback' => 'glossary_term',
    'page arguments' => array(
      2,
    ),
    'access arguments' => array(
      'access glossary',
    ),
    'type' => MENU_CALLBACK,
  );
  return $items;
}