Didn't mean to commit that yet.

5.x
Neil Drumm 2006-09-01 06:24:10 +00:00
parent 06c9841480
commit 9cf7158058
2 changed files with 23 additions and 69 deletions

View File

@ -318,22 +318,16 @@ function drupal_site_offline() {
*/
function drupal_not_found() {
drupal_set_header('HTTP/1.0 404 Not Found');
watchdog('page not found', check_plain($_GET['q']), WATCHDOG_WARNING);
$return = '';
if (variable_get('site_404_message_display', TRUE)) {
$message = variable_get('site_404_message', t('We are sorry, the requested page was not found on this webserver. Either the URL does not exist or the page you were looking has been deleted.'));
drupal_set_message(filter_xss_admin($message));
}
// Keep old path for reference
if (!isset($_REQUEST['destination'])) {
$_REQUEST['destination'] = $_GET['q'];
}
$path = drupal_get_normal_path(variable_get('site_404', ''));
if (!empty($path) && $path != $_GET['q']) {
if ($path && $path != $_GET['q']) {
menu_set_active_item($path);
$return = menu_execute_active_handler();
}
@ -342,9 +336,8 @@ function drupal_not_found() {
menu_set_active_item('');
}
if (empty($return) || $return == MENU_NOT_FOUND || $return == MENU_ACCESS_DENIED) {
drupal_set_title(t('404 - File not found'));
$return = ' ';
if (empty($return)) {
drupal_set_title(t('Page not found'));
}
// To conserve CPU and bandwidth, omit the blocks
print theme('page', $return, FALSE);
@ -357,20 +350,13 @@ function drupal_access_denied() {
drupal_set_header('HTTP/1.0 403 Forbidden');
watchdog('access denied', check_plain($_GET['q']), WATCHDOG_WARNING);
$return = '';
if (variable_get('site_403_message_display', TRUE)) {
$message = variable_get('site_403_message', t('We are sorry, you do not have access to this page. If you are not already logged in, please try to login and then visit this page again. If you think should be able to access this page, please contact site admins.'));
drupal_set_message(filter_xss_admin($message));
}
// Keep old path for reference
// Keep old path for reference
if (!isset($_REQUEST['destination'])) {
$_REQUEST['destination'] = $_GET['q'];
}
$path = drupal_get_normal_path(variable_get('site_403', ''));
if (!empty($path) && $path != $_GET['q']) {
if ($path && $path != $_GET['q']) {
menu_set_active_item($path);
$return = menu_execute_active_handler();
}
@ -379,9 +365,9 @@ function drupal_access_denied() {
menu_set_active_item('');
}
if (empty($return) || $return == MENU_NOT_FOUND || $return == MENU_ACCESS_DENIED) {
drupal_set_title(t('403 - Access denied'));
$return = ' ';
if (empty($return)) {
drupal_set_title(t('Access denied'));
$return = t('You are not authorized to access this page.');
}
print theme('page', $return);
}

View File

@ -550,67 +550,35 @@ function system_clean_url_settings() {
}
function system_error_reporting_settings() {
$form['403'] = array(
'#type' => 'fieldset',
'#title' => t('Access denied page (403)'),
'#description' => t('These settings apply when the requested document is denied to the current user, i.e. a <em>403 error</em>.'),
);
$form['403']['site_403'] = array(
$form['site_403'] = array(
'#type' => 'textfield',
'#title' => t('Page to display'),
'#title' => t('Default 403 (access denied) page'),
'#default_value' => variable_get('site_403', ''),
'#description' => t('This page is displayed when a 403 error occurs. If you are not using clean URLs, specify the part after "<code>?q=</code>". If unsure, leave blank.'),
'#description' => t('This page is displayed when the requested document is denied to the current user. If you are not using clean URLs, specify the part after "<code>?q=</code>". If unsure, specify nothing.')
);
$form['403']['site_403_message_display'] = array(
'#type' => 'checkbox',
'#title' => t('Display error message'),
'#description' => t('Enabling this feature will display the message below when a 403 error occurs, even if <em>"Page to display"</em> is set.'),
'#default_value' => variable_get('site_403_message_display', TRUE),
);
$form['403']['site_403_message'] = array(
'#type' => 'textarea',
'#title' => t('Message'),
'#default_value' => variable_get('site_403_message', t('We are sorry, you do not have access to this page. If you are not already logged in, please try to login and then visit this page again. If you think should be able to access this page, please contact site admins.')),
);
$form['404'] = array(
'#type' => 'fieldset',
'#title' => t('File not found page (404)'),
'#description' => t('These settings apply when the requested document could not be found, i.e. a <em>404 error</em>.'),
);
$form['404']['site_404'] = array(
$form['site_404'] = array(
'#type' => 'textfield',
'#title' => t('Page to display'),
'#title' => t('Default 404 (not found) page'),
'#default_value' => variable_get('site_404', ''),
'#description' => t('This page is displayed when a 404 error occurs. If you are not using clean URLs, specify the part after "<code>?q=</code>". If unsure, leave blank.'),
'#description' => t('This page is displayed when no other content matches the requested document. If you are not using clean URLs, specify the part after "<code>?q=</code>". If unsure, specify nothing.')
);
$form['404']['site_404_message_display'] = array(
'#type' => 'checkbox',
'#title' => t('Display error message'),
'#description' => t('Enabling this feature will display the message below when a 404 error occurs, even if <em>"Page to display"</em> is set.'),
'#default_value' => variable_get('site_404_message_display', TRUE),
);
$form['404']['site_404_message'] = array(
'#type' => 'textarea',
'#title' => t('Message'),
'#default_value' => variable_get('site_404_message', t('We are sorry, the requested page was not found on this webserver. Either the URL does not exist or the page you were looking has been deleted.')),
);
$form['error'] = array(
'#type' => 'fieldset',
'#title' => t('Other error handling'),
);
$form['error']['error_level'] = array(
$form['error_level'] = array(
'#type' => 'select', '#title' => t('Error reporting'), '#default_value' => variable_get('error_level', 1),
'#options' => array(t('Write errors to the log'), t('Write errors to the log and to the screen')),
'#description' => t('Where Drupal, PHP and SQL errors are logged. On a production server it is recommended that errors are only written to the error log. On a test server it can be helpful to write logs to the screen.'),
'#description' => t('Where Drupal, PHP and SQL errors are logged. On a production server it is recommended that errors are only written to the error log. On a test server it can be helpful to write logs to the screen.')
);
$period = drupal_map_assoc(array(3600, 10800, 21600, 32400, 43200, 86400, 172800, 259200, 604800, 1209600, 2419200), 'format_interval');
$period['1000000000'] = t('Never');
$form['error']['watchdog_clear'] = array(
$form['watchdog_clear'] = array(
'#type' => 'select',
'#title' => t('Discard log entries older than'),
'#default_value' => variable_get('watchdog_clear', 604800),
'#options' => $period,
'#description' => t('The time log entries should be kept. Older entries will be automatically discarded. Requires crontab.'),
'#description' => t('The time log entries should be kept. Older entries will be automatically discarded. Requires crontab.')
);
return system_settings_form($form);