Нужно при некоторых условиях в функции модуля выдать страницу 403. Но что-то рецепты 6-ки совсем не работают.
Пробовал<?php drupal_access_denied();?>
- зависает, входит в цикл, <?php return drupal_access_denied(); ?>
аналогично, <?php drupal_deliver_html_page(MENU_NOT_FOUND);?>
- тоже самое.
В 6-ке все норм работало, как в семерке это корректно сделать при произвольных ситуациях в коде?
Комментарии
А вот так
drupal_add_http_header('Status', '403 Forbidden');
Нет, это инструкция просто зацикливает - как и остальные. Сотни сообщений в журнале, что ошибка 403.
При условии конечно что у нас 403 не определена - хотя в других ситуациях все работает, при попытке влезть в админку к примеру
у вас не одного эта проблема https://api.drupal.org/api/drupal/includes%21common.inc/function/drupal_...
drupal_exit();
и указали бы где конкретно пытаетесь вызывать drupal_access_denied().
Уберите из настроек адрес 403 - и попробуйте, циклится в итоге. Где не пробуй - пробовал в THEME_preprocess_page, пробовал в MODULE_init - бесполезно, пока не допетрил, что адрес можно попробовать ввести в настройки для 403.