You are here

function _datereminder_menu in Date Reminder 7

Same name and namespace in other branches
  1. 6.2 includes/admin.settings.inc \_datereminder_menu()

Implements hook_menu().

Redirected from datereminder.module.

1 call to _datereminder_menu()
datereminder_menu in ./datereminder.module
Implements hook_menu().

File

./datereminder.admin.inc, line 12
Forms for administrative settings.

Code

function _datereminder_menu() {
  module_load_include('inc', 'datereminder', 'includes/defines');
  $astab = variable_get('datereminder_display_loc', DATEREMINDER_IN_NODE) == DATEREMINDER_AS_TAB;
  $cfgbase = 'admin/config/people/datereminder';
  $items = array();
  $items[$cfgbase] = array(
    'title' => 'Date reminders',
    'description' => 'Configure reminders for calendar events',
    'page callback' => 'drupal_get_form',
    'access arguments' => array(
      DATEREMINDER_ADMINISTER_REMINDERS,
    ),
    'page arguments' => array(
      'datereminder_settings_form',
    ),
    'file' => 'datereminder.admin.inc',
    'weight' => 0,
  );
  $items["{$cfgbase}/settings"] = array(
    'type' => MENU_DEFAULT_LOCAL_TASK,
    'title' => 'Configure Settings',
  );
  $items["{$cfgbase}/mail"] = array(
    'type' => MENU_LOCAL_TASK,
    'title' => 'Configure email',
    'description' => 'Set up reminder email content',
    'page callback' => 'drupal_get_form',
    'page arguments' => array(
      'datereminder_email_form',
    ),
    'access arguments' => array(
      DATEREMINDER_ADMINISTER_REMINDERS,
    ),
    'file' => 'datereminder.admin.inc',
    'weight' => 5,
  );
  $items["{$cfgbase}/view"] = array(
    'type' => MENU_LOCAL_TASK,
    'title' => 'View all',
    'description' => 'View all reminders',
    'page callback' => 'drupal_get_form',
    'page arguments' => array(
      'datereminder_form_summary',
      NULL,
      'all',
      'm',
    ),
    'access arguments' => array(
      DATEREMINDER_ADMINISTER_REMINDERS,
    ),
    'weight' => 10,
  );
  $items['user/%user/datereminder'] = array(
    'type' => MENU_LOCAL_TASK,
    'title' => 'Reminders',
    'description' => 'Outstanding reminders for this user',
    'page callback' => 'drupal_get_form',
    'page arguments' => array(
      'datereminder_form_summary',
      1,
      'all_user',
      'm',
    ),
    'access callback' => 'datereminder_allowed_access_user',
    'access arguments' => array(
      1,
    ),
  );

  /* Different menus installed depending on where reminders are displayed */
  if ($astab) {
    $items['node/%node/datereminder'] = array(
      'type' => MENU_LOCAL_TASK,
      'title' => 'Reminders',
      'description' => 'Your reminders for this event',
      'access callback' => 'datereminder_allowed_access_node',
      'access arguments' => array(
        1,
        'own',
        DATEREMINDER_AS_TAB,
      ),
      'page callback' => 'drupal_get_form',
      'page arguments' => array(
        'datereminder_form',
        1,
        'm',
      ),
    );
    $items['node/%node/datereminder/mine'] = array(
      'type' => MENU_DEFAULT_LOCAL_TASK,
      'title' => 'Your Reminders',
      'weight' => -10,
    );
    $items['node/%node/datereminder/all'] = array(
      'type' => MENU_LOCAL_TASK,
      'title' => 'All For This Event',
      'description' => 'All reminders for this event',
      'access callback' => 'datereminder_allowed_access_node',
      'access arguments' => array(
        1,
        'all',
        DATEREMINDER_AS_TAB,
      ),
      'page callback' => 'drupal_get_form',
      'page arguments' => array(
        'datereminder_form_summary',
        1,
        'all_node',
        'm',
      ),
    );
  }
  else {
    $items['node/%node/datereminder'] = array(
      'type' => MENU_LOCAL_TASK,
      'title' => 'All Reminders',
      'description' => 'All reminders for this event',
      'access callback' => 'datereminder_allowed_access_node',
      'access arguments' => array(
        1,
        'all',
        DATEREMINDER_IN_NODE,
      ),
      'page callback' => 'drupal_get_form',
      'page arguments' => array(
        'datereminder_form_summary',
        1,
        'all_node',
        'm',
      ),
    );
  }
  return $items;
}