Как скрыть просмотр профиля администратора? user/1

Главные вкладки

Аватар пользователя guban guban 16 мая 2018 в 16:53

Здравствуйте. Как скрыть user/1 от анонимных и зарегистрированных пользователей?

Код в user-profile.tpl.php (сам файл подключается) не сработал.


<?php
    
global $user;
    if (
$user->uid != 1){ // если профиль просматривает не суперадмин
        
if ($account->uid != $user->uid){ // и если профиль не его собственный
            
drupal_access_denied(); // то вернуть 403 (Доступ к данной странице закрыт)
            
exit;
        }
    }
?>

Нужно всем сделать 403.

Комментарии

Аватар пользователя VasyOK VasyOK 16 мая 2018 в 16:57

А что там можно найти в профиле админа, даже если его можно посмотреть? На нескольких сайтах посмотрел, вроде доступ заперещен анонимам.

Аватар пользователя OldWarrior OldWarrior 16 мая 2018 в 17:17

Try this:
...
drupal_access_denied();
module_invoke_all('exit');
drupal_exit();

Собственно, вместо drupal_exit() можно и просто return, если вызов из функции препроцесса.

Аватар пользователя OldWarrior OldWarrior 16 мая 2018 в 17:48

Вообще - вы как-то странно разместили проверку в tpl, лучше бы в модуле это делать или на худой конец в template.php (например, template_preprocess_page).

Аватар пользователя guban guban 16 мая 2018 в 18:18

Спасибо. Упустил этот момент, что в самой админке это сделано. Видимо когда-то давно в тестах включил это, а может изначально было...