module_implements

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

includes/module.inc, строка 340

Версии
5 – 6
module_implements($hook, $sort = FALSE, $refresh = FALSE)

Определяет какие модули реализуют хук.

Параметры

$hook Имя хука (например, 'help' или 'menu').

$sort По умолчанию модули сортируются сначала по весу, затем по имени файла. Если этот параметр установлен в TRUE, модули будут отсортированы только по имени.

$refresh Только для внутреннего использования: обновлять ли кешированный список реализаций хуков в модулях (например, после включения модуля но до вызова hook_enable()).

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

Массив имён модулей, которые реализуют этот хук.

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

▾ 23 функции вызывают module_implements()

comment_invoke_comment in modules/comment/comment.module
Invoke a hook_comment() operation in all modules.
comment_render in modules/comment/comment.module
Отображает комментарии.
drupal_mail in includes/common.inc
Send an e-mail message, using Drupal variables and default settings. More information in the PHP function reference for mail()
drupal_prepare_form in includes/form.inc
Подготавливает полный массив формы, добавляя в него недостающие значения по-умолчанию, вызывая нужные хуки, а также, опционально, выставляя токены валидации для некоторых полей, чтобы обезопасить форму от несанкционированных вмешательств.
help_links_as_list in modules/help/help.module
help_menu in modules/help/help.module
Реализация hook_menu().
module_disable in includes/module.inc
Disable a given set of modules.
module_enable in includes/module.inc
Включает данный список модулей.
module_invoke_all in includes/module.inc
Вызывает хук во всех включённых модулях.
node_access_rebuild in modules/node/node.module
Rebuild the node access database. This is occasionally needed by modules that make system-wide changes to access levels.
node_access_write_grants in modules/node/node.module
This function will write a list of grants to the database, deleting any pre-existing grants. If a realm is provided, it will only delete grants from that realm, but it will always delete a grant from the 'all' realm. Modules which utilize...
node_configure in modules/node/node.module
Menu callback; presents general node configuration options.
node_invoke_nodeapi in modules/node/node.module
Вызывает операцию hook_nodeapi() во всех модулях.
node_view in modules/node/node.module
Генерирует вывод ноды.
search_preprocess in modules/search/search.module
Invokes hook_search_preprocess() in modules.
system_performance_settings in modules/system/system.module
taxonomy_link in modules/taxonomy/taxonomy.module
Реализация hook_link().
upload_js in modules/upload/upload.module
Коллбэк меню для JavaScript загрузок файлов.
user_authenticate in modules/user/user.module
user_auth_help_links in modules/user/user.module
user_view in modules/user/user.module
_db_rewrite_sql in includes/database.inc
Вспомогательная функция для db_rewrite_sql().
_element_info in includes/form.inc
Retrieve the default properties for the defined element type.

Код

<?php
function module_implements($hook, $sort = FALSE, $refresh = FALSE) {
  static $implementations;

  if ($refresh) {
    $implementations = array();
    return;
  }

  if (!isset($implementations[$hook])) {
    $implementations[$hook] = array();
    $list = module_list(FALSE, TRUE, $sort);
    foreach ($list as $module) {
      if (module_hook($module, $hook)) {
        $implementations[$hook][] = $module;
      }
    }
  }

  // The explicit cast forces a copy to be made. This is needed because
  // $implementations[$hook] is only a reference to an element of
  // $implementations and if there are nested foreaches (due to nested node
  // API calls, for example), they would both manipulate the same array's
  // references, which causes some modules' hooks not to be called.
  // See also http://www.zend.com/zend/art/ref-count.php.
  return (array)$implementations[$hook];
}
?>
Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

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