-
Notifications
You must be signed in to change notification settings - Fork 0
/
features.module
57 lines (51 loc) · 1.75 KB
/
features.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
<?php
/**
* @file
* Main hooks for Features module.
*/
use Drupal\Core\Routing\RouteMatchInterface;
/**
* Implements hook_help().
*/
function features_help($route_name, RouteMatchInterface $route_match) {
switch ($route_name) {
case 'help.page.features':
$output = '';
$output .= '<h3>' . t('About') . '</h3>';
$output .= '<p>' . t('The Features module provides a user interface for exporting bundles of configuration into modules. For more information, see the online documentation for <a href=":url">Features module</a>', [
':url' => 'http://drupal.org/node/2404427',
]) . '</p>';
return $output;
}
}
/**
* Implements hook_file_download().
*/
function features_file_download($uri) {
$stream_wrapper_manager = \Drupal::service('stream_wrapper_manager');
$scheme = $stream_wrapper_manager->getScheme($uri);
$target = $stream_wrapper_manager->getTarget($uri);
if ($scheme == 'temporary' && $target) {
$request = \Drupal::request();
$route = $request->attributes->get('_route');
// Check if we were called by Features download route.
// No additional access checking needed here: route requires
// "export configuration" permission, token is validated by the controller.
// @see \Drupal\features\Controller\FeaturesController::downloadExport()
if ($route == 'features.export_download') {
return [
'Content-disposition' => 'attachment; filename="' . $target . '"',
];
}
}
}
/**
* Implements hook_modules_installed().
*/
function features_modules_installed($modules) {
if (!in_array('features', $modules)) {
/** @var \Drupal\features\FeaturesAssignerInterface $assigner */
$assigner = \Drupal::service('features_assigner');
$assigner->purgeConfiguration();
}
}