improvements-2.x-dev/improvements.install
improvements.install
<?php
use Drupal\Core\Entity\Entity\EntityFormDisplay;
use Drupal\druhels\ArrayHelper;
use Drupal\paragraphs\Entity\Paragraph;
/**
* Implements hook_install().
*/
function improvements_install(): void {
module_set_weight('improvements', 100);
}
/**
* Set module weight.
*/
function improvements_update_8004(): void {
module_set_weight('improvements', 100);
}
/**
* Install submodules.
*/
function improvements_update_8006(): void {
\Drupal::service('module_installer')->install([
'improvements_admin',
'improvements_comment',
'improvements_contact',
'improvements_form',
'improvements_menu',
'improvements_node',
'improvements_site_information',
'improvements_taxonomy',
'improvements_title',
'improvements_toolbar',
'improvements_views',
]);
}
/**
* Move widgets third party settings to improvements_admin module.
*/
function improvements_update_8007(): void {
$entity_form_displays = EntityFormDisplay::loadMultiple();
foreach ($entity_form_displays as $entity_form_display) {
foreach ($entity_form_display->getComponents() as $component_name => $component_options) {
if (isset($component_options['third_party_settings']['improvements'])) {
$component_options['third_party_settings'] = ArrayHelper::renameKey($component_options['third_party_settings'], 'improvements', 'improvements_admin');
$entity_form_display->setComponent($component_name, $component_options)->save();
}
}
}
}
/**
* Move stored data from improvements module to improvements_paragraphs.
*/
function improvements_update_8008(): void {
$paragraphs = Paragraph::loadMultiple();
foreach ($paragraphs as $paragraph) {
if ($attributes = $paragraph->getBehaviorSetting('paragraph_html_attributes_behavior', 'attributes')) {
$paragraph->setBehaviorSettings('html_attributes', ['value' => $attributes]);
$paragraph->setBehaviorSettings('paragraph_html_attributes_behavior', []);
$paragraph->save();
}
}
}
