You are here

function privatemsg_filter_menu in Privatemsg 6.2

Same name and namespace in other branches
  1. 6 privatemsg_filter/privatemsg_filter.module \privatemsg_filter_menu()
  2. 7.2 privatemsg_filter/privatemsg_filter.module \privatemsg_filter_menu()
  3. 7 privatemsg_filter/privatemsg_filter.module \privatemsg_filter_menu()

Implements hook_menu().

File

privatemsg_filter/privatemsg_filter.module, line 22
Allows users to tag private messages and to filter based upon those tags.

Code

function privatemsg_filter_menu() {
  $url_prefix = variable_get('privatemsg_url_prefix', 'messages');
  $user_arg_position = array_search('%user', explode('/', $url_prefix));
  $items['admin/settings/messages/filter'] = array(
    'title' => 'Filter',
    'description' => 'Configure filter settings.',
    'page callback' => 'drupal_get_form',
    'page arguments' => array(
      'privatemsg_filter_admin',
    ),
    'file' => 'privatemsg_filter.admin.inc',
    'access arguments' => array(
      'administer privatemsg settings',
    ),
    'type' => MENU_LOCAL_TASK,
  );
  $items['admin/settings/messages/tags'] = array(
    'title' => 'Tags',
    'description' => 'Configure tags.',
    'page callback' => 'privatemsg_tags_admin',
    'file' => 'privatemsg_filter.admin.inc',
    'access arguments' => array(
      'administer privatemsg settings',
    ),
    'type' => MENU_LOCAL_TASK,
    'file' => 'privatemsg_filter.admin.inc',
  );
  $items['admin/settings/messages/tags/list'] = array(
    'title' => 'List',
    'description' => 'List all existing tags.',
    'page callback' => 'privatemsg_tags_admin',
    'file' => 'privatemsg_filter.admin.inc',
    'access arguments' => array(
      'administer privatemsg settings',
    ),
    'type' => MENU_DEFAULT_LOCAL_TASK,
    'weight' => -10,
  );
  $items['admin/settings/messages/tags/add'] = array(
    'title' => 'Add',
    'description' => 'Add a new tag.',
    'page callback' => 'drupal_get_form',
    'page arguments' => array(
      'privatemsg_tags_form',
    ),
    'file' => 'privatemsg_filter.admin.inc',
    'access arguments' => array(
      'administer privatemsg settings',
    ),
    'type' => MENU_LOCAL_TASK,
  );
  $items['admin/settings/messages/tags/rebuild'] = array(
    'title' => 'Rebuild inbox',
    'description' => 'Tag all thread which should be displayed in the inbox.',
    'page callback' => 'drupal_get_form',
    'page arguments' => array(
      'privatemsg_filter_inbox_rebuid_form',
    ),
    'file' => 'privatemsg_filter.admin.inc',
    'access arguments' => array(
      'administer privatemsg settings',
    ),
    'type' => MENU_LOCAL_TASK,
  );
  $items['admin/settings/messages/tags/edit/%'] = array(
    'title' => 'Add',
    'description' => 'Configure tags.',
    'page callback' => 'drupal_get_form',
    'page arguments' => array(
      'privatemsg_tags_form',
      5,
    ),
    'file' => 'privatemsg_filter.admin.inc',
    'access arguments' => array(
      'administer privatemsg settings',
    ),
    'type' => MENU_CALLBACK,
  );
  $items['admin/settings/messages/tags/delete/%'] = array(
    'title' => 'Add',
    'description' => 'Configure tags.',
    'page callback' => 'drupal_get_form',
    'page arguments' => array(
      'privatemsg_filter_tags_delete',
      5,
    ),
    'file' => 'privatemsg_filter.admin.inc',
    'access arguments' => array(
      'administer privatemsg settings',
    ),
    'type' => MENU_CALLBACK,
  );
  $items[$url_prefix . '/inbox'] = array(
    'title' => 'Inbox',
    'page callback' => 'privatemsg_list_page',
    'page arguments' => array(
      'inbox',
      $user_arg_position,
    ),
    'file' => 'privatemsg.pages.inc',
    'file path' => drupal_get_path('module', 'privatemsg'),
    'access callback' => 'privatemsg_menu_access',
    'type' => variable_get('privatemsg_filter_default_list', 0) ? MENU_LOCAL_TASK : MENU_DEFAULT_LOCAL_TASK,
    'weight' => -15,
  );
  $items[$url_prefix . '/sent'] = array(
    'title' => 'Sent messages',
    'page callback' => 'privatemsg_list_page',
    'page arguments' => array(
      'sent',
      $user_arg_position,
    ),
    'file' => 'privatemsg.pages.inc',
    'file path' => drupal_get_path('module', 'privatemsg'),
    'access callback' => 'privatemsg_menu_access',
    'type' => MENU_LOCAL_TASK,
    'weight' => -12,
  );
  $items['messages/filter/autocomplete'] = array(
    'page callback' => 'privatemsg_autocomplete',
    'file' => 'privatemsg.pages.inc',
    'file path' => drupal_get_path('module', 'privatemsg'),
    'access callback' => 'privatemsg_menu_access',
    'access arguments' => array(
      'write privatemsg',
    ),
    'type' => MENU_CALLBACK,
  );
  $items['messages/filter/tag-autocomplete'] = array(
    'page callback' => 'privatemsg_filter_tags_autocomplete',
    'access callback' => 'privatemsg_menu_access',
    'access arguments' => array(
      'tag private messages',
    ),
    'type' => MENU_CALLBACK,
    'weight' => -10,
  );
  return $items;
}