-
Notifications
You must be signed in to change notification settings - Fork 2
/
service_container.module
68 lines (58 loc) · 1.6 KB
/
service_container.module
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?php
/**
* @file
* Main module file for the service_container module.
*/
// -----------------------------------------------------------------------
// Core Hooks
/**
* Implements hook_stream_wrappers_alter().
*/
function service_container_stream_wrappers_alter(&$wrappers) {
if (class_exists('ServiceContainer')) {
ServiceContainer::init();
}
}
/**
* Implements hook_modules_enabled().
*/
function service_container_modules_enabled() {
if (class_exists('ServiceContainer')) {
ServiceContainer::reset();
ServiceContainer::init();
}
}
/**
* Implements hook_module_implements_alter().
*/
function service_container_module_implements_alter(&$implementations, $hook) {
// Moves our hook_init() implementation to occur first so that we
// can initialize the container.
if ($hook == 'stream_wrappers_alter') {
$group = $implementations['service_container'];
unset($implementations['service_container']);
$implementations = array('service_container' => $group) + $implementations;
}
}
// -----------------------------------------------------------------------
// Contrib Hooks
/**
* Implements hook_ctools_plugin_type().
*/
function service_container_ctools_plugin_type() {
$items['ServiceProvider'] = array(
'cache' => FALSE,
);
return $items;
}
/**
* Implements hook_ctools_plugin_directory().
*/
function service_container_ctools_plugin_directory($owner, $plugin_type) {
if ($owner == 'service_container') {
return 'src/ServiceContainer/' . $plugin_type;
}
return NULL;
}
// -----------------------------------------------------------------------
// Public API