function module_hook

Determines whether a module implements a hook.

Parameters

$module: The name of the module (without the .module extension).

$hook: The name of the hook (e.g. "help" or "menu").

Return value

TRUE if the module is both installed and enabled, and the hook is implemented in that module.

Related topics

9 calls to module_hook()
drupal_check_module in includes/install.inc
Checks a module's requirements.
field_help in modules/field/field.module
Implements hook_help().
field_system_info_alter in modules/field/field.module
Implements hook_system_info_alter().
help_page in modules/help/help.admin.inc
Menu callback; prints a page listing general help for a module.
module_disable in includes/module.inc
Disables a given set of modules.

... See full list

File

includes/module.inc, line 688

Code

function module_hook($module, $hook) {
    $function = $module . '_' . $hook;
    if (function_exists($function)) {
        return TRUE;
    }
    // If the hook implementation does not exist, check whether it may live in an
    // optional include file registered via hook_hook_info().
    $hook_info = module_hook_info();
    if (isset($hook_info[$hook]['group'])) {
        module_load_include('inc', $module, $module . '.' . $hook_info[$hook]['group']);
        if (function_exists($function)) {
            return TRUE;
        }
    }
    return FALSE;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.