function xautoload_module_implements_alter in X Autoload 7.4
Same name and namespace in other branches
- 7.5 xautoload.module \xautoload_module_implements_alter()
- 7.2 xautoload.module \xautoload_module_implements_alter()
- 7.3 xautoload.module \xautoload_module_implements_alter()
Implements hook_module_implements_alter()
Parameters
array &$implementations:
string $hook:
File
- ./
xautoload.module, line 72
Code
function xautoload_module_implements_alter(&$implementations, $hook) {
static $modules;
if (!isset($modules)) {
$modules = module_list();
}
// Some crazy stuff (like using l() in hook_enable()) can trigger hook
// invocation on just-enabled modules, before xautoload has a chance to
// register their namespaces. The only place to register these modules is
// here.
foreach ($implementations as $module => $group) {
if (empty($modules[$module])) {
// This module needs to be registered, to avoid a missing class error.
xautoload()->extensionRegistrationService
->registerExtensionsByName(array(
$module,
));
xautoload()->cacheManager
->renewCachePrefix();
$modules[$module] = $module;
}
}
// Most hook implementations are in dedicated files.
switch ($hook) {
case 'init':
case 'custom_theme':
// Move xautoload_$hook() to the start.
$implementations = array(
'xautoload' => FALSE,
) + $implementations;
break;
case 'form_system_performance_settings_alter':
$implementations['xautoload'] = 'ui';
module_load_include('ui.inc', 'xautoload');
break;
case 'modules_installed':
case 'modules_enabled':
case 'registry_files_alter':
$implementations['xautoload'] = 'system';
module_load_include('system.inc', 'xautoload');
break;
default:
return;
}
}