function notifications_menu in Notifications 6
Same name and namespace in other branches
- 5 notifications.module \notifications_menu()
- 6.4 notifications.module \notifications_menu()
- 6.2 notifications.module \notifications_menu()
- 6.3 notifications.module \notifications_menu()
- 7 notifications.module \notifications_menu()
Implementation of hook_menu().
File
- ./
notifications.module, line 32 - Notifications module
Code
function notifications_menu() {
// Administration. This one will override messaging menu item
$items['admin/messaging'] = array(
'title' => 'Messaging & Notifications',
'access arguments' => array(
'administer notifications',
),
'description' => 'Administer and configure messaging and notifications',
'page callback' => 'system_admin_menu_block_page',
'file' => 'system.admin.inc',
'file path' => drupal_get_path('module', 'system'),
);
$items['admin/messaging/subscriptions'] = array(
'title' => 'Manage subscriptions',
'description' => 'Manage existing subscriptions and queue.',
'page callback' => 'notifications_admin_status_page',
'access arguments' => array(
'administer notifications',
),
'file' => 'notifications.admin.inc',
);
$items['admin/messaging/subscriptions/overview'] = array(
'title' => 'Overview',
'description' => 'Subscriptions overview.',
'type' => MENU_DEFAULT_LOCAL_TASK,
'weight' => -10,
'file' => 'notifications.admin.inc',
);
$items['admin/messaging/subscriptions/admin'] = array(
'title' => 'Administer',
'description' => 'Administer subscriptions.',
'type' => MENU_LOCAL_TASK,
'page callback' => 'drupal_get_form',
'page arguments' => array(
'notifications_manage_admin_subscriptions',
),
'access arguments' => array(
'administer notifications',
),
'file' => 'notifications.manage.inc',
);
$items['admin/messaging/subscriptions/queue'] = array(
'title' => 'Queue',
'description' => 'Notifications queue.',
'page callback' => 'notifications_admin_queue',
'type' => MENU_LOCAL_TASK,
'access arguments' => array(
'administer notifications',
),
'file' => 'notifications.admin.inc',
);
// Site settings
$items['admin/messaging/notifications'] = array(
'title' => 'Notifications Settings',
'description' => 'Site settings for user notifications.',
'page callback' => 'drupal_get_form',
'page arguments' => array(
'notifications_settings_form',
),
'access arguments' => array(
'administer site configuration',
),
'file' => 'notifications.admin.inc',
);
$items['admin/messaging/notifications/settings'] = array(
'title' => 'General',
'weight' => -10,
'type' => MENU_DEFAULT_LOCAL_TASK,
'file' => 'notifications.admin.inc',
);
$items['admin/messaging/notifications/intervals'] = array(
'title' => 'Intervals',
'page callback' => 'drupal_get_form',
'page arguments' => array(
'notifications_send_intervals_form',
),
'type' => MENU_LOCAL_TASK,
'access arguments' => array(
'administer site configuration',
),
'file' => 'notifications.admin.inc',
);
$items['admin/messaging/notifications/events'] = array(
'title' => 'Events',
'page callback' => 'drupal_get_form',
'page arguments' => array(
'notifications_admin_events_form',
),
'type' => MENU_LOCAL_TASK,
'access arguments' => array(
'administer site configuration',
),
'file' => 'notifications.admin.inc',
);
// Subscribe links. For this items access will be checked later in the page
$items['notifications/subscribe/%user'] = array(
'type' => MENU_CALLBACK,
'page callback' => 'notifications_page_subscribe',
'page arguments' => array(
2,
),
'access callback' => 'notifications_access_subscribe',
'access arguments' => array(
2,
),
'file' => 'notifications.pages.inc',
);
// Unsubscribe links This page will need to work with anonymous users
$items['notifications/unsubscribe'] = array(
'type' => MENU_CALLBACK,
'page callback' => 'notifications_page_unsubscribe',
'page arguments' => array(
2,
3,
),
'access callback' => TRUE,
'file' => 'notifications.pages.inc',
);
// Edit subscription
$items['notifications/subscription/%notifications_subscription'] = array(
'type' => MENU_CALLBACK,
'title' => 'Subscription',
'page callback' => 'drupal_get_form',
'page arguments' => array(
'notifications_subscription_form',
2,
),
'access callback' => 'notifications_subscription_access',
'access arguments' => array(
'edit',
2,
),
'file' => 'notifications.pages.inc',
);
$items['user/%user/notifications'] = array(
'type' => MENU_LOCAL_TASK,
'title' => 'Notifications',
//'page callback' => 'notifications_page_user_overview',
//'page arguments' => array(1),
'page callback' => 'drupal_get_form',
'page arguments' => array(
'notifications_user_overview',
1,
),
'access callback' => 'notifications_access_user',
'access arguments' => array(
1,
),
'file' => 'notifications.pages.inc',
);
$items['user/%user/notifications/overview'] = array(
'type' => MENU_DEFAULT_LOCAL_TASK,
'title' => 'Overview',
'weight' => -10,
);
$items['user/%user/notifications/subscriptions'] = array(
'type' => MENU_LOCAL_TASK,
'title' => 'Subscriptions',
'page callback' => 'drupal_get_form',
'page arguments' => array(
'notifications_manage_user_subscriptions',
1,
),
'access callback' => 'notifications_access_user',
'access arguments' => array(
1,
'manage',
),
'file' => 'notifications.manage.inc',
);
// Some autocomplete callbacks
$items['notifications/autocomplete/node/title'] = array(
'title' => 'Node title autocomplete',
'page callback' => 'notifications_node_autocomplete_title',
'access arguments' => array(
'access content',
),
'type' => MENU_CALLBACK,
'file' => 'notifications.node.inc',
);
// Some autocomplete callbacks
$items['notifications/autocomplete/node/type'] = array(
'title' => 'Node title autocomplete',
'page callback' => 'notifications_node_autocomplete_type',
'access arguments' => array(
'access content',
),
'type' => MENU_CALLBACK,
'file' => 'notifications.node.inc',
);
return $items;
}