You are here

function user_pages_user_user_login_menu_alter in User Pages 6

Same name and namespace in other branches
  1. 7 plugins/tasks/user_login.inc \user_pages_user_user_login_menu_alter()
1 string reference to 'user_pages_user_user_login_menu_alter'
user_pages_user_login_page_manager_tasks in plugins/tasks/user_login.inc

File

plugins/tasks/user_login.inc, line 26

Code

function user_pages_user_user_login_menu_alter(&$items, $task) {
  if (variable_get('user_pages_user_user_login_disabled', TRUE)) {
    return;
  }

  //Since user/login is by default a local task, we need to do a little probing to find the callback.
  $is_default = $items['user/login']['type'] == MENU_DEFAULT_LOCAL_TASK && $items['user/login']['access callback'] == 'user_is_anonymous';

  // Override the menu item to point to our own function.
  if ($is_default || variable_get('user_pages_override_anyway', FALSE)) {
    $items['user/login']['page callback'] = 'user_pages_user_user_login';
    $items['user/login']['file path'] = $task['path'];
    $items['user/login']['file'] = $task['file'];
  }
  else {
    variable_set('user_pages_user_user_login_disabled', TRUE);
    if (!empty($GLOBALS['user_pages_user_enabling_user_login'])) {
      drupal_set_message(t('Page manager module is unable to enable this page because some other module already has overridden with %callback.', array(
        '%callback' => $callback,
      )), 'warning');
    }
    return;
  }
}