function notifications_menu in Notifications 6.4
Same name and namespace in other branches
- 5 notifications.module \notifications_menu()
- 6 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 36 - 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'),
);
// Notifications and Subscription settings
$items['admin/messaging/notifications'] = array(
'title' => 'Notifications settings',
'description' => 'Configuration for Subscriptions and 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' => 'Main',
'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',
);
$items['admin/messaging/notifications/subscriptions'] = array(
'title' => 'Subscriptions',
'description' => 'Subscriptions settings.',
'page callback' => 'drupal_get_form',
'page arguments' => array(
'notifications_admin_subscriptions_settings',
),
'access arguments' => array(
'administer site configuration',
),
'file' => 'notifications.admin.inc',
'type' => MENU_LOCAL_TASK,
);
$items['admin/messaging/notifications/subscriptions/types'] = array(
'title' => 'Options',
'description' => 'Subscription options.',
'type' => MENU_DEFAULT_LOCAL_TASK,
'weight' => -10,
);
// 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' => t('Unsubscribe'),
'page callback' => 'notifications_page_unsubscribe',
'access callback' => TRUE,
'file' => 'notifications.pages.inc',
);
// Edit subscription, stand alone page
$items['notifications/subscription/%notifications_subscription'] = array(
'type' => MENU_CALLBACK,
'title' => 'Edit subscription',
'page callback' => 'notifications_subscription_edit_page',
'page arguments' => array(
2,
),
'access callback' => 'notifications_subscription_access',
'access arguments' => array(
'edit',
2,
),
'file' => 'notifications.pages.inc',
);
// Manage destinations
$items['notifications/destination/%messaging_destination/edit'] = array(
'type' => MENU_CALLBACK,
'title' => 'Edit destination',
'page callback' => 'drupal_get_form',
'page arguments' => array(
'notifications_edit_destination_form',
2,
),
'access callback' => 'notifications_destination_access',
'access arguments' => array(
'edit',
2,
),
'file' => 'notifications.manage.inc',
);
$items['notifications/destination/%messaging_destination/manage'] = array(
'type' => MENU_CALLBACK,
'title' => 'Manage destination',
'page callback' => 'drupal_get_form',
'page arguments' => array(
'notifications_manage_destination_form',
2,
),
'access callback' => 'notifications_destination_access',
'access arguments' => array(
'manage',
2,
),
'file' => 'notifications.manage.inc',
);
// User account tabs
$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',
);
// Edit subscription under subscriptions tab
$items['user/%user/notifications/subscriptions/edit/%notifications_subscription'] = array(
'type' => MENU_LOCAL_TASK,
'title' => 'Edit subscription',
'page callback' => 'drupal_get_form',
'page arguments' => array(
'notifications_subscription_edit_form',
5,
),
'access callback' => 'notifications_subscription_access',
'access arguments' => array(
'edit',
5,
),
'file' => 'notifications.pages.inc',
);
// Delete subscription under subscriptions tab
$items['user/%user/notifications/subscriptions/delete/%notifications_subscription'] = array(
'type' => MENU_LOCAL_TASK,
'title' => 'Delete subscription',
'page callback' => 'drupal_get_form',
'page arguments' => array(
'notifications_form_unsubscribe_confirm',
5,
),
'access callback' => 'notifications_subscription_access',
'access arguments' => array(
'unsubscribe',
5,
),
'file' => 'notifications.pages.inc',
);
$items['user/%user/notifications/update/%'] = array(
'type' => MENU_CALLBACK,
'title' => 'Update subscriptions',
'page callback' => 'drupal_get_form',
'page arguments' => array(
'notifications_update_user_subscriptions',
1,
4,
),
'access callback' => 'notifications_access_user',
'access arguments' => array(
1,
'maintain',
),
'file' => 'notifications.pages.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' => 'includes/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' => 'includes/node.inc',
);
// Manage existing subscriptions
$items['admin/messaging/subscriptions'] = array(
'title' => 'Manage subscriptions',
'description' => 'Manage existing subscriptions.',
'page callback' => 'drupal_get_form',
'page arguments' => array(
'notifications_admin_manage_subscriptions',
),
'access arguments' => array(
'administer notifications',
),
'file' => 'notifications.admin.inc',
);
$items['admin/messaging/subscriptions/admin'] = array(
'title' => 'Administer',
'description' => 'Administer subscriptions.',
'type' => MENU_DEFAULT_LOCAL_TASK,
'access arguments' => array(
'administer notifications',
),
);
$items['admin/messaging/subscriptions/status'] = array(
'title' => 'Status',
'description' => 'Summary of existing subscriptions.',
'page callback' => 'notifications_admin_status_page',
'access arguments' => array(
'administer notifications',
),
'file' => 'notifications.admin.inc',
'type' => MENU_LOCAL_TASK,
);
return $items;
}