hook_init

Хочешь помочь с переводом? Это очень просто и быстро. Лишь зарегистрируйся, и можешь тут же начать переводить.

developer/hooks/core.php, строка 538

Версии
5 – 6
hook_init()

Выполняет задачи по инициализации.

Этот хук выполняется в самом начале запроса страницы. Он обычно используется для установки глобальных параметров, которые будут нужны позже в запросе.

Используйте этот хук только тогда, когда ваш код должен выполняться даже для закешированных страниц. Если вам нужно выполнить свой код для незакешированных страниц, используйте hook_menu(!$may_cache). Если вы реализовали hook_init() и после этого видите на сайте ошибки типа 'Call to undefined function', это больше всего похоже на то, что Друпал не успел загрузить необходимые модули, функции из которых вызываются в вашем хуке. Вызов происходит пока Друпал всё ещё находится в режиме bootstrap. Самое простое решение — вызывать ваш код из hook_menu(!$may_cache)

Примечание: Если у вас никак не выходит заставить работать этот хук, проверьте выставлено ли для этого модуля значение bootstrap = 1 в таблице system.

Возвращаемое значение

Нет.

Связанные темы

Код

<?php
function hook_init() {
  global $recent_activity;

  if ((variable_get('statistics_enable_auto_throttle', 0)) &&
    (!rand(0, variable_get('statistics_probability_limiter', 9)))) {

    $throttle = throttle_status();
    // if we're at throttle level 5, we don't do anything
    if ($throttle < 5) {
      $multiplier = variable_get('statistics_throttle_multiplier', 60);
      // count all hits in past sixty seconds
      $result = db_query('SELECT COUNT(timestamp) AS hits FROM
        {accesslog} WHERE timestamp >= %d', (time() - 60));
      $recent_activity = db_fetch_array($result);
      throttle_update($recent_activity['hits']);
    }
  }
}
?>
Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Вход в систему