42 lines
1.4 KiB
PHP
42 lines
1.4 KiB
PHP
|
|
<?php
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @file
|
||
|
|
* Post update functions for File.
|
||
|
|
*/
|
||
|
|
|
||
|
|
use Drupal\Core\Config\Entity\ConfigEntityUpdater;
|
||
|
|
use Drupal\Core\Entity\Display\EntityViewDisplayInterface;
|
||
|
|
use Drupal\Core\StringTranslation\TranslatableMarkup;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Implements hook_removed_post_updates().
|
||
|
|
*/
|
||
|
|
function file_removed_post_updates(): array {
|
||
|
|
return [
|
||
|
|
'file_post_update_add_txt_if_allows_insecure_extensions' => '10.0.0',
|
||
|
|
'file_post_update_add_permissions_to_roles' => '11.0.0',
|
||
|
|
'file_post_update_add_default_filename_sanitization_configuration' => '11.0.0',
|
||
|
|
];
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Adds a value for the 'playsinline' setting of the 'file_video' formatter.
|
||
|
|
*/
|
||
|
|
function file_post_update_add_playsinline(array &$sandbox = []): ?TranslatableMarkup {
|
||
|
|
/** @var \Drupal\Core\Config\Entity\ConfigEntityUpdater $config_entity_updater */
|
||
|
|
$config_entity_updater = \Drupal::classResolver(ConfigEntityUpdater::class);
|
||
|
|
return $config_entity_updater->update($sandbox, 'entity_view_display', function (EntityViewDisplayInterface $display) {
|
||
|
|
$needs_update = FALSE;
|
||
|
|
$components = $display->getComponents();
|
||
|
|
foreach ($components as $name => $component) {
|
||
|
|
if (isset($component['type']) && $component['type'] === 'file_video') {
|
||
|
|
$needs_update = TRUE;
|
||
|
|
$component['settings']['playsinline'] = FALSE;
|
||
|
|
$display->setComponent($name, $component);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
return $needs_update;
|
||
|
|
});
|
||
|
|
}
|