function user_menu
user_menu()
Implements hook_menu().
File
- modules/user/user.module, line 1634
- Enables the user registration and login system.
Code
function user_menu() { $items['user/autocomplete'] = array( 'title' => 'User autocomplete', 'page callback' => 'user_autocomplete', 'access callback' => 'user_access', 'access arguments' => array('access user profiles'), 'type' => MENU_CALLBACK, 'file' => 'user.pages.inc', ); // Registration and login pages. $items['user'] = array( 'title' => 'User account', 'title callback' => 'user_menu_title', 'page callback' => 'user_page', 'access callback' => TRUE, 'file' => 'user.pages.inc', 'weight' => -10, 'menu_name' => 'user-menu', ); $items['user/login'] = array( 'title' => 'Log in', 'access callback' => 'user_is_anonymous', 'type' => MENU_DEFAULT_LOCAL_TASK, ); $items['user/register'] = array( 'title' => 'Create new account', 'page callback' => 'drupal_get_form', 'page arguments' => array('user_register_form'), 'access callback' => 'user_register_access', 'type' => MENU_LOCAL_TASK, ); $items['user/password'] = array( 'title' => 'Request new password', 'page callback' => 'drupal_get_form', 'page arguments' => array('user_pass'), 'access callback' => TRUE, 'type' => MENU_LOCAL_TASK, 'file' => 'user.pages.inc', ); $items['user/reset/%/%/%'] = array( 'title' => 'Reset password', 'page callback' => 'drupal_get_form', 'page arguments' => array('user_pass_reset', 2, 3, 4), 'access callback' => TRUE, 'type' => MENU_CALLBACK, 'file' => 'user.pages.inc', ); $items['user/logout'] = array( 'title' => 'Log out', 'access callback' => 'user_is_logged_in', 'page callback' => 'user_logout', 'weight' => 10, 'menu_name' => 'user-menu', 'file' => 'user.pages.inc', ); // User listing pages. $items['admin/people'] = array( 'title' => 'People', 'description' => 'Manage user accounts, roles, and permissions.', 'page callback' => 'user_admin', 'page arguments' => array('list'), 'access arguments' => array('administer users'), 'position' => 'left', 'weight' => -4, 'file' => 'user.admin.inc', ); $items['admin/people/people'] = array( 'title' => 'List', 'description' => 'Find and manage people interacting with your site.', 'access arguments' => array('administer users'), 'type' => MENU_DEFAULT_LOCAL_TASK, 'weight' => -10, 'file' => 'user.admin.inc', ); // Permissions and role forms. $items['admin/people/permissions'] = array( 'title' => 'Permissions', 'description' => 'Determine access to features by selecting permissions for roles.', 'page callback' => 'drupal_get_form', 'page arguments' => array('user_admin_permissions'), 'access arguments' => array('administer permissions'), 'file' => 'user.admin.inc', 'type' => MENU_LOCAL_TASK, ); $items['admin/people/permissions/list'] = array( 'title' => 'Permissions', 'description' => 'Determine access to features by selecting permissions for roles.', 'type' => MENU_DEFAULT_LOCAL_TASK, 'weight' => -8, ); $items['admin/people/permissions/roles'] = array( 'title' => 'Roles', 'description' => 'List, edit, or add user roles.', 'page callback' => 'drupal_get_form', 'page arguments' => array('user_admin_roles'), 'access arguments' => array('administer permissions'), 'file' => 'user.admin.inc', 'type' => MENU_LOCAL_TASK, 'weight' => -5, ); $items['admin/people/permissions/roles/edit/%user_role'] = array( 'title' => 'Edit role', 'page arguments' => array('user_admin_role', 5), 'access callback' => 'user_role_edit_access', 'access arguments' => array(5), ); $items['admin/people/permissions/roles/delete/%user_role'] = array( 'title' => 'Delete role', 'page callback' => 'drupal_get_form', 'page arguments' => array('user_admin_role_delete_confirm', 5), 'access callback' => 'user_role_edit_access', 'access arguments' => array(5), 'file' => 'user.admin.inc', ); $items['admin/people/create'] = array( 'title' => 'Add user', 'page callback' => 'user_admin', 'page arguments' => array('create'), 'access arguments' => array('administer users'), 'type' => MENU_LOCAL_ACTION, 'file' => 'user.admin.inc', ); // Administration pages. $items['admin/config/people'] = array( 'title' => 'People', 'description' => 'Configure user accounts.', 'position' => 'left', 'weight' => -20, 'page callback' => 'system_admin_menu_block_page', 'access arguments' => array('access administration pages'), 'file' => 'system.admin.inc', 'file path' => drupal_get_path('module', 'system'), ); $items['admin/config/people/accounts'] = array( 'title' => 'Account settings', 'description' => 'Configure default behavior of users, including registration requirements, e-mails, fields, and user pictures.', 'page callback' => 'drupal_get_form', 'page arguments' => array('user_admin_settings'), 'access arguments' => array('administer users'), 'file' => 'user.admin.inc', 'weight' => -10, ); $items['admin/config/people/accounts/settings'] = array( 'title' => 'Settings', 'type' => MENU_DEFAULT_LOCAL_TASK, 'weight' => -10, ); $items['user/%user'] = array( 'title' => 'My account', 'title callback' => 'user_page_title', 'title arguments' => array(1), 'page callback' => 'user_view_page', 'page arguments' => array(1), 'access callback' => 'user_view_access', 'access arguments' => array(1), // By assigning a different menu name, this item (and all registered child // paths) are no longer considered as children of 'user'. When accessing the // user account pages, the preferred menu link that is used to build the // active trail (breadcrumb) will be found in this menu (unless there is // more specific link), so the link to 'user' will not be in the breadcrumb. 'menu_name' => 'navigation', ); $items['user/%user/view'] = array( 'title' => 'View', 'type' => MENU_DEFAULT_LOCAL_TASK, 'weight' => -10, ); $items['user/%user/cancel'] = array( 'title' => 'Cancel account', 'page callback' => 'drupal_get_form', 'page arguments' => array('user_cancel_confirm_form', 1), 'access callback' => 'user_cancel_access', 'access arguments' => array(1), 'file' => 'user.pages.inc', ); $items['user/%user/cancel/confirm/%/%'] = array( 'title' => 'Confirm account cancellation', 'page callback' => 'user_cancel_confirm', 'page arguments' => array(1, 4, 5), 'access callback' => 'user_cancel_access', 'access arguments' => array(1), 'file' => 'user.pages.inc', ); $items['user/%user/edit'] = array( 'title' => 'Edit', 'page callback' => 'drupal_get_form', 'page arguments' => array('user_profile_form', 1), 'access callback' => 'user_edit_access', 'access arguments' => array(1), 'type' => MENU_LOCAL_TASK, 'file' => 'user.pages.inc', ); $items['user/%user_category/edit/account'] = array( 'title' => 'Account', 'type' => MENU_DEFAULT_LOCAL_TASK, 'load arguments' => array('%map', '%index'), ); if (($categories = _user_categories()) && (count($categories) > 1)) { foreach ($categories as $key => $category) { // 'account' is already handled by the MENU_DEFAULT_LOCAL_TASK. if ($category['name'] != 'account') { $items['user/%user_category/edit/' . $category['name']] = array( 'title callback' => 'check_plain', 'title arguments' => array($category['title']), 'page callback' => 'drupal_get_form', 'page arguments' => array('user_profile_form', 1, 3), 'access callback' => isset($category['access callback']) ? $category['access callback'] : 'user_edit_access', 'access arguments' => isset($category['access arguments']) ? $category['access arguments'] : array(1), 'type' => MENU_LOCAL_TASK, 'weight' => $category['weight'], 'load arguments' => array('%map', '%index'), 'tab_parent' => 'user/%/edit', 'file' => 'user.pages.inc', ); } } } return $items; }
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/modules!user!user.module/function/user_menu/7.x