_menu_site_is_offline
includes/menu.inc, строка 2451
- Версии
- 5 – 6
_menu_site_is_offline()
Проверяет, находится ли сайт в автономном режиме "на обслуживании".
Эта функция будет осуществлять процедуру выхода текущего пользователя из системы и переадресации на главную страницу, если текущий пользователь не имеет разрешения "управлять настройками сайта".
Возвращаемое значение
FALSE
, если сайт не находится в режиме "на обслуживании", или текущая страница - страница входа, или если текущий пользователь не имеет разрешения "управлять настройками сайта".
TRUE
для анонимных пользователей не находящихся на странице входа, если сайт находится в автономном режиме "на обслуживании".
Связанные темы
Код
<?php
function _menu_site_is_offline() {
// Check if site is set to off-line mode.
if (variable_get('site_offline', 0)) {
// Check if the user has administration privileges.
if (user_access('administer site configuration')) {
// Ensure that the off-line message is displayed only once [allowing for
// page redirects], and specifically suppress its display on the site
// maintenance page.
if (drupal_get_normal_path($_GET['q']) != 'admin/settings/site-maintenance') {
drupal_set_message(l(t('Operating in off-line mode.'), 'admin/settings/site-maintenance'), 'status', FALSE);
}
}
else {
// Anonymous users get a FALSE at the login prompt, TRUE otherwise.
if (user_is_anonymous()) {
return $_GET['q'] != 'user' && $_GET['q'] != 'user/login';
}
// Logged in users are unprivileged here, so they are logged out.
require_once drupal_get_path('module', 'user') .'/user.pages.inc';
user_logout();
}
}
return FALSE;
}
?>
Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии