function easy_install_form_alter in Easy Install 8.9
Same name and namespace in other branches
- 8.10 easy_install.module \easy_install_form_alter()
- 8.2 easy_install.module \easy_install_form_alter()
- 8.3 easy_install.module \easy_install_form_alter()
- 8.4 easy_install.module \easy_install_form_alter()
- 8.5 easy_install.module \easy_install_form_alter()
- 8.6 easy_install.module \easy_install_form_alter()
- 8.7 easy_install.module \easy_install_form_alter()
- 8.8 easy_install.module \easy_install_form_alter()
Implements hook_form_alter().
File
- ./
easy_install.module, line 15 - Easy uninstall module file.
Code
function easy_install_form_alter(&$form, FormStateInterface $form_state, $form_id) {
$form_ids = [
'system_modules_uninstall_confirm_form',
];
if (in_array($form_id, $form_ids)) {
$modules = \Drupal::service('keyvalue.expirable')
->get('modules_uninstall')
->get(\Drupal::currentUser()
->id());
foreach ($modules as $module) {
$install_dir = drupal_get_path('module', $module) . '/' . InstallStorage::CONFIG_INSTALL_DIRECTORY;
$optional_dir = drupal_get_path('module', $module) . '/' . InstallStorage::CONFIG_OPTIONAL_DIRECTORY;
$install_details = file_scan_directory($install_dir, "/\\.(yml)\$/");
if (!empty($install_details)) {
$form['modules_config'][$module] = [
'#type' => 'details',
'#title' => t('@name', [
'@name' => $module,
]),
'#description' => t('We found that @description module have configurations with it, if you like to delete it Please select the checkbox', [
'@description' => $module,
]),
'#weight' => 0,
'#validated' => TRUE,
'#open' => TRUE,
];
$install_details = file_scan_directory($install_dir, "/\\.(yml)\$/");
$ins_options = [];
foreach ($install_details as $config_value) {
$ins_options[$config_value->name] = $config_value->name;
}
if (!empty($ins_options)) {
$form['modules_config'][$module]['configs'] = [
'#type' => 'checkboxes',
'#label' => $config_value->name,
'#title' => t('Select the configurations to be deleted'),
'#options' => $ins_options,
'#validated' => TRUE,
];
}
$optional_details = file_scan_directory($optional_dir, "/\\.(yml)\$/");
$opt_options = [];
foreach ($optional_details as $config_value) {
$opt_options[$config_value->name] = $config_value->name;
}
if (!empty($opt_options)) {
$form['modules_config'][$module]['opt_details'] = [
'#type' => 'details',
'#title' => "Optional Configurations",
'#weight' => 0,
'#validated' => TRUE,
'#open' => TRUE,
];
$form['modules_config'][$module]['opt_details']['opt_configs'] = [
'#type' => 'checkboxes',
'#label' => $config_value->name,
'#options' => $opt_options,
'#validated' => TRUE,
];
}
}
}
$label = 'Delete all the listed configurations except optional';
if (empty($opt_options)) {
$label = 'Delete all the listed configurations';
}
if (!empty($ins_options)) {
foreach (array_keys($form['actions']) as $action) {
if ($action != 'preview' && isset($form['actions'][$action]['#type']) && $form['actions'][$action]['#type'] === 'submit') {
$form['actions'][$action]['#submit'][0] = 'easy_install_form_submit';
}
}
$form['ins_all_configs'] = [
'#type' => 'checkbox',
'#label' => $label,
'#title' => $label,
'#validated' => TRUE,
];
}
if (!empty($opt_options)) {
$form['opt_all_configs'] = [
'#type' => 'checkbox',
'#label' => 'Delete all the listed Optional configurations',
'#title' => 'Delete all the listed Optional configurations',
'#validated' => TRUE,
];
}
}
}