You are here

function drupal_not_found in Drupal 5

Same name and namespace in other branches
  1. 4 includes/common.inc \drupal_not_found()
  2. 6 includes/common.inc \drupal_not_found()
  3. 7 includes/common.inc \drupal_not_found()

Generates a 404 error if the request can not be handled.

34 calls to drupal_not_found()
blogapi_blogapi in modules/blogapi/blogapi.module
blog_page in modules/blog/blog.module
Menu callback; displays a Drupal page containing recent blog entries.
blog_page_user in modules/blog/blog.module
Displays a Drupal page containing recent blog entries of a given user.
book_admin_edit in modules/book/book.module
Display an administrative view of the hierarchy of a book.
book_export in modules/book/book.module
Menu callback; Generates various representation of a book page with all descendants and prints the requested representation to output.

... See full list

File

includes/common.inc, line 354
Common functions that many Drupal modules will need to reference.

Code

function drupal_not_found() {
  drupal_set_header('HTTP/1.1 404 Not Found');
  watchdog('page not found', check_plain($_GET['q']), WATCHDOG_WARNING);

  // Keep old path for reference
  if (!isset($_REQUEST['destination'])) {
    $_REQUEST['destination'] = $_GET['q'];
  }
  $path = drupal_get_normal_path(variable_get('site_404', ''));
  if ($path && $path != $_GET['q']) {
    menu_set_active_item($path);
    $return = menu_execute_active_handler();
  }
  else {

    // Redirect to a non-existent menu item to make possible tabs disappear.
    menu_set_active_item('');
  }
  if (empty($return) || $return == MENU_NOT_FOUND || $return == MENU_ACCESS_DENIED) {
    drupal_set_title(t('Page not found'));
    menu_set_active_item('');
    $return = '';
  }

  // To conserve CPU and bandwidth, omit the blocks
  print theme('page', $return, FALSE);
}