config_selector.module in Configuration selector 8.2
Same filename and directory in other branches
This is the Configuration Selector module.
File
config_selector.moduleView source
<?php
/**
* @file
* This is the Configuration Selector module.
*/
use Drupal\Core\Routing\RouteMatchInterface;
use Drupal\Core\Url;
/**
* Implements hook_help().
*/
function config_selector_help($route_name, RouteMatchInterface $route_match) {
switch ($route_name) {
case 'help.page.config_selector':
$output = '';
$output .= '<h3>' . t('About') . '</h3>';
$output .= '<p>' . t('The Configuration Selector module allows modules and install profiles to provide multiple versions of optional configuration.') . '</p>';
$output .= '<h3>' . t('Uses') . '</h3>';
$output .= '<dl>';
$output .= '<dt>' . t('Managing sets of configuration') . '</dt>';
$output .= '<dd>' . t('For example, if you want to provide a view that lists content that integrates with search_api or content_lock or both or neither. You can provide 4 different views in config/optional and as different dependencies are installed views are enabled and disabled according to a priority set with the configuration. Which configuration is enabled can be managed via the <a href=":ui_url">user interface</a>.', [
':ui_url' => Url::fromRoute('entity.config_selector_feature.collection'),
]) . '</dd>';
$output .= '</dl>';
return $output;
case 'entity.config_selector_feature.manage':
$output = '<p>' . t('Select which configuration entity is enabled as part of the feature. Selecting a disabled configuration entity will disable the currently selected.') . '</p>';
return $output;
}
}
/**
* Implements hook_module_preinstall().
*/
function config_selector_module_preinstall($module) {
\Drupal::service('config_selector')
->setCurrentConfigList($module);
}
/**
* Implements hook_modules_installed().
*/
function config_selector_modules_installed($modules) {
\Drupal::service('config_selector')
->selectConfigOnInstall($modules);
}
/**
* Implements hook_module_preuninstall().
*/
function config_selector_module_preuninstall($module) {
\Drupal::service('config_selector')
->setUninstallConfigList($module);
}
/**
* Implements hook_modules_uninstalled().
*/
function config_selector_modules_uninstalled($modules) {
\Drupal::service('config_selector')
->selectConfigOnUninstall();
}
/**
* Implements hook_module_implements_alter().
*/
function config_selector_module_implements_alter(&$implementations, $hook) {
// We try to ensure that our pre install/uninstall hooks happen before any
// other modules and our post install/uninstall hooks happen after. This means
// that if any other implementations after any configuration we should take
// this into account.
switch ($hook) {
// Move our hook_module_preinstall() and hook_module_preuninstall()
// implementations to the end of the list.
case 'module_preinstall':
case 'module_preuninstall':
$group = $implementations['config_selector'];
$implementations = [
'config_selector' => $group,
] + $implementations;
break;
// Move our hook_modules_installed() and hook_modules_uninstalled()
// implementations to the end of the list.
case 'modules_installed':
case 'modules_uninstalled':
$group = $implementations['config_selector'];
unset($implementations['config_selector']);
$implementations['config_selector'] = $group;
break;
}
}
Functions
Name | Description |
---|---|
config_selector_help | Implements hook_help(). |
config_selector_modules_installed | Implements hook_modules_installed(). |
config_selector_modules_uninstalled | Implements hook_modules_uninstalled(). |
config_selector_module_implements_alter | Implements hook_module_implements_alter(). |
config_selector_module_preinstall | Implements hook_module_preinstall(). |
config_selector_module_preuninstall | Implements hook_module_preuninstall(). |