You are here

anonymous_redirect.module in Anonymous Redirect 7

Same filename and directory in other branches
  1. 8.2 anonymous_redirect.module

File

anonymous_redirect.module
View source
<?php

/**
 * Implements hook_menu().
 */
function anonymous_redirect_menu() {
  $items = array();

  // Module settings.
  $items['admin/config/system/anonymous-redirect'] = array(
    'title' => 'Anonymous redirect',
    'description' => 'Enable and configure Anonymous Redirect settings.',
    'page callback' => 'drupal_get_form',
    'page arguments' => array(
      'anonymous_redirect_settings',
    ),
    'access arguments' => array(
      'administer site configuration',
    ),
    'file' => 'anonymous_redirect.admin.inc',
  );
  return $items;
}

/**
 * Implements hook_init().
 */
function anonymous_redirect_init() {
  global $base_url;

  // Only continue if the current request should be redirected.
  if (!variable_get('anonymous_redirect_enable', FALSE) || trim(variable_get('anonymous_redirect_base', '')) == '' || user_is_logged_in() || arg(0) == 'user' || drupal_is_cli()) {
    return;
  }

  // Make sure there isn't a redirect loop.
  $redirect_base = variable_get('anonymous_redirect_base', '');
  if ($redirect_base == $base_url) {
    return;
  }

  // Redirect.
  drupal_goto($redirect_base . '/' . request_path(), array(
    'query' => drupal_get_query_parameters(),
  ), 307);
}

Functions

Namesort descending Description
anonymous_redirect_init Implements hook_init().
anonymous_redirect_menu Implements hook_menu().